]> git.sur5r.net Git - minitube/commitdiff
Merge tag 'upstream/2.1.3'
authorJakob Haufe <sur5r@sur5r.net>
Mon, 23 Sep 2013 14:00:24 +0000 (16:00 +0200)
committerJakob Haufe <sur5r@sur5r.net>
Mon, 23 Sep 2013 14:00:24 +0000 (16:00 +0200)
Upstream version 2.1.3

185 files changed:
CHANGES
LICENSE.LGPL [deleted file]
empty.ts
images/badge.png [new file with mode: 0644]
images/badge3.png [new file with mode: 0644]
images/badge4.png [new file with mode: 0644]
images/channels.png [new file with mode: 0644]
images/mark-watched.png [new file with mode: 0644]
images/show-updated.png [new file with mode: 0644]
images/sort.png [new file with mode: 0644]
images/unwatched.png [new file with mode: 0644]
images/worldwide.png
locale/ar.ts
locale/ast.ts [new file with mode: 0644]
locale/bg_BG.ts [new file with mode: 0644]
locale/ca.ts
locale/ca_ES.ts [deleted file]
locale/cs_CZ.ts
locale/da.ts
locale/de_DE.ts
locale/el.ts
locale/es.ts
locale/es_AR.ts
locale/es_ES.ts
locale/fi.ts
locale/fi_FI.ts
locale/fr.ts
locale/gl.ts [new file with mode: 0644]
locale/he_IL.ts
locale/hr.ts [deleted file]
locale/hu.ts
locale/ia.ts
locale/it.ts
locale/ja_JP.ts
locale/jv.ts [deleted file]
locale/ky.ts
locale/locale.pri
locale/ms_MY.ts [new file with mode: 0644]
locale/nb.ts [new file with mode: 0644]
locale/nl.ts
locale/pl.ts
locale/pl_PL.ts
locale/pt_BR.ts
locale/ro.ts
locale/ru.ts
locale/sk.ts
locale/sl.ts
locale/sq.ts [new file with mode: 0644]
locale/sv_SE.ts [new file with mode: 0644]
locale/tr.ts
locale/uk.ts [new file with mode: 0644]
locale/uk_UA.ts [new file with mode: 0644]
locale/zh_CN.ts
locale/zh_TW.ts [new file with mode: 0644]
minitube.pro
resources.qrc
src/Suggester.h
src/aboutview.cpp
src/aboutview.h
src/aggregatevideosource.cpp [new file with mode: 0644]
src/aggregatevideosource.h [new file with mode: 0644]
src/autocomplete.cpp
src/autocomplete.h
src/channelaggregator.cpp [new file with mode: 0644]
src/channelaggregator.h [new file with mode: 0644]
src/channelitemdelegate.cpp [new file with mode: 0644]
src/channelitemdelegate.h [new file with mode: 0644]
src/channelmodel.cpp [new file with mode: 0644]
src/channelmodel.h [new file with mode: 0644]
src/channelsuggest.cpp
src/channelsuggest.h
src/channelview.cpp [new file with mode: 0644]
src/channelview.h [new file with mode: 0644]
src/constants.cpp
src/constants.h
src/database.cpp [new file with mode: 0644]
src/database.h [new file with mode: 0644]
src/diskcache.cpp
src/diskcache.h
src/downloaditem.cpp
src/downloaditem.h
src/downloadlistview.cpp
src/downloadlistview.h
src/downloadmanager.cpp
src/downloadmanager.h
src/downloadmodel.cpp
src/downloadmodel.h
src/downloadsettings.cpp
src/downloadsettings.h
src/downloadview.cpp
src/downloadview.h
src/fontutils.cpp
src/fontutils.h
src/global.h
src/globalshortcutbackend.cpp
src/globalshortcutbackend.h
src/globalshortcuts.cpp
src/globalshortcuts.h
src/gnomeglobalshortcutbackend.cpp
src/gnomeglobalshortcutbackend.h
src/gridwidget.cpp [new file with mode: 0644]
src/gridwidget.h [new file with mode: 0644]
src/homeview.cpp
src/homeview.h
src/jsfunctions.cpp [new file with mode: 0644]
src/jsfunctions.h [new file with mode: 0644]
src/loadingwidget.cpp
src/loadingwidget.h
src/main.cpp
src/mainwindow.cpp
src/mainwindow.h
src/mediaview.cpp
src/mediaview.h
src/networkaccess.cpp
src/networkaccess.h
src/painterutils.cpp [new file with mode: 0644]
src/painterutils.h [new file with mode: 0644]
src/playlistitemdelegate.cpp
src/playlistitemdelegate.h
src/playlistmodel.cpp
src/playlistmodel.h
src/playlistview.cpp
src/playlistview.h
src/refinesearchbutton.cpp
src/refinesearchbutton.h
src/refinesearchwidget.cpp
src/refinesearchwidget.h
src/regionsview.cpp
src/regionsview.h
src/searchparams.cpp
src/searchparams.h
src/searchview.cpp
src/searchview.h
src/seekslider.cpp [new file with mode: 0644]
src/seekslider.h [new file with mode: 0644]
src/segmentedcontrol.cpp
src/segmentedcontrol.h
src/sidebarheader.cpp
src/sidebarheader.h
src/sidebarwidget.cpp
src/sidebarwidget.h
src/spacer.cpp
src/spacer.h
src/standardfeedsview.cpp
src/standardfeedsview.h
src/suggester.h
src/temporary.cpp
src/temporary.h
src/updatechecker.cpp
src/updatechecker.h
src/urllineedit.h
src/userview.cpp [deleted file]
src/userview.h [deleted file]
src/utils.cpp
src/utils.h
src/video.cpp
src/video.h
src/videoareawidget.cpp
src/videoareawidget.h
src/videodefinition.cpp
src/videodefinition.h
src/videomimedata.cpp
src/videomimedata.h
src/videosource.cpp
src/videosource.h
src/videosourcewidget.cpp
src/videosourcewidget.h
src/view.h
src/ytcategories.cpp
src/ytcategories.h
src/ytfeedreader.cpp
src/ytfeedreader.h
src/ytregions.cpp
src/ytregions.h
src/ytsearch.cpp
src/ytsearch.h
src/ytsinglevideosource.cpp
src/ytsinglevideosource.h
src/ytstandardfeed.cpp
src/ytstandardfeed.h
src/ytsuggester.cpp
src/ytsuggester.h
src/ytuser.cpp [new file with mode: 0644]
src/ytuser.h [new file with mode: 0644]
style.css

diff --git a/CHANGES b/CHANGES
index a3127f831939d65ccc1f12d8d1d0016df7bdd2e9..8d9e12856dc99e130f2daaf7501504755e40de2b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,16 +1,43 @@
-2.0 - January ?? 2013
+2.1.2
+- Downloads only enabled on Creative Commons licensed videos
+- Fixed playback of some videos
+
+2.1.1
+- Fixed VEVO videos playback
+- Fixed Ubuntu skin not being used
+
+2.1
+- Channel subscriptions
+- Move window by dragging from inside the video area
+- Faster startup
+- Optimizations and tweaks to the playlist
+- Float on top icon was missing on Mac & Windows
+- Compact mode window fixed aspect ratio on Mac
+- Ubuntu notifications
+- Fixed skipping to the next video
+- Fixed compact mode video cropped with very small window
+- Fixed long words or URLs in the video description causing a window resize
+- Fixed crash when resizing the playlist to a very small width
+
+2.0 - February 1 2013
 - YouTube categories and "standard feeds": "Most Popular", "Featured", etc
 - Country selection for YouTube categories and feeds
 - Autoupdate on Mac and Windows
-- Related videos are now appended to the video when pasting a YouTube link
+- Related videos
+- Related videos are now appended when pasting a YouTube link
+- Bigger and nicer 16:9 thumbnails
 - "Show 10 More" with a single click
 - Play video in the playlist with a single click on its thumbnail
-- OS X Mountain Lion notifications on video start
+- Disk cache for video thumbnails
+- OS X Notification Center notifications on video start
+- Ubuntu Ambiance theme integration
 - Fixed some YouTube links not working when pasted in the searchbox
 - Fixed playlist drag'n'drop
 - Fixed system language settings detection
 - Fixed clicking on channel names not working in some cases
 - Fixed incorrect number of downloads in status bar
+- Fixed looping video with Phonon VLC backend on Linux
+- New and updated translations
 
 1.9 - September 27, 2012
 - Adapted to YouTube changes
diff --git a/LICENSE.LGPL b/LICENSE.LGPL
deleted file mode 100644 (file)
index 5ab7695..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-                 GNU LESSER GENERAL PUBLIC LICENSE
-                      Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 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.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-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 and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-\f
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-\f
-                 GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, 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 library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete 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 distribute a copy of this License along with the
-Library.
-
-  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.
-\f
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, 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) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-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 Library, 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 Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-\f
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you 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.
-
-  If distribution of 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 satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be 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.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library 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.
-
-  9. 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 Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-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 with
-this License.
-\f
-  11. 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 Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library 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 Library.
-
-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.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library 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.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser 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 Library
-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 Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-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
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "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
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. 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 LIBRARY 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
-LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  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 library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; 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.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
index fba82a12aeb2a304e5b32a8c41f5a2eb67e73bf7..8d4ee7aa186e78ea8365cb4928a2731aadd51565 100644 (file)
--- a/empty.ts
+++ b/empty.ts
@@ -5,72 +5,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation type="unfinished"></translation>
     </message>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in &apos;2 of 3&apos;</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in &apos;Cool video - part 1&apos;</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in &apos;Cool series - episode 1&apos;</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/images/badge.png b/images/badge.png
new file mode 100644 (file)
index 0000000..82f633a
Binary files /dev/null and b/images/badge.png differ
diff --git a/images/badge3.png b/images/badge3.png
new file mode 100644 (file)
index 0000000..8aa475b
Binary files /dev/null and b/images/badge3.png differ
diff --git a/images/badge4.png b/images/badge4.png
new file mode 100644 (file)
index 0000000..0515ec2
Binary files /dev/null and b/images/badge4.png differ
diff --git a/images/channels.png b/images/channels.png
new file mode 100644 (file)
index 0000000..109043d
Binary files /dev/null and b/images/channels.png differ
diff --git a/images/mark-watched.png b/images/mark-watched.png
new file mode 100644 (file)
index 0000000..961d149
Binary files /dev/null and b/images/mark-watched.png differ
diff --git a/images/show-updated.png b/images/show-updated.png
new file mode 100644 (file)
index 0000000..732c556
Binary files /dev/null and b/images/show-updated.png differ
diff --git a/images/sort.png b/images/sort.png
new file mode 100644 (file)
index 0000000..95fcb55
Binary files /dev/null and b/images/sort.png differ
diff --git a/images/unwatched.png b/images/unwatched.png
new file mode 100644 (file)
index 0000000..63da996
Binary files /dev/null and b/images/unwatched.png differ
index fb5f48bd5ce4ae0cac31e39d45a537a098d57e69..d676740ad2d812d033646451e9e12ed09e8a8d34 100644 (file)
Binary files a/images/worldwide.png and b/images/worldwide.png differ
index ab70e18a05032d380fcb4e1d8ff9e33e8599a6e8..512eba26515c5b527732b6bb43af84f3c3c801b9 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>هناك حياة خارج المتصفح!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>النسخة %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>مرخّص لـ: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 هو برنامج مجاني و لكن برمجته تستهلك وقتا ثمينا.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>‎الرجاء &lt;a href=&apos;%1&apos;&gt;التبرع&lt;/a&gt; لمتابعة تطوير  %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>قد ترغب في تجريب برامجي الأخرى أيضا</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1، قارئ موسيقى على اليوتيوب</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1، قارئ موسيقى</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>ترجم %1 إلى لغتك الأم بإستعمال %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>صمم الايقونة %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>نشر هذا البرنامج تحت رخصة  &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;اقفل</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>عن البرنامج</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>ما اردت معرفته عن %1 و لم تستطع ان تسأل</translation>
     </message>
@@ -88,7 +88,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>الرقم ال&amp;خاصّ:</translation>
     </message>
 </context>
 <context>
         <translation>قم بشراء رخصة</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>جميع الفيديوهات</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>فيديوهات لم تتم مشاهدتها</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>الأكثر مشاهدة</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>ترتيب بـ</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>جميع الفيديوهات</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>فيديوهات لم تتم مشاهدتها</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>لا يوجد لديك اشتراكات. استخدم رمز النجمة للإشتراك في القنوات.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>seconds</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 متبقي</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>يمكن تحميل الفيديو في أقل من %1  دقيقة بحيث يمكنك اختبار وظيفة التحميل.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>متابعة</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>احصل على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 حمل في %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>انتهي التحميل</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>تغيير الموقع...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>اختر موقع التحميل</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>موقع التحميل تغير.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>التحميل سيتم في الموقع السابق.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>التحميل الى:%1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>التحميلات</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>تشغيل</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Play/Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>أوقف</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>ايقاف تشغيل المقطع الحالي</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>المقطع التالي</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>المقطع السابق</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>رفع الصوت</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>خفض الصوت</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>صامت</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>امام</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>خلف</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>بحث</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>جِد مقاطع فيديو وقنواتٍ بحسب الكلمة الرئيسة</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>أستعراض</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>تصفح الفيديوهات حسب الفئة</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>الإشتراكات</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>اجعل نفسك مرتاحا</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>خطأ</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;قف</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>وقف التشغيل و العودة لوضع البحث</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;القفز</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>القفز للفيديو التالي</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;ايقاف مؤقت</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>ايقاف التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;شاشة كاملة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>تشغيل شاشة كاملة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>اخفاء القائمة و شريط المهام</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>اذهب الى صفحة فيديو YouTube و وقف التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>نسخ رابط YouTube الى clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>نسخ رابط الفيديو الى clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>اوجد أجزاء الفيديو الأخرى املا أن تكون في الترتيب الصحيح</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;إزالة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>إزالة الفيديو من القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>الرفع الى &amp;اعلى</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>رفع المقاطع المختارة الى فوق في القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>الانزال الى &amp;تحت</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>انزال المقاطع المختارة الى تحت في القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>مسح تاريخ البحث. لا يمكن استعادته.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;الانتهاء</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>مع السلامة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;الموقع</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 على الشبكة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>‎الرجاء التبرع لمتابعة تطوير  %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;عن البرنامج</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>معلومات عن %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>البحث</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>كتم الصوت</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;التحميلات</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>عرض تفاصيل عن تحميلات الفيديو</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;التحميلات</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>تحميل الفيديو الحالي</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Subscribe to Channel</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>شارك الفيديو الحالي باستخدام %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;البريد الإلكتروني</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>البريد الإلكتروني</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;اقفل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;اطفو علي القمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;أوقف العرض التلقائي بعد الفيديو الحالي </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;أبلغ عن مشكلة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;خيارات البحث...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>المزيد...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>مقاطع ذات &amp;صلة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>شاهد مقاطع فيديو ذات صلة بهذا</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;البرنامج</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>اشتري %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;قراءة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;الفيديو</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;مشاهدة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;شارك</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;المساعدة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>اضغط %1 لرفع الصوت و %2 لخفضه</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>جاري فتح %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>هل تريد الخروج %1  رغم وجود تحميل?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>عند اغلاق %1 التحميل سيلغى.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>الاغلاق و الغاء التحميل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>انتظار انتهاء التحميل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>غادر &amp;الشاشة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 الإصدار %2 متوفر الآن.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>ذكرني لاحقا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>تحديث</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>خطأ: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>ال&amp;سابق</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>العودة إلى المجاز السابق</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;الواجهة الخفيفة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>أفتح صفحة الفيديو على &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>انسخ رابط الفيديو &amp;Link</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>انسخ الفيديو وعنوانه</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>أبحث عن &amp;أجزاء الفيديو الأُخرى</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;مسح تاريخ البحث </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>القيام بتبرع</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;تشغيل الفيديوهات يدويا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>بدء تشغيل الفيديو يدويا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>اختر موقع محتوياتك</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>اكمال التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>الوقت المتبقي: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>%1%الصوت عند </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>الصوت مكتوم</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>الصوت غير مكتوم</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>الوضوح الاقصى %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>خصوصيتك امنة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>التحميل انتهى</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>يمكنك لصق رابط YouTube في برنامج اخر</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>يمكنك لصق رابط الفيديو في برنامج اخر</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>الرابط سيكون صالحا لمدة محدودة.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>انها تتيح لك تجربة البرنامج.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>متابعة</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>من</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>جزء</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>حلقة</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>أرسلت من %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>اشترك في %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>احصل على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>جاري تحميل %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>يتوقّر إصدار جديد من %1!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>1% %2 متوفر الآن. لديك 3%.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>أتريد تنزيله الآن؟</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>تجاوز هذا الإصدار</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 مشاهدة</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>1% من 2% (3%) — 4%</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>تهيئة</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>فشل</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>تم</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>متوقف</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>ايقاف التحميل</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>اظهار في %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>فتح المجلد الرئيسي</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>اعادة التحميل</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>جاري البحث...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>اظهر %1 المزيد</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>لا توجد فيديوهات</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>لا يوجد المزيد من الفيديوهات</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>ترتيب بـ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>ذات صلة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>التاريخ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>عدد المشاهدات</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>التقييم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>اي وقت</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>اليوم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 أيام</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 يوم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>المدة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>الكل</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>قصير</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>متوسط</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>طويل</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>أقل من 4 دقائق</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>ما بين 4 ال 20 دقيقة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>أطول من 20 دقيقة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>الجودة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>دقة عالية</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720 أو أعلي</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>إنتهي</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>تمّ</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>مرحبا بك في &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>الحصول على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>أدخل</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation> كلمة مفتاح</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>قناة</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>لبدء مشاهدة أشرطة الفيديو</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>شاهد</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>كلمات بحث سابقة</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>القنوات الأخيرة</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;عودة</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>تقدّم إلى %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>عُد إلى %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>خيارات البحث</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>هل تقصد: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>الأكثر شهرة</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>الأكثر مشاركة</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>الأكثر نقاشًا</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>الأعلى تقييما</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>لا يمكن الحصول على دفق الفيديو %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>خطأ شبكة:%1 الى %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>الجزائر</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>الأرجنتين</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>أستراليا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>بلجيكا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>البرازيل</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>كندا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>تشيلي</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>كولومبيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>جمهورية التشيك</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>مصر</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>فرنسا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>ألمانيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>غانا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>اليونان</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>هونغ كونغ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>هنغاريا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>الهند</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>إندونيسيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>إيرلندا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>إيطاليا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>اليابان</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>الأردن</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>كينيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>ماليزيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>المكسيك</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>المغرب</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>هولندا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>نيوزيلندا </translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>نيجيريا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>بيرو</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>الفلبين</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>بولندا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>روسيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>المملكة العربية السعودية</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>سنغافورة</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>جنوب أفريقيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>كوريا الجنوبية</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>إسبانيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>السويد</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>تايوان</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>تونس</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>تركيا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>أوغندا</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>الإمارات العربية المتحدة</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>المملكة المتحدة</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>اليمن</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>العالم</translation>
     </message>
diff --git a/locale/ast.ts b/locale/ast.ts
new file mode 100644 (file)
index 0000000..41432e7
--- /dev/null
@@ -0,0 +1,1595 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ast" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>¡Hai vida más allá del restolador!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Versión %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Llicencia pa: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 ye Software Llibre pero lleva un tiempu valoratible desendolcalu.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Por favor &lt;a href=&apos;%1&apos;&gt;fai una donación&lt;/a&gt; pa sofitar el desendolcu continuu de %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Seique quieras probar tamién les mios otres aplicaciones:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, un reproductor de música de YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, un reproductor de música</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Traduz %1 a la to llingua nativa usando %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Iconu diseñáu por %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Lliberáu baxo la &lt;a href=&apos;%1&apos;&gt;Llicencia Pública Xeneral GNU&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Zarrar</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Tocante a</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Lo que siempres quixisti saber sobre %1 y nun t&apos;atrevíes a entrugar</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Introduz los detalles de la llicencia</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>Cor&amp;réu-e:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Códigu:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Obtén una llicencia de %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Esta demo caducó</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>La versión completa déxate descargar vídeos con duración mayor a %1 minutos y ver videos ensin interrupciones.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Ensin una llicencia, l&apos;aplicación va caducar en %1 díes.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>Al mercar la versión completa, tamién sofites el trabayu fechu na creación de %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Usar demostración</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Introducir llicencia</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Mercar llicencia</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Llimpiar</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>bytes</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>bytes/seg</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB/seg</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>KB/seg</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>segundos</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>minutos</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 restantes</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Esto ye namái la versión demo de %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>Namái pues descargar vídeos de duración menor que %1 minutos pa que puedas probar la función de descarga.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Siguir</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Consigui la versión completa</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 descargáu en %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Descarga finada</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargues</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Camudar llocalización...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Escueyi la llocalización de les descargues</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Ubicación pa descargues modificada.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Les descargues en cursu van dir a la llocalización anterior.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Descargando a: %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Descargues</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Descargando anovamientu...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Reproducir</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Posar</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Reproducir/Posar</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Parar</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Dexar de reproducir tres la pista actual</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Pista siguiente</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Pista anterior</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Xubir volume</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Baxar volume</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Callar</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Guetar p&apos;alantre</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Guetar p&apos;atrás</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Guetar</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Atopar vídeos y canales por pallabres clave</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Restolar</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Guetar vídeos por categoría</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Ponte cómodu</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Fallu</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Parar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Detener la reproducción y volver a la gueta</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>&amp;Saltar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Omitir videu y saltar al siguiente</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Posar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Posar reproducción</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Pantalla completa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Pasar a pantalla completa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Anubrir la llista de reproducción y la barra de ferramientes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Dir a la páxina del videu en YouTube y posar la reproducción</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Copiar l&apos;enllaz a YouTube del videu actual nel cartafueyu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Copiar la URL actual del fluxu del videu al cartafueyu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Alcontrar otres partes de vídeos, con suerte nel orde correutu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>Desanicia&amp;r</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Quitar los vídeos seleicionaos de la llista de reproducción</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>X&amp;ubir</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Mover hacia arriba na llista de reproducción los vídeos seleicionaos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>&amp;Baxar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Mover hacia abaxo na llista de reproducción los vídeos seleicionaos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Llimpiar l&apos;historial de guetes. Nun pue desfacese.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>Co&amp;lar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Alón</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>Páxina &amp;web</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 na web</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Por favor, sofita&apos;l desendolcu continuu de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>Tocante &amp;a</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Información tocante a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Guetar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Silenciar volume</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Descargues</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Amosar detalles sobre les descargues de vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>&amp;Descargar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Descargar el videu actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Compartir el videu actual usando %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>Cor&amp;réu-e:</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Corréu-e</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Zarrar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Flotar na parte superior</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Detener tres d&apos;esti videu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>&amp;Informar de un problema...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>&amp;Refinar la gueta...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Más...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>Vídeos &amp;rellacionaos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Ver vídeos rellacionaos col actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Aplicación</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Mercar %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>Re&amp;producción</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Llista de reprod.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Videu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Ver</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Compartir</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>A&amp;yuda</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Calca %1 pa xubir el volume, %2 pa baxalu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Abriendo %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>¿Quies salir de %1 con una descarga en cursu?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Si zarres %1 agora, esta descarga va encaboxase.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Zarrar y encaboxar descarga</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Esperar a que fine la descarga</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Salir de pan&amp;talla completa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 versión %2 yá ta disponible.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Avisame más sero</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Anovar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Fallu: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>A&amp;nterior</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Tornar a la pista anterior</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>M&amp;ou compautu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Abrir la páxina de &amp;YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Copiar l&apos;en&amp;llaz de YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Copiar la &amp;URL de fluxu del videu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Alcontrar &amp;partes de vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>&amp;Llimpiar guetes recientes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Facer una &amp;donación</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Comenzar la reproducción &amp;manualmente</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Comenzar la reproducción de vídeos manualmente</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Escueyi la llocalización pal conteníu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>Re&amp;producir</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Continuar la reproducción</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Tiempu faltante: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Volume al %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Volume silenciáu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Volume activu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Resolución máxima de videu afitada en %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>La to privacidá agora ta asegurada</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Descargues completes</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Agora pues apegar la URL del fluxu de videu n&apos;otra aplicación</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>L&apos;enllaz ye válidu namái por un tiempu llimitáu.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Esto ye namái la versión de prueba de %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Esto ye namái la versión demo de %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Déxate probar l&apos;aplicación y ver si te funciona.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Siguir</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>de</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>parte</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>episodiu</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Unviáu dende %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Consigui la versión completa</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Descargando %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Hai disponible una versión nueva de %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 ta disponible agora. Tienes %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>¿Quies descargala agora?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Omitir esta versión</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Avisame más sero</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Instalar anovamientu</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Apegar</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 reproducciones</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 de %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Preparando</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Falló</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Completáu</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Paráu</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Detener la descarga</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Amosar en %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Abrir carpeta contenedora</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Reaniciar la descarga</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Guetando...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Amosar %1 más</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Nun hai vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Nun hai más vídeos</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Ordenar por</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Relevancia</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Data</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Númberu de visites</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Valoración</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>Cualquier momentu</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Güei</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 díes</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 díes</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Duración</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Too</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Curtiu</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Mediu</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Llargu</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Menos de 4 minutos</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Ente 4 y 20 minutos</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Mayor de 20 minutos</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Calidá</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Alta definición</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p o mayor</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Fecho</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Fecho</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Guetar</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Bienveníu a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Consigui la versión completa</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Escribi</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>una pallabra clave</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>una canal</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>pa entamar a ver vídeos.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>ver</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Pallabres clave recientes</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Canales recientes</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Atrás</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Dir a %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Regresar a %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>&amp;Refinar la gueta...</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Quixisti dicir: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Más populares</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Más compartíos</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Más discutíos</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Meyor valoraos</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Nun pue obtenese&apos;l fluxu de videu pa %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Fallu de rede: %1 por %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Algeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>L&apos;Arxentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Bélxica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>El Brasil</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>El Canadá</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>República Checa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>L&apos;Exiptu</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Francia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Alemaña</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Grecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Ḥong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Hungría</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Irlanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Italia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Xapón</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Xordania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Kenia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Malasia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Méxicu</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Marruecos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Los Países Baxos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>Nueva Zelanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Nixeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Perú</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Filipines</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Polonia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Rusia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudita</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>Sudáfrica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Corea del Sur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>España</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Suecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Taiwán</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Tunicia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Turquía</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>Emiratos Árabes Xuníos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Reinu Xuníu</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Yemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Tol mundu</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
diff --git a/locale/bg_BG.ts b/locale/bg_BG.ts
new file mode 100644 (file)
index 0000000..92b2e4a
--- /dev/null
@@ -0,0 +1,1595 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="bg_BG" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Има живот и извън браузера!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Версия %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Лицензирано от: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 е безплатен софтуер, но разработването му отнема безценно време.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Моля &lt;a href=&apos;%1&apos;&gt;дарете&lt;/a&gt; за да подкрепите бъдещите разработки, на %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Иконите са изработени от %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Издадено е под &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Затваряне</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Относно</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Какво винаги сте искали да знаете за %1 , но никога не сте посмявали да попитате</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Електронна поща</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Код:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Моля, закупете лиценз %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Ползвай демо версия</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Закупи лиценз</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Маркирай всички видео клипове като гледани</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Покажи обновени</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Име</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Последно обновени</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Последно добавени</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Последно гледани</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Най-гледани</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Сортиране по</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Всички видео клипове</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Негледани видео клипове</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Няма обновени абонаменти</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Нямате абонаменти. Изполвай звезда за абониране към канали</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Изчисти</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>байта</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>КБ</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>МБ</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>байта/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>КБ/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>МБ/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>секунди</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>минути</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>остават %4 %5</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Това е демо верция на %1</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Продължи</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Пълна версия</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 изтеглено за %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Теглене привършено</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>изтегляне в: %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Изтегляния</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Възпроизвеждане</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Пауза</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Възпроизвеждане/Пауза</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Спри</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Спри след сегашната песен</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Следваща песен</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Предишна песен</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Повиши звука</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Понижи звука</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Заглуши</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Превъртане напред</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Превъртане назад</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Търси</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Търсене на видео клипове и канали с ключови думи</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Абонаменти</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Абонаменти за канали</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Отпуснете се</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Грешка</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Спри</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Спри изпълнението и се върни в търсачката</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>П&amp;ропусни</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Следващо видео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Пауза</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Пауза на възпроизвеждането</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Цял екран</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Отвори в цял екран</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Скрии прейлистата и туулбара</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Отиди в YouTube видео страницата и сложи на пауза</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Постави връзка към видеото в YouTube в клипборда</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Копирай URL на гледаното видео в клипборда</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Премахни</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Премахни избраните виде от плейлистата</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>Премести &amp;нагоре</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Премести избраните видеа в плейлиста</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Премести &amp;надолу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Премести надолу в плейлиста избраните видеа</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Изчисти историята на търсене. Не е обратимо.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Изход</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Чао</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Уебсайт</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 в мрежата</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Моля подкрепете, бъдещите разработки на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>&amp;Относно</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Информация за %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Търси</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Заглуши звука</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Изтегляния</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Сподели сегашният видео клип с %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Електронна поща</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Електронна поща</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Затваряне</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Залепи най отгоре</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Спри след този видео клип</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Повече...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Апликация</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Закупи %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Възпроизвеждане</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Плейлиста</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Видео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Виж</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Сподели</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Помощ</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Натисни %1 за да увеличите звука, %2 да го намалите</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Отваряне %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Изчакайте тегленето да привърши</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Изход от &amp;Цял екран</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 версия %2 е достъпна.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Напомни ми по късно</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Обнови</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Грешка: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>П&amp;редишно</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Върни се на предишната песен</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>&amp;Компактен режим</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Отвори в &amp;YouTube страницата</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Копирай YouTube &amp;връзката</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Копирай &amp;URL на видео излъчването</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Направи &amp;дарение</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>&amp;Ръчно стартиране</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Ръчно възпроизвеждане на видео клипове</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Избери местонахождение</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Възпроизвеждане</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Възстанови възпроизвеждането</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Оставащо време: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Звук на %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Звука е заглушен</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Звука е отглушен</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Максимално качество на видеото зададено на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Вашата интимност вече е обезопасена</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Вече можете да вмъкнете YouTube линка в друго приложение</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Вече можете да вмъкнете URL адреса на излъчването в друго приложение</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Линка ще е валиден само за определено време.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Това е демо верция на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Продължи</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>от</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>част</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>епизод</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Изпратено от %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Пълна версия</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>изтеглане %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Достъпна е нова версия на %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 е достъпна сега. Вие имате %$3</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Напомни ми по-късно</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Обновете</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 гледания</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 от %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Приготвяне</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Неуспешно</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Завършен</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Спряно</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Спри изтеглянето</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Покажи в %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Рестартирай изтеглянето</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Търся...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Покажи %1 повече</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Няма видео клипове</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Няма повече видео клипове</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Сортиране по</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Дата</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Виж бройка</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Класация</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Днес</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 Дни</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 Дни</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Времетраене</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Всички</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Къс</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Среден</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Дълъг</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>По къс от 4 минути</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Между 4 у 20 минути</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>По голям от 20 минути</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Качество</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Високо качество</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p или по голямо</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Търси</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Добре дошли в &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Пълна версия</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Напишете</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>ключова дума</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>канал</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>за гледане на видео клипове</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Гледай</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Скорошни ключови думи</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Скорошни канали</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Назад</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Напред до %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Назад до %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Да не имахте в предвид: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Най-популярни</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Най-споделяни</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Най-обсъждани</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Най-много гласове</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Най-популярни</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Мрежова грешка: %1 за %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Алжир</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Аржентина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Австралия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Белгия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Бразилия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Канада</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Чили</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Колумбия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>Чехия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Египет</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Франция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Германия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Гана</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Гърция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Хонг Конг</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Унгария</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>Индия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Индонезия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Ирландия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Израел</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Италия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Япония</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Йордания</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Кения</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Малайзия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Мексико</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Мароко</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Холандия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>Нова Зеландия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Нигерия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Перу</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Филипините</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Полша</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Русия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Саудитска Арабия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Сингапур</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>ЮАР</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Южна Корея</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Испания</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Швеция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Тайван</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Туниз</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Турция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Уганда</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>ОАЕ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Великобритания</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Йемен</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>На световно ниво</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index daadf4be28b21ed6d44c5c86f96532240b39696d..f91f7ef10b6606adfd7d76c515eee8c916781468 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Hi ha vida fora del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versió %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Llicenciat a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 és programari lliure, però el seu desenvolupament pren un temps preciós.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Siusplau &lt;a href=&apos;%1&apos;&gt;dóna&lt;/a&gt; per ajudar al desenvolupament continuat del %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>És possible que també vulgueu provar altres aplicacions meves:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduïu el %1 al vostre idioma natal utilitzant %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Icona dissenyada per %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Alliberat sota la &lt;a href=&apos;%1&apos;&gt;Llicència Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Quant a</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>El que sempre havíeu volgut saber sobre el %1 i mai us havíeu atrevit a preguntar</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Entra els detalls de la teva llicència</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Email:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Codi:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Sense llicència, l&apos;aplicació caducarà en %1 dies</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Entra la lliçència </translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
+        <translation>Comprar llicència</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ordena per</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>segons</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minuts</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restant</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aquesta només és la versió de demostració del %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Només pot baixar vídeos de menys de %1 minuts per tal que en pugui provar aquesta funció.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descarregat en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Descàrrega completada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Canvia la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Escull la ubicació de les baixades</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Ubicació de baixades canviada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Les baixades actuals encara aniran a la ubicació prèvia.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Baixant a: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Baixades</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Descarregant actualitzacions...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Reprodueix</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Posa en pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Reprodueix/posa en pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Atura</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Atura en acabar la peça actual</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Peça següent</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Peça prèvia</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Augmenta el volum</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Disminuex el volum</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Silencia</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Cerca endavant</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Cerca enrere</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Atura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Atura la reproducció i torna a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Salta al vídeo següent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Passa a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Amaga la llista de reproducció i la barra d&apos;eines</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ves a la pàgina del vídeo del YouTube i pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copia l&apos;enllaç del vídeo actual del YouTube al porta-retalls</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copia el URL del flux de vídeo actual al porta-retalls</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Troba altres parts del vídeo, amb sort en l&apos;ordre correcte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Elimina els vídeos seleccionats de la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Mou &amp;amunt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mou amunt els vídeos seleccionats en la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Mou a&amp;vall</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mou avall els vídeos seleccionats en la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Neteja l&apos;historial de búsquedes. No es pot desfer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Surt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Adéu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Pàgina &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 a la xarxa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Siusplau ajuda al desenvolupament continuat del %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Quant a</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Info sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Silencia el volum</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Baixades</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Mostra detalls de les descàrregues de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Baixa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Baixa el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Comparteix el vídeo actual fent servir %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Correu electrònic</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>Manté a &amp;sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Atura després d&apos;aquest vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informa d&apos;un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Afina la Cerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicació</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Vista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>A&amp;juda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Premeu %1 per pujar el volum, %2 per baixar-lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Obrint %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vol abandonar el %1 amb una baixada en curs?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si tanca el %1 ara, aquesta baixada es cancel·larà.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Tanca i cancel·la la baixada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Espera a acabar la baixada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Abandona la Pantalla &amp;Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versió %2 ja està disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Recorda-m&apos;ho més tard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Actualitza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Torna a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compacte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Obre la pàgina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia l&apos;&amp;enllaç de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copia el &amp;URL del flux de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Troba &amp;parts de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Neteja les búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Fer una &amp;donació</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Reprodueix vídeos &amp;manualment</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Comença a reproduir vídeos manualment</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Reprodueix</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Continua la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volum al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>El volum està silenciat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>El volum no està silenciat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolució màxima de vídeo fixada a %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>La vostra privacitat ara és segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Baixades completes</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ja podeu enganxar l&apos;enllaç de YouTube en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ja pot enganxar el URL del flux de vídeo en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>L&apos;enllaç només serà vàlid durant un temps limitat.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aquesta només és la versió de demostració del %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Us permet probar l&apos;aplicació i veure si us va bé.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>part</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Enviat des de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Baixant %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Una nova versió de %1 està disponible</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 estan disponibles. Tu tens %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>T&apos;agradaria descarregar-ho ara?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>Omet aquesta versió</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>Recorda-m&apos;ho després</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Instal·la Actualització</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Enganxar</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 visualitzacions</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Buscant...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Cap vídeo</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Cap més vídeo</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Rellevància</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Nombre de vistes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Qualificació</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Qualsevol data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Avui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duració</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Tot</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Curt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Mig</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Llarg</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Menys de 4 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 i 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Més de 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Qualitat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Alta Definició</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p o major</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Fet</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvinguts al &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introdueix</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>una paraula</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>per comencar a veure vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Veure</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canals recents</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Enrere</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Afina la Cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Volieu dir: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>No es pot obtenir flux de vídeo per %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de xarxa: %1 per %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation type="unfinished"/>
     </message>
diff --git a/locale/ca_ES.ts b/locale/ca_ES.ts
deleted file mode 100644 (file)
index 9ab70c1..0000000
+++ /dev/null
@@ -1,1476 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ca_ES" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/aboutview.cpp" line="32"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>Hi ha vida fora del navegador!</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="33"/>
-        <source>Version %1</source>
-        <translation>Versió %1</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="38"/>
-        <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="42"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 és Software Lliure però el seu desenvolupament pren un temps molt valuós.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="43"/>
-        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Si us plau &lt;a href=&apos;%1&apos;&gt;doneu&lt;/a&gt; per ajudar al desenvolupament continuat del %2.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="47"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>Potser també voldreu provar les meves altres aplicacions:</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="50"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, un reproductor de música del YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="54"/>
-        <source>%1, a music player</source>
-        <translation>%1, un reproductor de música</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="60"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation>Traduïu el %1 al vostre idioma natal a través de %2</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="65"/>
-        <source>Icon designed by %1.</source>
-        <translation>Icona dissenyada per %1.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="69"/>
-        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation>Llançat sota la &lt;a href=&apos;%1&apos;&gt;Llicència Pública General de GNU&lt;/a&gt;</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="84"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Tanca</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.h" line="17"/>
-        <source>About</source>
-        <translation>Quant a</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.h" line="19"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>El que sempre havíeu volgut saber sobre el %1 i mai us havíeu atrevit a preguntar</translation>
-    </message>
-</context>
-<context>
-    <name>ActivationDialog</name>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="17"/>
-        <source>Enter your License Details</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="29"/>
-        <source>&amp;Email:</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="35"/>
-        <source>&amp;Code:</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>ActivationView</name>
-    <message>
-        <location filename="local/src/activationview.cpp" line="47"/>
-        <source>Please license %1</source>
-        <translation>Si us plau, llicencia el %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="51"/>
-        <source>This demo has expired.</source>
-        <translation>Aquesta demo ha expirat.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="53"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="55"/>
-        <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="57"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Comprant la versió completa, també donareu suport al dur treball que he posat en la creació del %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="70"/>
-        <source>Use Demo</source>
-        <translation>Utilitza la demo</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="77"/>
-        <source>Enter License</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="85"/>
-        <source>Buy License</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Neteja</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
-        <source>bytes</source>
-        <translation>bytes</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
-        <source>bytes/sec</source>
-        <translation>bytes/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
-        <source>KB/sec</source>
-        <translation>KB/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
-        <source>MB/sec</source>
-        <translation>MB/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
-        <source>seconds</source>
-        <translation>segons</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
-        <source>minutes</source>
-        <translation>minuts</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 restant</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Aquesta només és la versió de demostració del %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Només pot baixar vídeos de menys de %1 minuts per tal que en pugui provar aquesta funció.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
-        <source>Continue</source>
-        <translation>Continua</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
-        <source>Get the full version</source>
-        <translation>Aconseguiu la versió completa</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
-        <source>%1 downloaded in %2</source>
-        <translation>%1 descarregat en %2</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
-        <source>Download finished</source>
-        <translation>Descàrrega finalitzada</translation>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Baixada</numerusform><numerusform>%n Baixades</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
-        <source>Change location...</source>
-        <translation>Canvieu la ubicació...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
-        <source>Choose the download location</source>
-        <translation>Esculliu la ubicació de les baixades</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
-        <source>Download location changed.</source>
-        <translation>Ubicació de baixades canviada.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>Les baixades actuals encara aniran a la ubicació prèvia.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
-        <source>Downloading to: %1</source>
-        <translation>S&apos;està baixant a: %1</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadView</name>
-    <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
-        <source>Downloads</source>
-        <translation>Baixades</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadWidget</name>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="60"/>
-        <source>Downloading update...</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Reprodueix</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Reprodueix/Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Atura</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Atura en acabar la peça actual</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Peça següent</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Peça prèvia</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Augmenta el volum</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Disminuex el volum</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Silenci</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Cerca endavant</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Cerca enrere</translation>
-    </message>
-</context>
-<context>
-    <name>HomeView</name>
-    <message>
-        <location filename="src/homeview.cpp" line="33"/>
-        <source>Search</source>
-        <translation>Busca</translation>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="35"/>
-        <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="40"/>
-        <source>Browse</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="42"/>
-        <source>Browse videos by category</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.h" line="22"/>
-        <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Error</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Atura</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Atura la reproducció i torna a la vista de búsqueda</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
-        <source>S&amp;kip</source>
-        <translation>&amp;Salta</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
-        <source>Skip to the next video</source>
-        <translation>Salta al vídeo següent</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
-        <source>Pause playback</source>
-        <translation>Pausa la reproducció</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
-        <source>&amp;Full Screen</source>
-        <translation>Pantalla &amp;completa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
-        <source>Go full screen</source>
-        <translation>Passa a pantalla completa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Amaga la llista de reproducció i la barra d&apos;eines</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>Ves a la pàgina del vídeo del YouTube i pausa la reproducció</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Copia l&apos;enllaç del vídeo actual del YouTube al porta-retalls</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Copia el URL del flux de vídeo actual al porta-retalls</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation>Troba altres parts del vídeo, amb sort en l&apos;ordre correcte</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Elimina</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Elimina els vídeos seleccionats de la llista de reproducció</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
-        <source>Move &amp;Up</source>
-        <translation>Mou &amp;amunt</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>Mou amunt en la llista de reproducció els vídeos seleccionats</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
-        <source>Move &amp;Down</source>
-        <translation>Mou a&amp;vall</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Mou avall en la llista de reproducció els vídeos seleccionats</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>Neteja l&apos;historial de cerques. No es pot desfer.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Surt</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
-        <source>Bye</source>
-        <translation>Adéu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
-        <source>&amp;Website</source>
-        <translation>Pàgina &amp;web</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
-        <source>%1 on the Web</source>
-        <translation>%1 en la web</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
-        <source>Please support the continued development of %1</source>
-        <translation>Si us plau recolzeu el desenvolupament continuat del %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
-        <source>&amp;About</source>
-        <translation>&amp;Quant a</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
-        <source>Info about %1</source>
-        <translation>Informació sobre el %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
-        <source>Search</source>
-        <translation>Cerca</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
-        <source>Mute volume</source>
-        <translation>Silencia el volum</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Baixades</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
-        <source>Show details about video downloads</source>
-        <translation>Mostra detalls de les descàrregues de vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Baixa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
-        <source>Download the current video</source>
-        <translation>Baixa el vídeo actual</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
-        <source>Share the current video using %1</source>
-        <translation>Comparteix el vídeo actual fent servir %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Email</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
-        <source>Email</source>
-        <translation>Correu electrònic</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Tanca</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
-        <source>&amp;Float on Top</source>
-        <translation>Manté a &amp;sobre</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Atura després d&apos;aquest vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
-        <source>&amp;Report an Issue...</source>
-        <translation>&amp;Informa d&apos;un problema</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
-        <source>&amp;Refine Search...</source>
-        <translation>&amp;Afina la Cerca...</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
-        <source>More...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
-        <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
-        <source>Watch videos related to the current one</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Aplicació</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
-        <source>Buy %1...</source>
-        <translation>Compra %1...</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Reproducció</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Llista de reproducció</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
-        <source>&amp;View</source>
-        <translation>&amp;Vista</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Compartir</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
-        <source>&amp;Help</source>
-        <translation>A&amp;juda</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Premeu %1 per pujar el volum, %2 per baixar-lo</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
-        <source>Opening %1</source>
-        <translation>S&apos;està obrint %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Voleu abandonar el %1 amb una baixada en curs?</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Si tanqueu el %1 ara, aquesta baixada es cancel·larà.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
-        <source>Close and cancel download</source>
-        <translation>Tanca i cancel·la la baixada</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
-        <source>Wait for download to finish</source>
-        <translation>Espera a acabar la baixada</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Abandona la Pantalla &amp;Completa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 versió %2 ja està disponible.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
-        <source>Remind me later</source>
-        <translation>Recorda-m&apos;ho més tard</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
-        <source>Update</source>
-        <translation>Actualitza</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
-        <source>Error: %1</source>
-        <translation>Error: %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
-        <source>P&amp;revious</source>
-        <translation>P&amp;revi</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
-        <source>Go back to the previous track</source>
-        <translation>Torna a la pista anterior</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Mode compacte</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Obre la pàgina de &amp;YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Copia l&apos;&amp;enllaç de YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Copia el &amp;URL del flux de vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Troba &amp;parts de vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Neteja les búsquedes recents</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Fer una &amp;donació</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>Reprodueix vídeos &amp;manualment</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
-        <source>Manually start playing videos</source>
-        <translation>Comença a reproduir vídeos manualment</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
-        <source>Choose your content location</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Reprodueix</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
-        <source>Resume playback</source>
-        <translation>Continua la reproducció</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
-        <source>Remaining time: %1</source>
-        <translation>Temps restant: %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
-        <source>Volume at %1%</source>
-        <translation>Volum al %1%</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
-        <source>Volume is muted</source>
-        <translation>Volum desactivat</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
-        <source>Volume is unmuted</source>
-        <translation>Volum activat</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Resolució màxima de vídeo fixada a %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
-        <source>Your privacy is now safe</source>
-        <translation>La vostra privacitat està protegida</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
-        <source>Downloads complete</source>
-        <translation>Baixades completes</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/mediaview.cpp" line="553"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>Ja podeu enganxar l&apos;enllaç del YouTube en una altra aplicació</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="561"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>Ja podeu enganxar el URL del flux de vídeo en una altra aplicació</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="562"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>L&apos;enllaç només serà vàlid durant un temps limitat.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="636"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Aquesta només és la versió de demostració del %1.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="637"/>
-        <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Li permet probar l&apos;aplicació i veure si li va bé.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="667"/>
-        <source>Continue</source>
-        <translation>Continua</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="756"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation>de</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="768"/>
-        <source>part</source>
-        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
-        <translation>part</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="770"/>
-        <source>episode</source>
-        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation>episodi</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="847"/>
-        <source>Sent from %1</source>
-        <translation>Enviat des de %1</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="644"/>
-        <source>Get the full version</source>
-        <translation>Aconseguiu la versió completa</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="681"/>
-        <source>Downloading %1</source>
-        <translation>S&apos;està baixant %1</translation>
-    </message>
-</context>
-<context>
-    <name>MessageWidget</name>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="21"/>
-        <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="28"/>
-        <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="33"/>
-        <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="39"/>
-        <source>Skip This Version</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="43"/>
-        <source>Remind Me Later</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="47"/>
-        <source>Install Update</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PasteLineEdit</name>
-    <message>
-        <location filename="local/src/pastelineedit.cpp" line="6"/>
-        <source>Paste</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PlaylistItemDelegate</name>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
-        <source>%1 views</source>
-        <translation>%1 visualitzacions</translation>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
-        <source>Preparing</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
-        <source>Failed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
-        <source>Completed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
-        <source>Stopped</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
-        <source>Stop downloading</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
-        <source>Show in %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
-        <source>Open parent folder</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
-        <source>Restart downloading</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PlaylistModel</name>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
-        <source>Searching...</source>
-        <translation>Buscant...</translation>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
-        <source>Show %1 More</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
-        <source>No videos</source>
-        <translation>Cap vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
-        <source>No more videos</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Sort by</source>
-        <translation>Ordena per</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
-        <source>Relevance</source>
-        <translation>Rellevància</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Date</source>
-        <translation>Data</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
-        <source>View Count</source>
-        <translation>Nombre de vistes</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
-        <source>Rating</source>
-        <translation>Qualificació</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <source>Anytime</source>
-        <translation>Qualsevol data</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
-        <source>Today</source>
-        <translation>Avui</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
-        <source>7 Days</source>
-        <translation>7 dies</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
-        <source>30 Days</source>
-        <translation>30 dies</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <source>Duration</source>
-        <translation>Durada</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>All</source>
-        <translation>Tot</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
-        <source>Short</source>
-        <translation>Curt</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Medium</source>
-        <translation>Mig</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Long</source>
-        <translation>Llarg</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
-        <source>Less than 4 minutes</source>
-        <translation>menys de 4 minuts</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation>entre 4 i 20 minuts</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
-        <source>Longer than 20 minutes</source>
-        <translation>més de 20 minuts</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>Quality</source>
-        <translation>Qualitat</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
-        <source>High Definition</source>
-        <translation>Alta definició</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
-        <source>720p or higher</source>
-        <translation>720p o major</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
-        <source>Done</source>
-        <translation>Fet</translation>
-    </message>
-</context>
-<context>
-    <name>RegionsView</name>
-    <message>
-        <location filename="src/regionsview.cpp" line="19"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Cerca</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/searchview.cpp" line="71"/>
-        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
-        <translation>Benvingut al &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="50"/>
-        <source>Get the full version</source>
-        <translation>Aconseguiu la versió completa</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="85"/>
-        <source>Enter</source>
-        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
-        <translation>Introduïu</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="90"/>
-        <source>a keyword</source>
-        <translation>una paraula</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="91"/>
-        <source>a channel</source>
-        <translation>un canal</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="96"/>
-        <source>to start watching videos.</source>
-        <translation>per comencar a veure vídeos.</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="120"/>
-        <source>Watch</source>
-        <translation>Veure</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="138"/>
-        <source>Recent keywords</source>
-        <translation>Cerques recents</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="151"/>
-        <source>Recent channels</source>
-        <translation>Canals recents</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarHeader</name>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
-        <source>&amp;Back</source>
-        <translation>&amp;Enrere</translation>
-    </message>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
-        <source>Forward to %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
-        <source>Back to %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
-        <source>Refine Search</source>
-        <translation>Afina la Cerca</translation>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
-        <source>Did you mean: %1</source>
-        <translation>Volieu dir: %1</translation>
-    </message>
-</context>
-<context>
-    <name>StandardFeedsView</name>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
-        <source>Most Popular</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
-        <source>Most Shared</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
-        <source>Most Discussed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
-        <source>Top Rated</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="213"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>No es pot obtenir flux de vídeo per %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="231"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Error de xarxa: %1 per %2</translation>
-    </message>
-</context>
-<context>
-    <name>YTRegions</name>
-    <message>
-        <location filename="src/ytregions.cpp" line="8"/>
-        <source>Algeria</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="9"/>
-        <source>Argentina</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="10"/>
-        <source>Australia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="11"/>
-        <source>Belgium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="12"/>
-        <source>Brazil</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="13"/>
-        <source>Canada</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="14"/>
-        <source>Chile</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="15"/>
-        <source>Colombia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="16"/>
-        <source>Czech Republic</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="17"/>
-        <source>Egypt</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="18"/>
-        <source>France</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="19"/>
-        <source>Germany</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="20"/>
-        <source>Ghana</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="21"/>
-        <source>Greece</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="22"/>
-        <source>Hong Kong</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="23"/>
-        <source>Hungary</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="24"/>
-        <source>India</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="25"/>
-        <source>Indonesia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="26"/>
-        <source>Ireland</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="27"/>
-        <source>Israel</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="28"/>
-        <source>Italy</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="29"/>
-        <source>Japan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="30"/>
-        <source>Jordan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="31"/>
-        <source>Kenya</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="32"/>
-        <source>Malaysia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="33"/>
-        <source>Mexico</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="34"/>
-        <source>Morocco</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="35"/>
-        <source>Netherlands</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="36"/>
-        <source>New Zealand</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="37"/>
-        <source>Nigeria</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="38"/>
-        <source>Peru</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="39"/>
-        <source>Philippines</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="40"/>
-        <source>Poland</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="41"/>
-        <source>Russia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="42"/>
-        <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="43"/>
-        <source>Singapore</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="44"/>
-        <source>South Africa</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="45"/>
-        <source>South Korea</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="46"/>
-        <source>Spain</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="47"/>
-        <source>Sweden</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="48"/>
-        <source>Taiwan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="49"/>
-        <source>Tunisia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="50"/>
-        <source>Turkey</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="51"/>
-        <source>Uganda</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="52"/>
-        <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="53"/>
-        <source>United Kingdom</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="54"/>
-        <source>Yemen</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="128"/>
-        <source>Worldwide</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index edaa37cc7378cf6dbb27f115fc32bb04874c93e8..4c765243e654288033c30c6b0cfb4fd3b4d7ff34 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Život existuje i mimo prohlížeč!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Verze %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licence k: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je svobodný software, ale jeho vývoj stojí drahocenný čas.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Prosím &lt;a href=&apos;%1&apos;&gt;přispějte&lt;/a&gt; na další vývoj %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Je možné, že vás zaujmou i moje ostatní programy:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, přehrávač hudby z YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, hudební přehrávač</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Přeložte %1 do vašeho mateřského jazyka pomocí %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Autor ikony: %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Vydáno pod &lt;a href=&apos;%1&apos;&gt;licencí GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>O aplikaci</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Co jste vždy chtěli vědět o aplikaci %1 ale nikdy jste se neodvážili zeptat</translation>
     </message>
         <translation>Koupit licenci</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Od %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Všechna videa</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Nesledovaná videa</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Označit jako shlédnuté</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Zobrazit aktualizace</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Jméno</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Poslední aktualizace</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Naposledy přidáno</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Naposledy shlédnuto</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Nejsledovanější</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Třídit podle</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Všechna videa</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Nesledovaná videa</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Nyní nejsou k dispozici žádné aktualizace odběrů.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Nemáte žádné odběry. Použijte hvězdičku k přihlásení odběru kanálů.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bajtů</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bajtů/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/se</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekund</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minut</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 zbývá</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Toto je pouze demoverze %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Umí stahovat pouze videa délky do %1 minut, abyste mohli funkci stahování vyzkoušet</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Pokračovat</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Získat plnou verzi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 staženo v %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Stahování dokončeno</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Změnit složku pro stahování...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Vyberte složku, do které se bude stahovat</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Nastavení složky pro stahování bylo změněno.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Probíhající stahování budou stále pokračovat v ukládání do dříve nastaveného adresáře</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Stahováno do: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Stahování</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Přehrát</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pozastavit</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Pustit/Pozastavit</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Zastavit</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Zastavit přehrávání po dokončení nyní přehrávaného videa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Další video</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Předchozí video</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Zvýšit hlasitost</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Snížit hlasitost</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Ztlumit hlasitost</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Rychle vpřed</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Rychle vzad</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Hledat</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Najít videa a kanály podle klíčového slova</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Prohlížet</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Prohlížet videa podle kategorie</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Odběry</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Kanál odběrů</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Udělejte si pohodlí</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Zastaví přehrávání a vrátí se zpět na vyhledávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Př&amp;eskočit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Přeskočí na další video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pozastaví přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Přepne na celou obrazovku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skryje playlist a toolbar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Otevře video na webu YouTube a pozastaví přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Zkopíruje adresu videa na YouTube do schránky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Zkopíruje do schránky adresu video streamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Najít další části videa, doufejme, že ve správném pořadí</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odstranit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Odstraní vybraná videa z playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>&amp;Nahoru</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Posune vybraná videa výš v playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Dolů</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Posune vybraná videa níž v playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Vyprázdní historii vyhledávání. Akci nelze vrátit.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Sbohem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Homepage</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 na Webu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Prosím přispějte na další vývoj aplikace %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;O aplikaci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Info o aplikaci %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Hledat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Ztlumit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Stahování</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Zobrazit podrobnosti o stahování videí</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Stáhnout</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Stáhnout přávě zobrazené video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Přihlásit se ke kanálu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Sdílet aktuální video pomocí %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Plovoucí navrchu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zastavit po tomto videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Nahlásit chybu...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Upřesnit vyhledávání...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Více...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Související videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Sledovat videa související s tímto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikace</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Koupit %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Pohled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Sdílet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Stiskněte %1 pro zvýšení hlasitosti; %2 pro snížení</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Otevírám %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Chcete ukončit %1, přestože ještě probíhá stahování?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jestli nyní ukončíte %1, bude nedokončené stahování přerušeno</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Přerušit stahování a ukončit aplikaci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Počkat na dokončení stahování</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opustit zobrazení na &amp;celou obrazovku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 verze %2 je nyní dostupná.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Připomenout později</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Aktualizovat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Chyba: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;ředešlý</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Jít zpět na předchozí skladbu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktní mód</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otevřít stránku &amp;YouTube </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopírovat YouTube &amp;odkaz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Zkopírovat adresu &amp;video streamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Nalézt video &amp;části</translation>
+        <translation>Nalézt &amp;části videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Vymazat poslední hledání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Podpořit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Ručně zahájit přehrávání</translation>
+        <translation>Zahájit přehrávání &amp;ručně </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
-        <translation>Ručně zahájit přehrávání videí</translation>
+        <translation>Zahájit přehrávání videí ručně</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Vyberte si umístění obsahu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Play</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Pokračovat v přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Zbývající čas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Hlasitost na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Zvuk je ztlumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Zvuk je zapnut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximální rozlišení videa je %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Vaše soukromí je nyní v bezpečí</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Všechna stahování byla dokončena</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Nyní můžete vložit odkaz na video na YouTube do jiného programu</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Nyní můžete vložit odkaz na video stream do jiné aplikace</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Tento odkaz platí jen po omezenou dobu.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Toto je %1 -- demoverze.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Umožňuje vyzkoušet aplikaci, abyste ověřili, jestli pro vás funguje.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Pokračovat</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>část</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epizoda</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Zaslat z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Odhlásit z </translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Přihlásit k %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Stáhnout plnou verzi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Je stahováno %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 zobrazení</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Připravuje se</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Selhalo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Dokončeno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Zastaveno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Zastavit stahování</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Ukázat v %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Otevřít příslušný adresář</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation>Začít stahovat znova</translation>
+        <translation>Začít stahovat znovu</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Hledá se...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Zobrazit dalších %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Žádná videa</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Žádná další videa</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Třídit podle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Významu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Počtu shlédnutí</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Hodnocení</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Kdykoliv</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Dnes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dnů</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Délka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Vše</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Krátký</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Střední</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Dlouhý</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Méně než 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mezi 4 a 20minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Delší než 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Kvalita</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Vysoké rozlišení</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p nebo vyšší</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Vítejte v &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Získat plnou verzi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
-        <translation>Enter</translation>
+        <translation>Vložit</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>klíčové slovo</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>kanál</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
-        <translation>začít sledovat videa.</translation>
+        <translation> pro sledování videí.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Sledovat</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Poslední klíčová slova</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Poslední kanály</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Zpět</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Předat k %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Zpět k %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Upřesnit vyhledávání</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Měli jste na mysli: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Nejoblíbenější</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Nejlepší</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Nejsdílenější</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Nejdiskutovanější</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Nejlépe hodnocené</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Celou dobu populární</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nelze získat video stream pro %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Chyba přípojení: %1 pro %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Alžírsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Austrálie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brazílie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Kolumbie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Česká republika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egypt</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Francie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Německo</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Řecko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Maďarsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>Indie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonesie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Irsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Izrael</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Itálie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japonsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Jordánsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Keňa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malajsie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Mexico</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Maroko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Nizozemí</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Nový Zéland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Niger</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filipíny</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rusko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Saudská Arabie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Jižní Afrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Severní Korea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Španělsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Švédsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunisko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Turecko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Spojené arabské emiráty</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Velká Británie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Celosvětově</translation>
     </message>
index 28cbf6dd8232b12f949815559e268ec615177c6d..7cfebf45ea450d2f55f28e816729def9969e1faf 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Der findes liv udenfor browseren!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licenseret til: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 er fri software, men udviklingen tager værdifuld tid.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Venligst &lt;a href=&apos;%1&apos;&gt;doner&lt;/a&gt; for at støtte den forsatte udvikling af %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Du ønsker måske også at prøve mine andre apps:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, en YouTube-musikafspiller</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, en musikafspiller</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Oversæt %1 til din modersmål ved hjælp af %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon designet af %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Frigivet under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Luk</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Om</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Hvad du altid har ønsket at vide om %1 og aldrig turde spørge om</translation>
     </message>
         <translation>Køb licens</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Af %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Alle videoer</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Videoer, der ikke er set</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Marker alle som set</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Show opdateret</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Navn</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Senest opdateret</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Senest tilføjet</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Sidst set</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Mest set</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sorter efter</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Alle videoer</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Videoer, der ikke er set</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Der er ingen opdateringer i de abonnerede.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Du har ingen abonnementer. Brug stjernetegnet til at abonnere på kanaler.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekunder</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutter</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 mangler</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er kun demoversionen af %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Det kan kun hente videoer kortere end %1 minut, så du kan teste downloadfunktionaliteten.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Forsæt</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 downloaded på %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Download afsluttet</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download(s)</numerusform><numerusform>%n Download(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Skift placering...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Vælg placering til downloads</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Downloadplacering ændret.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nuværende downloads vil stadig blive glemt i forrige placering.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Downloader til: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Downloads</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Afspil</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Afspil/Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Stop</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Stop afspilning efter det aktuelle spor</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Næste spor</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Forrige spor</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Skru op</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Skru ned</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Slå lyden fra</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Søg fremad</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Søg baglæns</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Søg</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Find videoer og kanaler via søgeord</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Gennemse</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Gennemse videoer efter kategori</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Abonnementer</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Abonnementer på kanaler</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Sæt dig godt til rette</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Fejl</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stop afspilning og gå tilbage til søgeoversigt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>S&amp;pring over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Spring til næste video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pause afspilning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Fuldskærm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Vis i fuldskærm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skjul afspilningslisten og værktøjslinjen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gå til YouTube-videosiden og pause afspilningen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopier det aktuelle YouTube-videolink til udklipsholderen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopier adressen for den aktuelle videostrøm til udklipsholderen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Find andre videodele forhåbentlig i den rigtige rækkefølge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Fjern</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Fjern de valgte videoer fra afspilningslisten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Flyt &amp;Op</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Flyt de valgte videoer i afspilningslisten op</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Flyt &amp;Ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Flyt de valgte videoer i afspilningslisten ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Ryd søgeoversigt. Kan ikke fortrydes.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Afslut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Farvel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Hjemmeside</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 på nettet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Støt den forsatte udvikling af %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Om</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Info om %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Søg</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Slå lyden fra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Vis deltaljer om video downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Download den aktuelle video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Abonner på kanal</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Del den aktuelle video ved hjælp af %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;amp; E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Luk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Behold øverst</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stop efter denne video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporter et problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Indskrænk søgning...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Mere...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Relaterede videoer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Se videoer relateret til den nuværende</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Program</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Køb %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Afspil</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Afspilningsliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Vis</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Del</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjælp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Tryk %1 for at skrue op for lyden og %2 for at skrue ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Åbner %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vil du afslutte %1 selvom et download er i gang?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Hvis du lukker %1 nu vil dette download blive annulleret. </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Luk og annuller download </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Vent til download er færdig</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Forlad &amp;Fuld skærm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 er nu tilgængelig.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Påmind mig senere</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Opdatér</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Fejl: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>F&amp;orrige</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Gå tilbage til forrige nummer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Åbn &amp;Youtube-siden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopier &amp;link til Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>  
 Kopiér &amp;URL&apos;en til videostrømmen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Find dele af videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Ryd seneste søgninger</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Giv en &amp;Donation</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Start afspilning &amp;manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Start afspilning af videoer manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Vælg placering for dit indhold</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Afspil</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Genoptag afspilning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tilbageværende tid: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Lydniveau på %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Lyden er slået fra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Lyden er slået til</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimal videoopløsning sat til %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Dit privatliv er nu sikret</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Downloads færdig</translation>
     </message>
@@ -803,65 +912,75 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Du kan nu indsætte YouTube-linket i et andet program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Du kan nu indsætte adressen til videostrømmen i et andet program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Linket vil kun være gyldigt i en begrænset periode.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er kun demoversionen af %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Det giver dig mulighed for at teste programmet og se om det virker for dig.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Forsæt</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>af</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Sendt fra %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Fjern abonnement fra %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Abonner på %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Downloader %1</translation>
     </message>
@@ -910,52 +1029,52 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 visninger</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 af %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Forbereder</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Fejl</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Fuldendt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Stoppet</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Stop download</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>VIs i %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Åben ovenstående mappe</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Genstart download</translation>
     </message>
@@ -963,22 +1082,22 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Søger...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Vis %1 mere</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Ingen videoer</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Ikke flere videoer</translation>
     </message>
@@ -986,109 +1105,109 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sorter efter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevans</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Dato</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Antal visninger</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Bedømmelse</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Når som helst</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>I dag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Varighed</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Medium</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Mindre end 4 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mellem 4 og 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Længere end 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Kvalitet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>High Definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p eller højere</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Afsluttet</translation>
     </message>
@@ -1096,7 +1215,7 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Afslut</translation>
     </message>
@@ -1112,48 +1231,48 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Velkommen til &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Indtast</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>et nøgleord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>en kanal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>for at  begynde at se video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Afspil</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Seneste nøgleord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Nyeste kanaler</translation>
     </message>
@@ -1161,18 +1280,18 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Tilbage</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Frem til %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Tilbage til %1</translation>
     </message>
@@ -1180,12 +1299,12 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Indskrænk søgning</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Mente du: %1</translation>
     </message>
@@ -1193,40 +1312,40 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Mest populære</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Udvalgte</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Mest delte</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Mest diskuterede</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Bedst bedømte</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Mest populære</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan ikke hente videostrøm for %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Netværksfejl: %1 for %2</translation>
     </message>
@@ -1234,242 +1353,242 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Algeriet</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Austalien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brasilien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Canada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Colombia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Tjekkiet</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egypten</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Frankrig</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Tyskland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Grækenland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Ungarn</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>Indien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonesien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Irland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Italien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Jordan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malaysia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Mexico</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Marokko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Nederlandende</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>New Zealand</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Philipinierne</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rusland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Saudi-Arabien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapore</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Sydfrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Sydkorea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Spanien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Sverige</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunisien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Tyrkiet</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Forenede Arabiske Emirater</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Storbritanien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Yemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Hele verden</translation>
     </message>
index c59912a0ebcf6edec7aad79d82484df0dde5542f..114175594197133b1677707727ee2147650673a3 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Es gibt ein Leben außerhalb des Browsers!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Lizenziert für: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 ist freie Software, aber die Entwicklung kostet wertvolle Zeit.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Bitte &lt;a href=&apos;%1&apos;&gt;spende&lt;/a&gt;, um die ständige Entwicklung von %2 zu unterstützen.</translation>
+        <translation>Bitte &lt;a href=&apos;%1&apos;&gt;spenden&lt;/a&gt; Sie, um die Weiterentwicklung von %2 zu unterstützen.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Vielleicht möchten Sie auch meine anderen Apps ausprobieren:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ein YouTube-Musik-Player</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, ein Musik-Player</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Übersetzen Sie %1 in Ihre Muttersprache mit %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
-        <translation>Symbol-Entwurf durch %1.</translation>
+        <translation>Icons wurden gestaltet von %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Veröffentlicht unter der &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>S&amp;chließen</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Was Du schon immer über %1 wissen wolltest, aber nie zu fragen wagtest</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Geben Sie Ihre Lizenzierungsinformationen ein</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;E-mail:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Schlüssel:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>In der Vollversion können Sie Videos ohne Unterbrechungen und mit einer Laufzeit von mehr als %1 Minuten ansehen.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Ohne Lizenz läuft das Programm nur noch %1 Tage.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Lizenzdaten eingeben</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
-        <translation type="unfinished"/>
+        <translation>Lizenz kaufen</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Von %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Alle Videos</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Ungesehene Videos</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Alle als gesehen markieren</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Zeige aktualisierte</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Name</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Zuletzt aktualisiert</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Zuletzt hinzugefügt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Zuletzt angesehen</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Am meisten angesehen</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sortieren nach</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Alle Videos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Ungesehene Videos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Zurzeit gibt es nichts Neues bei den Abonnements.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Du hast keine Abonnements. Benutze das Stern-Symbol, um einen Kanal zu abonnieren.</translation>
     </message>
 </context>
 <context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>Bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>kB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>Bytes/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>kB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>Sekunden</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>Minuten</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 verbleibend</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dies ist nur die Demoversion von %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Sie kann nur Videos, die kürzer als %1 Minuten sind, herunterladen, damit die Download-Funktionalität getestet werden kann.</translation>
+        <translation>Sie kann nur Videos herunterladen, die kürzer als %1 Minuten sind, um die Funktion zum Herunterladen zu testen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Fortfahren</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
-        <translation>Die Vollversion holen</translation>
+        <translation>Die Vollversion kaufen</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 heruntergeladen nach %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Herunterladen abgeschlossen</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Speicherort ändern…</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Wähle den Speicherort</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
-        <translation>Speicherort wurde verändert.</translation>
+        <translation>Speicherort wurde geändert.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
-        <translation>Aktuelle Downloads werden immernoch im alten Speicherort gespeichert.</translation>
+        <translation>Aktuelle Downloads werden immer noch im alten Speicherort gespeichert.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Lade herunter nach: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Downloads</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Lade Aktualisierung herunter...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Abspielen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Abspielen/Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Halt</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
-        <translation>Nachdem aktueller Titel abgespielt wurde halten</translation>
+        <translation>Nach aktuellem Titel Wiedergabe anhalten</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Nächster Titel</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Vorheriger Titel</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Lautstärke erhöhen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Lautstärke verringern</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Stummschalten</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Vorwärts spulen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Rückwärts spulen</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Suche</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Videos und Kanäle nach Suchbegriff finden</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Stöbern</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Videos nach Kategorien durchstöbern</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Abonnements</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Abonnierte Kanäle</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
+        <translation>Machen Sie es sich gemütlich</translation>
     </message>
 </context>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Halt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Wiedergabe anhalten und zur Suchansicht zurückkehren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Ü&amp;berspringen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Zum nächsten Video springen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Wiedergabe pausieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Vollbildmodus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Vollbildmodus aktivieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
-        <translation>Verstecke Abspielliste und Werkzeugleiste</translation>
+        <translation>Abspielliste und Werkzeugleiste ausblenden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gehe zur YouTube-Video-Seite und pausiere die Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>YouTube-Link in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Video-URL in die Zwischenablage kopieren</translation>
+        <translation>Video-Link in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Findet andere Teile des Videos, hoffentlich in der richtigen Reihenfolge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>Entfe&amp;rnen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Entferne das ausgewählte Video aus der Abspielliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Bewege &amp;hinauf</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Bewege das ausgewählte Video in der Abspielliste hinauf</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Bewege hin&amp;ab</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Bewege das ausgewählte Video in der Abspielliste hinunter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
-        <translation>Such-Verlauf leeren. Kann nicht rückgängig gemacht werden.</translation>
+        <translation>Den Suchverlauf löschen. Kann nicht rückgängig gemacht werden.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Verlassen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Tschüss</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Webseite</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 im Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Bitte unterstützen Sie die weitere Entwicklung von %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Über</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informationen über %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Suche</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Stummschalten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Details über Video-Downloads anzeigen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>H&amp;erunterladen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Das aktuelle Video herunterladen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Abonnieren des Kanals</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Teilen Sie das aktuellen Video mit %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-Mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-Mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Schließen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>Im Vordergrund &amp;bleiben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>Nach diesem Video &amp;anhalten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ein Problem melden ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Suche verfeinern ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Mehr...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>Ve&amp;rwandte Videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
-        <translation type="unfinished"/>
+        <translation>Verwandte Videos zum Aktuellen ansehen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation>Im &amp;Browser öffnen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Anwendung</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>%1 kaufen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>A&amp;bspielliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Ansehen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Teilen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Hilfe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>%1 drücken, um die Lautstärke zu erhöhen, %2 um sie zu verringern</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
-        <translation>%1 öffnen</translation>
+        <translation>Öffne %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Möchten Sie %1 mit einem aktiven Download beenden?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Wenn Sie %1 jetzt beenden, wird der Download abgebrochen.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Beenden und Download abbrechen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
-        <translation>Auf Abschluß des Downloads warten</translation>
+        <translation>Auf Abschluss des Downloads warten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Vollbild verlassen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 Version %2 ist jetzt verfügbar.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Erinnere mich später</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Aktualisierung</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Fehler: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>V&amp;origes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Zum vorherigen Titel zurückgehen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompakt-Modus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube-Seite öffnen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
-        <translation>YouTube &amp;Link kopieren</translation>
+        <translation>YouTube-&amp;Link kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Video-Stream &amp;URL kopieren</translation>
+        <translation>Video-Stream-&amp;URL kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Suche Video &amp;Teile</translation>
+        <translation>Suche weitere Video&amp;teile</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Vorherige Suchbegriffe löschen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Spenden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuelles Starten der Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
-        <translation>Manuelles Starten der Video-Wiedergabe</translation>
+        <translation>Manuelles Starten der Videowiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Wähle ein Land für Inhalte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Abspielen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Wiedergabe fortsetzen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Verbleibende Zeit: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Lautstärke %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Ton ist stummgeschaltet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
-        <translation>Ton ist angeschaltet</translation>
+        <translation>Ton ist eingeschaltet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
-        <translation>Maximale Video-Auflösung wurde auf %1 gesetzt</translation>
+        <translation>Maximale Videoauflösung wurde auf %1 gesetzt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Ihre Privatsphäre ist nun geschützt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
-        <translation>Downloads heruntergeladen</translation>
+        <translation>Herunterladen vollständig</translation>
     </message>
 </context>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
-        <translation>Du kannst den YouTube-Link nun in einer anderen Anwendung einfügen</translation>
+        <translation>Sie können den YouTube-Link nun in einer anderen Anwendung einfügen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
-        <translation>Du kannst die Video-URL nun in einer anderen Anwendung einfügen</translation>
+        <translation>Sie können den Video-Link nun in einer anderen Anwendung einfügen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Der Link wird nur eine beschränkte Zeit gültig sein.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Dies ist nur eine Demoversion von %1.</translation>
+        <translation>Dies ist nur die Demoversion von %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Sie erlaubt Ihnen die Anwendung zu testen und zu schauen ob sie bei Ihnen läuft.</translation>
+        <translation>Sie erlaubt es Ihnen die Anwendung zu testen und zu schauen, ob sie bei Ihnen läuft.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Fortfahren</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>von </translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>Teil</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>Episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Gesendet von %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Beende Abonnement von %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Abonnieren von %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
-        <translation>Die Vollversion holen</translation>
+        <translation>Die Vollversion kaufen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>%1 herunterladen</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Eine neue Version von %1 ist verfügbar!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 ist jetzt verfügbar. Sie haben %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>Möchten Sie sie jetzt herunterladen?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>Diese Version überspringen</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>Später erinnern</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Aktualisierung installieren</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Einfügen</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 mal betrachtet</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 von %2 (%3) – %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Bereite vor</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Fertiggestellt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
-        <translation>Gestoppt</translation>
+        <translation>Angehalten</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
-        <translation type="unfinished"/>
+        <translation>Herunterladen abbrechen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
-        <translation type="unfinished"/>
+        <translation>In %1 anzeigen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation>Eltern-Ordner öffnen</translation>
+        <translation>übergeordneten Ordner öffnen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation>Herunterladen neustarten</translation>
+        <translation>Herunterladen neu starten</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Suche...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
-        <translation type="unfinished"/>
+        <translation>Weitere %1 zeigen</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Keine Videos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Keine weiteren Videos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sortieren nach</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevanz</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
-        <translation>Anzahl anzeigen</translation>
+        <translation>Aufrufe</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Bewertung</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
-        <translation>Alle Längen</translation>
+        <translation>Irgendwann</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Heute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Tage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Tage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Dauer</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Kurz</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Weniger als 4 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Zwischen 4 und 20 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Länger als 20 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Qualität</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
-        <translation>High Definition</translation>
+        <translation>Hochauflösend</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p oder höher</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Erledigt</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Fertig</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Willkommen bei &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
-        <translation>Die Vollversion holen</translation>
+        <translation>Die Vollversion kaufen</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Eingeben</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
-        <translation>ein Schlüsselwort</translation>
+        <translation>ein Suchbegriff</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>ein Kanal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>um die Wiedergabe zu starten.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Anschauen</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
-        <translation>Aktuelle Schlüsselwörter</translation>
+        <translation>Letzte Suchbegriffe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
-        <translation>Aktuelle Kanäle</translation>
+        <translation>Letzte Kanäle</translation>
     </message>
 </context>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Zurück</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Weiter zu %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Zurück zu %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Suche verfeinern</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Haben Sie gemeint: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>Beliebteste</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Am meisten geteilt</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Am meisten diskutiert</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Am besten bewertet</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Beliebteste</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
-        <translation>Videostream für %1 konnte nicht öffnen werden</translation>
+        <translation>Videostream für %1 konnte nicht geöffnet werden</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Netzwerk-Fehler: %1 für %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algerien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentinien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Belgien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brasilien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Kolumbien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>Tschechische Republik</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Ägypten</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Frankreich</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Deutschland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Griechenland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Ungarn</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Indien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonesien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordanien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malaysia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Mexiko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marokko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Niederlande</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Neuseeland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Philippinen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Polen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Russland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Saudi-Arabien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Südafrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Südkorea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Spanien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Schweden</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunesien</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Türkei</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Vereinigte Arabische Emirate</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Vereinigtes Königreich</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Weltweit</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index 5c730f8c47dfc578b1116745980e6b05a873b899..c3c8e02ccf64648b02ea8e30e36517868111a0c6 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Υπάρχει ζωή έξω απο τον πλοηγό!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Έκδοση %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Αδειοδοτημένο στον/ην: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>Το %1 είναι Ελεύθερο Λογισμικό αλλά η ανάπτυξη του παίρνει πολύτιμο χρόνο.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Παρακαλούμε &lt;a href=&apos;%1%&apos;&gt;δωρίστε&lt;/a&gt; για να υποστηρίξετε την συνεχόμενη ανάπτυξη του %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Μπορεί να θέλετε να δοκιμάσετε και τις άλλες μου εφαρμογές:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ένας αναπαραγωγέας μουσικής του YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, ένας αναπαραγωγέας μουσικής</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Μεταφράστε το %1 στη γλώσσα σας χρησιμοποιώντας το %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Σχεδιασμός εικονιδίου από %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Έκδοση κάτω απο τους όρους της &lt;a href=&apos;%1&apos;&gt;Γενικής Άδειας Χρήσης GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Κλείσιμο</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Σχετικά</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Ότι θέλατε να μάθετε σχετικά με το %1 και δεν τολμούσατε να ρωτήσετε</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>Η πλήρης έκδοση σας επιτρέπει την λήψη βίντεο με διάρκεια μεγαλύτερη από %1 λεπτά και την αναπαραγωγή των βίντεο χωρίς διακοπές.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <translation>Αγορά άδειας χρήσης</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Από %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Όλα τα βίντεο</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Σχετικά βίντεο</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Σημείωση όλων ως παρακολούθεντα</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Εμφάνιση ενημέρωσεων</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>όνομα</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Τελευταία Ενημέρωση</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Τελευταία προστέθηκε</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>τελευταίο Προβληθέντα</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Πιο δημοφιλή</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ταξινόμηση κατά ...</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Όλα τα βίντεο</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Σχετικά βίντεο</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Δεν υπάρχουν συνδρομές ενημέρωσης αυτή τη στιγμή.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Δεν έχετε εγγραφές. Χρησιμοποιήστε το αστέρι για να εγγραφείτε συνδρομητής σε κανάλια.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/δευτ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/δευτ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/δευτ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>δευτερόλεπτα</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>λεπτά</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>απομένουν %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Αυτή είναι απλά η δοκιμαστική έκδοση του %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Μπορεί να κατεβάσει βίντεο μικρότερα από %1 λεπτά ώστε να δοκιμάσετε τη λειτουργία κατεβάσματος.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Συνέχεια</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 λήφθηκε σε %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Η λήψη ολοκληρώθηκε</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Λήψη</numerusform><numerusform>%n Λήψεις</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Αλλάξτε τοποθεσία...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Επιλέξτε την τοποθεσία λήψης</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Η τοποθεσία λήψης άλλαξε.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Τα ήδη ληφθέντα θα παραμείνουν στην προηγούμενη τοποθεσία.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Λήψη στο: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Λήψεις</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Αναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Παύση</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Αναπαραγωγή/Παύση</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Διακοπή</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Διακοπή αναπαραγωγής μετά το τρέχον κομμάτι</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Επόμενο κομμάτι</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Προηγούμενο κομμάτι</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Αύξηση έντασης</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Μείωση έντασης</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Σίγαση</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Αναζήτηση μπροστά</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Αναζήτηση πίσω</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Ευρεση βίντεο και κανάλιων μεσω λέξεις-κλειδία </translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Περιηγηση</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Περιηγηση βιντεο ανα κατηγορια</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Συνδρομές</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Συνδρομές καναλιού</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Βολευτείτε</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Σφάλμα</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Διακοπή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Διακοπή αναπαραγωγής και επιστροφή στην προβολή αναζήτησης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Παράλειψη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Μετάβαση στο επόμενο βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Παύση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Παύση αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Πλήρης οθόνη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Προβολή σε πλήρη οθόνη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Απόκρυψη της λίστας αναπαραγωγής και της εργαλειοθήκης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Μετάβαση στη σελίδα βίντεο του YouTube και παύση αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Αντιγραφή του δεσμού του τρέχοντος YouTube βίντεο στη μνήμη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Αντιγραφή του URL της τρέχουσας ροής βίντεο στη μνήμη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Εύρεση των υπόλοιπων επισοδείων του βίντεο, ελπίζουμε στη σωστή σειρά</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Αφαίρεση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Αφαίρεση επιλεγμένων βίντεο απο την λίστα αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Μετακίνηση προς τα &amp;πάνω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Μετακίνηση επιλεγμένων βίντεο προς τα πάνω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Μετακίνηση προς τα &amp;κάτω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Μετακίνηση επιλεγμένων βίντεο προς τα κάτω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Καθαρισμός του ιστορικού αναζήτησης. Δεν μπορεί να γίνει επαναφορά.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>Έ&amp;ξοδος</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Γεια</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Ιστοχώρος</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>Το %1 στο διαδίκτυο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Παρακαλούμε υποστηρίξτε την συνεχόμενη ανάπτυξη του %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Σχετικά</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Πληροφορίες για %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Σίγαση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Λήψεις</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Εμφάνιση λεπτομερειών για τις λήψεις βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Λήψη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Λήψη του τρέχοντος βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>Εγγραφή στο κανάλι</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Κοινή χρήση του τρέχοντος βίντεο με το %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Ηλ. αλληλογραφία</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Ηλ. αλληλογραφία</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Κλείσιμο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Διατήρηση στην κορυφή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Διακοπή μετά από αυτό το βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Αναφέρετε κάποιο σφάλμα...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Σύνθετη αναζήτηση...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Περισσοτερα...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>Σχετικα βιντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Παρακολουθήστε βίντεο που σχετίζονται με το τρέχον</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Αγοράστε το %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Αναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>Λ&amp;ίστα αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>Βίν&amp;τεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Προβολή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Κοινή χρήση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Βοήθεια</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Πατήστε %1 για να αυξήσετε την ένταση, %2 για να την χαμηλώσετε</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Άνοιγμα %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Θέλετε να κλείσετε το %1 ενώ βρίσκεται μια λήψη σε εξέλιξη;</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Αν κλείσετε το %1 τώρα, η λήψη θα ακυρωθεί.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Κλείσιμο και ακύρωση λήψης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Αναμονή ολοκλήρωσης λήψης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Έξοδος από &amp;πλήρη οθόνη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>Η έκδοση %2 του %1 είναι διαθέσιμη.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Υπενθύμιση αργότερα</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Ενημέρωση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Σφάλμα: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>Π&amp;ροηγούμενο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Επιστροφή στο προηγούμενο κομμάτι</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Συμπαγής εμφάνιση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Άνοιγμα στην ιστοσελίδα του &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Αντιγραφή του &amp;δεσμού YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Αντιγραφή του &amp;URL της ροής βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Αναζήτηση των &amp;επισοδείων του βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Καθαρισμός πρόσφατων αναζητήσεων</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Κάντε μια &amp;δωρεά</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Εκκίνηση της αναπαραγωγής &amp;χειροκίνητα</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Εκκίνηση αναπαραγωγής των βίντεο χειροκίνητα</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Επιλογή της τοποθεσίας του περιεχομένου σας </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>Α&amp;ναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Συνέχεια αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Υπολειπόμενος χρόνος: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Ένταση στο %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Σίγαση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Η ένταση αποκαταστάθηκε</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>H μέγιστη ανάλυση βίντεο τέθηκε σε %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Η ιδιωτικότητα σας είναι τώρα ασφαλής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Οι λήψεις ολοκληρώθηκαν</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Τώρα μπορείτε να επικολλήσετε το δεσμό του YouTube σε κάποια άλλη εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Τώρα μπορείτε να επικολλήσετε το URL της ροής βίντεο σε κάποια άλλη εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Ο σύνδεμος θα είναι έγκυρος μόνο για περιορισμένο χρονικό διάστημα.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Αυτή είναι απλά μια δοκιμαστική έκδοση του %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Σαε επιτρέπει να δοκιμάσετε την εφαρμογή και να δείτε αν σας κάνει.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Συνέχεια</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>από</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>μέρος</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>επισόδειο</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Αποστολή από %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Διαγραφή από το %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Εγγραφή στο %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Λήψη %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>Προβολές %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 από %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Προετοιμάζεται</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Απέτυχε</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Ολοκληρώθηκε</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Διακόπηκε</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Διακοπή λήψης</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Εμφάνιση σε %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Άνοιγμα γονικού φακέλου</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Επανεκκίνηση λήψης</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Αναζήτηση...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Εμφάνιση %1 ακόμα</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Κανένα βίντεο</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Δεν υπάρχουν άλλα βίντεο</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Ταξινόμηση κατά ...</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Σχετικότητα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Ημερομηνία</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Αριθμό προβολών</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Βαθμολογία</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Οποτεδήποτε</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Σήμερα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>Εβδομάδα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>Μήνας</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Διάρκεια</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Όλα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Μικρό</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Μέτριο</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Μεγάλο</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Λιγότερο από 4 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Μεταξύ 4 και 20 λεπτών</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Μεγαλύτερο από 20 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Ποιότητα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Υψηλή ανάλυση</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p είτε ψηλότερα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Έγινε</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Έγινε</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Καλωσορίσατε στο &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Πληκτρολογήστε</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>μια λέξη-κλειδί</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>ένα κανάλι</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>για να αρχίσετε να βλέπετε βίντεο.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Δείτε</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Πρόσφατες λέξεις-κλειδιά</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Πρόσφατα κανάλια</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Πίσω</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Προώθηση σε %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Πισω στο %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Σύνθετη αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Μήπως εννοείτε: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>Τα πιο δημοφιλή</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Πιο πρόσφατα</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Πιο συζυτημενα</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Καλυτερα βαθμολογημενα</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Σε όλα τα χρονικά δημοφιλή</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Αδυναμία λήψης της ροής βίντεο για %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Σφάλμα δικτύου: %1 για %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Αλγερια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Αργεντινη</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Αυστραλια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Βελγιο</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Βραζιλια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Καναδας</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Χιλη</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Κολομβια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>Τσεχια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Αιγυπτος</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Γαλλια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Γερμανια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Γκανα</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Ελλαδα</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Χονγκ Κονγκ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Ουγγαρια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Ινδια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Ινδονησια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Ιρλανδια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Ισραηλ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Ιταλια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Ιαπωνια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Ιορδανια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Κενια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Μαλαισια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Μεξικο</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Μαροκκο</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Ολλανδια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Νεα Ζηλανδια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Νιγηρια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Περου</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Φιλλιπινες</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Πολωνια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Ρωσια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Σαουδικη Αραβια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Σινγκαπουρη</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Νοτια Αφρικη</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Νοτια Κορεα</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Ισπανια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Σουηδια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Ταιβαν</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Τυνισια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Τουρκια</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Ουγκαντα</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Ηνωμενα Αραβικα Εμιρατα</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Ηνωμενο Βασιλειο</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Ιεμενη</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Παγκοσμιως</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index 8ca682355f893a7cbc0851a72b0a701faf80dc99..e41b87cb3dea92a8c3718b9204741b78f5df5efd 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>¡Hay vida más allá del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation>Licencia para: %1</translation>
+        <translation>Con licencia para: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es software libre, pero su desarrollo supone un tiempo muy valioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Haga una &lt;a href=&apos;%1&apos;&gt;donación&lt;/a&gt; para ayudar a continuar el desarrollo de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Quizá también quiera probar mis otras aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduzca %1 a su idioma natal usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Icono diseñado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Publicado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Lo que siempre quiso saber acerca de %1 y nunca se atrevió a preguntar</translation>
     </message>
         <translation>Comprar licencia</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Por %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Todos los vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Vídeos sin ver</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Marcar todos como vistos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Mostrar actualizados</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nombre</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Actualizado por última vez</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Añadido por última vez</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Visto por última vez</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Más vistos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ordenar por</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Todos los vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Vídeos sin ver</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>No hay suscripciones actualizadas en este momento.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>No se ha suscrito a ningún canal. Use el símbolo de la estrella a los canales.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>Quedan %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es solo la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Solo puede descargar vídeos de duración menor que %1 minutos para que pueda probar la función de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargados en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargas</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación…</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Elija la ubicación de las descargas</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Ubicación para descargas modificada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargas en curso irán a la ubicación anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Descargando a: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Descargas</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Reproducir</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pausar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Reproducir/pausar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Detener</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Detener la reproducción al terminar la pista actual</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Pista siguiente</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Pista anterior</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Aumentar volumen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Disminuir volumen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Silenciar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Buscar hacia adelante</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Buscar hacia atrás</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Encontrar vídeos y canales por palabras clave</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Examinar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Buscar videos por categoría</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Suscripciones</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Suscripciones a canales</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Póngase cómodo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener la reproducción y volver a la búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Omitir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Omitir vídeo y saltar al siguiente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar la lista de reproducción y la barra de herramientas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir a la página del vídeo en YouTube y pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar el enlace a YouTube del vídeo actual en el portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar la URL actual del flujo del vídeo al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Encontrar otras partes de vídeos, con suerte en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Eliminar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Quitar los vídeos seleccionados de la lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>&amp;Subir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover hacia arriba en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Bajar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover hacia abajo en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpiar el historial de búsquedas. No se puede deshacer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Hasta luego</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 en la web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Apoye el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Silenciar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles sobre las descargas de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Descargar el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Suscribirse al canal</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Compartir el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo-e</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Correo-e</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flotar en la parte superior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Detener tras este vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informar de un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar la búsqueda...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Más…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver videos relacionados con el actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Comprar %1…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reprod.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>Ay&amp;uda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pulse %1 para aumentar el volumen o %2 para reducirlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>¿Quiere salir de %1 con una descarga en curso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si cierra %1 ahora, esta descarga será cancelada.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Esperando a que finalice la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Salir de pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versión %2 ya está disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Regresar a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el en&amp;lace de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Copiar la &amp;URL de flujo del vídeo</translation>
+        <translation>Copiar el &amp;URL de flujo del vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar &amp;partes de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpiar búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Comenzar la reproducción &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Comenzar la reproducción de vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Elija su ubicación para el contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Continuar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>El volumen está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>El volumen no está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolución máxima de video establecida en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Su privacidad ahora está asegurada
 </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Descargas completas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora puede pegar el enlace de YouTube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ahora puede pegar la URL del flujo de vídeo en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>El enlace es válido solo por un tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esto es solo la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Le permite probar la aplicación y ver si le funciona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Cancelar suscripción a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Suscribirse a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 reproducciones</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Completado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Detener la descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Abrir carpeta contenedora</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Reiniciar la descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Buscando…</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>No hay vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>No hay más vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Número de vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Valoración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Cualquier momento</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Todo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Corto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Medio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayor a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Hecho</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Hecho</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Escriba</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>para empezar a ver vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Palabras clave recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Atrás</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Reenviar a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Regresar a %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Refinar la búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Quizá quiso decir: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Más populares</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Destacados</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Más compartidos</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Más discutidos</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Mejor valorados</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Populares siempre</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>No se puede obtener el flujo de vídeo para %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 por %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Argelia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Bélgica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brasil</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Canadá</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Colombia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>República Checa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egipto</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Francia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Alemania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Grecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Hungría</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Irlanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Italia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japón</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Jordania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malasia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>México</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Marruecos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Holanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Nueva Zelanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Perú</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filipinas</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polonia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rusia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Arabia Saudita</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Sudáfrica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Corea del Sur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>España</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Suecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Taiwán</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Túnez</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Turquía</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Emiratos Árabes Unidos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Reino Unido</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Yemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Todo el mundo</translation>
     </message>
index ad1dae2f146fca5066fb7aa8b2fec19940fb3b5e..819ffd07486bee37c98de44b684426fd12f72cae 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Hay vida más allá del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Licencia para: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 es Software Libre pero su desarrollo lleva tiempo.</translation>
+        <translation>%1 es Software Libre pero su desarrollo lleva precioso tiempo.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Por favor, &lt;a href=&apos;%1&apos;&gt;hacé una donación&lt;/a&gt; para apoyar el desarrollo de %2.</translation>
+        <translation>Por favor, &lt;a href=&apos;%1&apos;&gt;dóna&lt;/a&gt; para apoyar el desarrollo continuo de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
-        <translation>Talvez querás probar mis otras aplicaciones como:</translation>
+        <translation>Tal vez querrás probar mis otras aplicaciones como:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
-        <translation>Traducí %1 a tu idioma natal usando %2</translation>
+        <translation>Traduce %1 a tu idioma natal usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Iconos diseñados por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Desarrollado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Lo que siempre quisiste saber de %1 y nunca te animaste a preguntar</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Introduzca los detalles de la licencia</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>Correo &amp;electrónico:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Código:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>La versión completa te permite descargar vídeos más largos que %1 minutos y mirar vídeos sin interrupciones.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Sin una licencia, la aplicación caducará en %1 días.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Introducir licencia</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
+        <translation>Comprar licencia</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sortear por</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restante(s)</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es sólo una versión de demostración de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Sólo se pueden bajar videos de menos de %1 minutos, para probar la funcionalidad de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
-        <translation>Conseguí la versión completa</translation>
+        <translation>Consigue la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descarga(s)</numerusform><numerusform>%n Descarga(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Cambiar destino...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Elegir el destino de la descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Destino de la descarga cambiado.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargas en curso van a seguir bajándose al destino anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
-        <translation>Bajando a: %1</translation>
+        <translation>Bajando al: %1</translation>
     </message>
 </context>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Descargas</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Descargando actualización…</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Reproducir</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Reproducir/Pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Detener</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Detener luego de la pista actual</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Pista siguiente</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Pista previa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Subir volumen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Bajar volumen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Mudo</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Avanzar rápido</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Retroceder rápido</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Encuentra vídeos por canales o por palabras clave</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Navegar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
+        <translation>Navega en los vídeos por categoría</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Personalizar</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
-        <translation>Detener y volver a la búsqueda</translation>
+        <translation>Detener la reproducción y volver a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Saltar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
-        <translation>Siguiente video</translation>
+        <translation>Saltar al siguiente video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Esconder la lista de reproducción y la barra de herramientas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir al video en YouTube y pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Copiar el enlace de YouTube del video al portapapeles</translation>
+        <translation>Copiar el enlace de YouTube del video actual al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Copiar la &amp;URL del stream del video al portapapeles</translation>
+        <translation>Copiar la URL del stream del video al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
-        <translation>Encontrá las otras partes del video con suerte en el orden correcto</translation>
+        <translation>Encuentra las otras partes del video con suerte en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Borrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Borrar los videos seleccionados de la lista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Mover hacia &amp;arriba</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover hacia arriba los videos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Mover hacia &amp;abajo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover hacia abajo los videos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Eliminar el historial de búsqueda. No se puede deshacer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
-        <translation>Chau</translation>
+        <translation>Adiós</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Sitio web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 en la Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
-        <translation>Apoyar el desarrollo de %1</translation>
+        <translation>Por favor apoya el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Información sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles sobre la descarga de videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Bajar video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Bajar el video actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
-        <translation>Compartí el video actual usando %1</translation>
+        <translation>Compartí el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Correo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Siempre Visible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Finalizar Después de este Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar un inconveniente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Más...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Vídeos relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Mirar vídeos relacionados al vídeo actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Programa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Con %1 subís el volumen, con %2 lo bajás</translation>
+        <translation>Con %1 para subir el volumen, con %2 para bajarlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Seguro que querés salir de %1 con una descarga en progreso?</translation>
+        <translation>Seguro que quieres salir de %1 con una descarga en progreso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Si cerrás %1 ahora, la descarga se va a cancelar.</translation>
+        <translation>Si cierras %1 ahora, la descarga se va a cancelar.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Esperar a que termine la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de &amp;Pantalla Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versión %2 está ahora disponible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Recordármelo después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
-        <translation>A6nterior</translation>
+        <translation>Anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Volver a la pista previa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo Compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el enlace de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar Video &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar Video &amp;Partes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Borrar las búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Iniciar Reproducción Manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Empezar a reproducir videos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Selecciona la localidad de tu contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Continuar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Volumen silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Volumen activo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
-        <translation>Definición máxima de video seteada en %1</translation>
+        <translation>Definición máxima de video ajustada en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Tu privacidad ahora está segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Descarga completa</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
-        <translation>Ahora podés pegar el enlace de YouTube en otra aplicación</translation>
+        <translation>Ahora puedes pegar el enlace de YouTube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ahora podés pegar la URL del stream en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
-        <translation>El enalce va a ser válido sólo por un tiempo limitado.</translation>
+        <translation>El enlace va a ser válido sólo por un tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es sólo la versión de demostración de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Te permite probar la aplicación y ver si te funciona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Conseguir la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Está disponible una nueva versión de %1.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 está disponible ahora. Ud. tiene %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>¿Quiere descargarla ahora?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>Omitir esta versión</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>Recordarme después</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Instalar actualización</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Pegar</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 visitas</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>%1 of %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
-        <translation type="unfinished"/>
+        <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
-        <translation type="unfinished"/>
+        <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
-        <translation type="unfinished"/>
+        <translation>Completado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
-        <translation type="unfinished"/>
+        <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
-        <translation type="unfinished"/>
+        <translation>Detener descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
-        <translation type="unfinished"/>
+        <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation type="unfinished"/>
+        <translation>Abrir carpeta relacionada</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation type="unfinished"/>
+        <translation>Reiniciar descarga</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Buscando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>No hay videos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
-        <translation type="unfinished"/>
+        <translation>No hay más vídeos</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sortear por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Contador de Visitas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Calificación</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Histórico</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Cortos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Medianos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Largos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Menores que 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayores a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Alta Definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Finalizado</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Hecho</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Conseguir la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Escribir</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>para empezar a ver videos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Atrás</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Avanzar a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Retroceder a %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Quiso decir: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>Más populares</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Más compartidos</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Más discutidos</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
+        <translation>Mejor calificados</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>No puedo obtener el stream de video de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de conexión: %1 para %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Bélgica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brasil</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Canada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Colombia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>República Checa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egipto</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Francia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Alemania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Grecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Hungría</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irlanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japón</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malasia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>México</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marruecos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Países Bajos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Nueva Zelanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Perú</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filipinas</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Polonia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Rusia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Arabia Saudita</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Sud Africa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Sud Corea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>España</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Suecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Túnez</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turquía</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Emiratos Arabes Unidos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Reino Unido</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Yemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Todo el mundo</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index 9278f7dd966dcfb8856262f5b472c75338742af4..7d67e71c04f91b92eaf753c73435e44d70fd3e19 100644 (file)
@@ -3,74 +3,74 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>¡Hay vida fuera del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Con licencia para %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 es Software Libre pero su desarrollo lleva mucho tiempo.</translation>
+        <translation>%1 es un programa de software libre, pero su desarrollo lleva mucho tiempo.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Por favor, considere &lt;a href=&apos;%1&apos;&gt;donar&lt;/a&gt; para apoyar el desarrollo de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>También puede probar mis otras aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
-        <translation>%1, reproductor de música de YouTube</translation>
+        <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
-        <translation>Traduce %1 a tu idioma utilizando %2</translation>
+        <translation>Traducir %1 a tu idioma utilizando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Icono diseñado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Publicado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Acerca de...</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que siempre quiso saber sobre el %1 y nunca se atrevió a preguntar</translation>
+        <translation>Lo que siempre quiso saber sobre %1 y nunca se atrevió a preguntar</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Introducir detalles de la licencia</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>Corr&amp;eo electrónico:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Código:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Esta versión de prueba ha caducado.</translation>
+        <translation>La versión de prueba ha caducado.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>La versión completa le permite descargar vídeos superiores a %1 minutos y ver vídeos sin interrupciones.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>La aplicación caducará en %1 días si no tiene una licencia.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
         <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Al comprar la versión completa, también apoya el trabajo empleado en la creación de %1.</translation>
+        <translation>Al comprar la versión completa, estará apoyando el gran trabajo empleado en la creación de %1.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="70"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Introducir licencia</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
+        <translation>Comprar licencia</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sortear por</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
-        <translation>KB/sec</translation>
+        <translation>KB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restante</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Esta es sólo la versión demo de %1.</translation>
+        <translation>Esta es la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Sólo se pueden descargar vídeos más cortos de %1 minutos, así puede probar la funcionalidad de descarga.</translation>
+        <translation>Sólo se pueden descargar vídeos inferiores a %1 minutos. Así podrá probar la funcionalidad de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descarga(s)</numerusform><numerusform>%n Descarga(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Eligir la ubicación de descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Ubicación de descarga cambiada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
-        <translation>Las descargan actuales irán a parar a la anterior ubicación.</translation>
+        <translation>Las descargan actuales se guardarán en la ubicación anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Descargado: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Descargas</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Descargando actualización...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Reproducir</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pausar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Reproducir/Pausar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
-        <translation>Parar</translation>
+        <translation>Detener</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
-        <translation>Parar reproducción después esta pista</translation>
+        <translation>Detener reproducción después esta pista</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Siguiente pista</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Pista anterior</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Subir volumen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Bajar volumen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Silenciar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
-        <translation>Buscar adelante</translation>
+        <translation>Buscar hacia adelante</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
-        <translation>Buscar atrás</translation>
+        <translation>Buscar hacia atrás</translation>
     </message>
 </context>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Buscar vídeos y canales mediante palabra clave</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Examinar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
+        <translation>Examinar vídeos por categoría</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
-        <source>Make yourself comfortable</source>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Siéntete como en casa</translation>
+    </message>
 </context>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
-        <translation>&amp;Parar</translation>
+        <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
-        <translation>Parar reproducción y volver a la vista de búsqueda</translation>
+        <translation>Detener reproducción y volver a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Sa&amp;ltar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Saltar al siguiente vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pausar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar la lista de reproducción y la barra de herramientas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir a la página del vídeo en YouTube y pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar al portapapeles el enlace del vídeo de YouTube actual </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Copiar al portapapeles la &amp;URL del stream de vídeo actual</translation>
+        <translation>Copiar al portapapeles la &amp;URL del flujo de vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
-        <translation>Encontrar otras partes de video, con suerte, en el orden correcto</translation>
+        <translation>Buscar otras partes del vídeo, con suerte, en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>Elimina&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Eliminar los vídeos seleccionados de la lista de reproducción </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>S&amp;ubir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Subir en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Bajar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Bajar en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpiar el historial de búsquedas. Esta acción no puede deshacerse.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Adiós</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 en la Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
-        <translation>Por favor, apoye el continuo desarrollo de %1</translation>
+        <translation>Apoye el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
-        <translation>&amp;Acerca de</translation>
+        <translation>&amp;Acerca de...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
-        <translation>Información sobre %1</translation>
+        <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
-        <translation>Búsqueda</translation>
+        <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
-        <translation>Muestra detalles sobre las descargas de vídeos</translation>
+        <translation>Mostrar detalles sobre las descargas de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
-        <translation>Descarga el vídeo actual</translation>
+        <translation>Descargar el vídeo actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Compartir el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Siempre Visible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
-        <translation>&amp;Pausar Después De Este Video</translation>
+        <translation>&amp;Detener después de este vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
-        <translation>&amp;Reporte un inconveniente...</translation>
+        <translation>&amp;Informar de un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
-        <translation>&amp;Refinar Búsqueda...</translation>
+        <translation>&amp;Refinar búsqueda...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Más...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Ver vídeos relacionados con el actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>Lista de Re&amp;producción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>Com&amp;partir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Presiona %1 para subir el volumen, %2 para bajarlo</translation>
+        <translation>Pulse %1 para subir el volumen y %2 para bajarlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>¿Deseas salir de %1 con una descarga activa?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si cierras %1, esta descarga se cancelará.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Esperar la finalización de la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de pan&amp;talla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
-        <translation>%1 versión %2 ya está disponible.</translation>
+        <translation>La versión %2 de %1 ya está disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
-        <translation>P&amp;revio</translation>
+        <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Vuelve a la vista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
-        <translation>&amp;Modo Compacto</translation>
+        <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el &amp;enlace de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Copiar Video En Línea &amp;URL</translation>
+        <translation>Copiar &amp;URL del flujo de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Encontrar Videos &amp;Partes</translation>
+        <translation>Buscar &amp;partes del vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpiar búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Iniciar Reproducción Manual</translation>
+        <translation>&amp;Iniciar reproducción manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
-        <translation>Empezar a reproducir videos manualmente</translation>
+        <translation>Empezar a reproducir vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Elegir la ubicación del contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
-        <translation>Reiniciar la reproducción</translation>
+        <translation>Reanudar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
-        <translation>El volumen está desactivado</translation>
+        <translation>El volumen está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
-        <translation>El volumen está activado</translation>
+        <translation>El volumen no está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
-        <translation>Definición Máxima de Video es %1</translation>
+        <translation>La definición máxima de vídeo es %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Su privacidad ahora es segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Descargas completadas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora puedes pegar el enlace de Youtube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
-        <translation>Ahora puedes pegar la URL del stream de vídeo en otra aplicación</translation>
+        <translation>Ahora puedes pegar la URL del flujo de vídeo en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
-        <translation>EL enlace será válido sólo por un plazo de tiempo limitado.</translation>
+        <translation>El enlace será válido sólo por un plazo de tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Esta es sólo la versión de demo de %1.</translation>
+        <translation>Esta es la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Le premite probar la aplicación y ver si le funciona.</translation>
+        <translation>Esta versión le permite probar la aplicación y ver si le sirve.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation>episodio</translation>
+        <translation>capítulo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
-        <translation>Descargand %1</translation>
+        <translation>Descargando %1</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>¡Una nueva versión de %1 ya está disponible!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 ya está disponible. Tienes la %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>¿Deseas descargarla ahora?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>Saltar esta versión</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>Recordarme después</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Instalar actualización</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Pegar</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 vistas</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
-        <translation type="unfinished"/>
+        <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
-        <translation type="unfinished"/>
+        <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
-        <translation type="unfinished"/>
+        <translation>Completo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
-        <translation type="unfinished"/>
+        <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
-        <translation type="unfinished"/>
+        <translation>Detener descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
-        <translation type="unfinished"/>
+        <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation type="unfinished"/>
+        <translation>Abrir carpeta raíz</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation type="unfinished"/>
+        <translation>Reiniciar descarga</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Buscando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
-        <translation type="unfinished"/>
+        <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>No hay vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
-        <translation type="unfinished"/>
+        <translation>No hay más vídeos</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
-        <translation>Sortear por</translation>
+        <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
-        <translation>Calificación</translation>
+        <translation>Valoraciones</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Histórico</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
-        <translation>7 Días</translation>
+        <translation>7 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
-        <translation>30 Días</translation>
+        <translation>30 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Corto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Mediano</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
-        <translation>Menor que 4 minutos</translation>
+        <translation>Inferior a 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
-        <translation>Mayor que 20 minutos</translation>
+        <translation>Superior a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
-        <translation>Alta Definición</translation>
+        <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Finalizado</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Finalizado</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
-        <translation>Bienvenido/a a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+        <translation>Bienvenidos a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introducir</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
-        <translation>empezar a ver vídeos</translation>
+        <translation>para empezar a ver vídeos</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Palabras clave recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Volver</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Hacia adelante %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Hacia atrás %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
-        <translation>Refinar Búsqueda</translation>
+        <translation>Refinar búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Quiso decir: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
+        <translation>Más popular</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Más compartidos</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Más comentados</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
+        <translation>Mejor valorados</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>No se puede obtener el flujo de vídeo para %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 por %2 </translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Bélgica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brasil</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Canadá</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Colombia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>República Checa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egipto</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Francia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Alemania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Grecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Hungría</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irlanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japón</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malasia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>México</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marruecos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Países Bajos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Nueva Zelanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Perú</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filipinas</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Polonia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Rusia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Arabia Saudí</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Sudáfrica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Corea del Sur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>España</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Suecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwán</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Túnez</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turquía</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Emiratos Árabes Unidos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Reino Unido</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Yemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Mundial</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index 7de34c5cda705b13aac7f5e36b0c56d12b52e99f..73066ccee476eb18bf38142a7c64d189b47474c1 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Selaimen ulkopuolellakin on elämää!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versio: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Lisensoitu henkilölle: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 on ilmainen ohjelma, mutta sen kehittäminen vie kallista aikaa.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Voit tukea %2-kehitystä jatkumista tekemällä &lt;a href=&apos;%1&apos;&gt;lahjoituksen&lt;/a&gt;.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Sinua voi kiinnostaa myös nämä sovellukseni:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube-musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Käännä %1 äidinkielellesi käyttämällä %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Kuvakkeen suunnitteli %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Julkaistu &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt; -lisenssillä</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Mitä olet aina halunnut tietää %1sta, muttet ole koskaan kehdannut kysyä</translation>
     </message>
@@ -78,7 +78,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Syötä tähän lisenssitietosi</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
     <message>
         <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Lisensoi %1</translation>
+        <translation>Lisensioi %1.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Tämä koekäyttöversio on vanhentunut.</translation>
+        <translation>Tämä demon kokeiluaika on päättynyt.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Ilman lisenssiä tämä sovellus vanhenee %1 päivässä.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
         <translation>Osta lisenssi</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Tekijältä %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Kaikki videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Katsomattomat videot</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Merkitse kaikki katsotuiksi</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Näytä päivitetyt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nimi</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Viimeksi päivitetyt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Viimeksi lisätyt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Viimeksi katsotut</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Katsotuimmat</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Järjestysperuste</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Kaikki videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Katsomattomat videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Päivitettyjä tilauksia ei ole tällä hetkellä.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Sinulla ei ole tilauksia. Käytä tähtisymbolia tilataksesi kanavia.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>tavua</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>Kt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>Mt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>tavua/sekunnissa</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>Kt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>Mt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekunttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minuuttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 jäljellä</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1-kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Voit ladata vain videoita jotka ovat lyhyempiä kuin %1 minuuttia, jotta voit testata latausominaisuutta.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ladattu ajassa %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Lataus valmistui</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Valitse latausten sijainti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Lataus sijaintia on muutettu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nykyiset lataukset menevät vanhaan sijaintiin.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Ladataan kansioon: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Lataukset</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Toista</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Toista/keskeytä</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Pysäytä toisto nykyisen kappaleen jälkeen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Seuraava kappale</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Edellinen kappale</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Lisää äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Vähennä äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Vaimenna</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Kelaa eteenpäin</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Kelaa taaksepäin</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Etsi videoita ja kanavia avainsanalla</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Selaa</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Selaa videoita ryhmien mukaan</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Tilaukset</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Kanavatilaukset</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Tee olosi kotoisaksi</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Pysäytä toisto ja palaa hakuruutuun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hyppää yli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Siirry seuraavaan videoon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Keskeytä toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Koko näytön tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Siirry koko näytön tilaan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Piilota soittolista sekä työkalupalkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Keskeytä toisto ja mene videon YouTube-sivulle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopioi nykyisen videon YouTube-linkki leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopioi nykyisen videovirran osoite leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Löydä videon muut osat toivottavasti oikeassa järjestyksessä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Poista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Poista valitut videot toistolistalta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Siirrä &amp;ylös</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Siirrä valitut videot ylemmäksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Sirrä &amp;alas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Siirrä valitut videot alemmaksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Tyhjennä hakuhistoria. Tätä toimintoa ei voi kumota.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Näkemiin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettisivusto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 netissä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Tue %1n jatkokehitystä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Tietoja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Tietoja %1sta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Vaimenna ääni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Lataukset</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Näytä tietoja latauksista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Lataa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Lataa nykyinen video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>%Tilaa kanava</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Jaa nykyinen video palvelulla %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Pysy päällimmäisenä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>Py&amp;säytä toisto tämän videon jälkeen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ilmoita ongelmasta...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Määritä haku uudelleen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Lisää...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Aiheeseen liittyvät videot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Katso nykyiseen videoon liittyvät videot</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Sovellus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Osta %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>S&amp;oittolista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Jaa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Ohje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Paina näppäinyhdistelmää %1 nostaaksesi tai %2 laskeaksesi äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Avataan kohdetta %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Haluatko, että %1 sulkeutuu vaikka lataus on kesken?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jos suljet %1n nyt niin tämä lataus keskeytetään.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Sulje ja peru lataus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Odota latauksen valmistumista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation> Poistu &amp;koko näytön tilasta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versio %2 on nyt saatavilla.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Muistuta myöhemmin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Päivitä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Virhe: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>E&amp;dellinen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Siirry takaisin edelliseen kappaleeseen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakti &amp;tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Avaa &amp;YouTube-sivu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopioi YouTube-&amp;linkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopioi videovirran &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Etsi videon &amp;osat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Ty&amp;hjennä viimeisimmät haut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Tee &amp;lahjoitus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Aloita toisto &amp;manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Aloittaa videoiden toiston manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Valitse sisältösi sijainti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Toista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Jatka toistoa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Aikaa jäljellä: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Äänentaso: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Ääni on vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Ääni ei ole vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Yksityisyytesi on nyt turvattu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Lataukset ovat valmistuneet</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Voit nyt liittää YouTube-linkin johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Voit nyt liittää videovirran osoitteen (URL) johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Osoite on käytössä vain rajoitetun ajan.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1n kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Voit kokeilla ohjelmaa nähdäksesi, toimiiko se.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>osa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>jakso</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Lähetetty palvelusta %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Peru kanavan %1 tilaus</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Tilaa kanava %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Ladataan %1ta/tä</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Uusi versio sovelluksesta %1 on saatavilla!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 on nyt saatavilla. Sinulla on %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation>Muistuta myöhemmin</translation>
+        <translation>Muistuta minua myöhemmin</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Liitä</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>Katsottu %1 kertaa</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Valmistellaan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Epäonnistui</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Valmis</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Pysäytetty</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Pysäytä lataus</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Avaa %1ssa/ssä</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Avaa yläkansio</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Käynnistä lataus uudelleen</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Etsitään...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Näytä %1 lisää</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Ei videoita</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Ei enempää videoita</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Olennaisuus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Päiväys</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Katselukerrat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Arvostelu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Milloin tahansa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Kesto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Kaikki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Lyhyt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Keskipituinen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Pitkä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Vähemmän kuin 4 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4-20 minuutin välillä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Pidempi kuin 20 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Laatu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Teräväpiirto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p tai tarkempi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Valmis</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Valmis</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Tervetuloa &lt;a href=&apos;%1&apos;&gt;%2en&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Hanki täysversio</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Syötä</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>hakusana</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>kanava</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>aloittaaksesi videoiden katselu.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Katso</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Viimeisimmät hakusanat</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Viimeisimmät kanavat</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Takaisin</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Eteenpäin kohteeseen %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Takaisin kohteeseen %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Määritä haku uudelleen</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Tarkoititko: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
+        <translation>Suosituimmat</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Jaetuimmat</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Keskustelluimmat</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Arvostetuimmat</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Kaikkien aikojen suosituimmat</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostriimiä ei saada kohteelle %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Verkkovirhe: &quot;%1&quot; &quot;%2&quot;lle</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentiina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Belgia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brasilia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Kolumbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>Tšekin tasavalta</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egypti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Ranska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Saksa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Kreikka</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hongkong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Unkari</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Intia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irlanti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japani</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Meksiko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marokko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Alankomaat</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Uusi-Seelanti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filippiinit</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Puola</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Venäjä</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Saudi-Arabia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapore</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Etelä-Afrikka</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Etelä-Korea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Espanja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Ruotsi</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunisia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turkki</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Yhdistyneet arabiemiirikunnat</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Yhdistynyt kuningaskunta</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Maailmanlaajuinen</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index a5c8bf2b3cb55e31de7ec540950bdec6a068b493..dcc2ebc274f3a4b48d12bb6d5674ab27495c84ce 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Selaimen ulkopuolellakin on elämää!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versio: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Lisensoitu henkilölle: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 on ilmainen ohjelma, mutta sen kehittäminen vie kallista aikaa.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Voit tukea %2-kehitystä jatkumista tekemällä &lt;a href=&apos;%1&apos;&gt;lahjoituksen&lt;/a&gt;.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Sinua voi kiinnostaa myös nämä sovellukseni:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube-musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Käännä %1 äidinkielellesi käyttämällä %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Kuvakkeen suunnitteli %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Julkaistu &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt; -lisenssillä</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Mitä olet aina halunnut tietää %1sta, muttet ole koskaan kehdannut kysyä</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>Täysversio sallii sinun ladata yli %1 minuutin pituisia videoita ja katsoa videoita ilman keskeytyksiä.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <translation>Osta lisenssi</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Tekijältä %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Kaikki videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Katsomattomat videot</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Merkitse kaikki katsotuiksi</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Näytä päivitetyt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nimi</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Viimeksi päivitetyt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Viimeksi lisätyt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Viimeksi katsotut</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Katsotuimmat</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Järjestysperuste</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Kaikki videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Katsomattomat videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Päivitettyjä tilauksia ei ole tällä hetkellä.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Sinulla ei ole tilauksia. Käytä tähtisymbolia tilataksesi kanavia.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>tavua</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>Kt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>Mt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>tavua/sekunnissa</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>Kt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>Mt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekunttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minuuttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 jäljellä</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1-kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Voit ladata vain videoita jotka ovat lyhyempiä kuin %1 minuuttia, jotta voit testata latausominaisuutta.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ladattu ajassa %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Lataus valmistui</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform>%n Lataus(ta)</numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Valitse latausten sijainti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Lataus sijaintia on muutettu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nykyiset lataukset menevät vanhaan sijaintiin.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Ladataan kansioon: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Lataukset</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Toista</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Toista/keskeytä</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Pysäytä toisto nykyisen kappaleen jälkeen</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Seuraava kappale</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Edellinen kappale</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Lisää äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Vähennä äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Vaimenna</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Kelaa eteenpäin</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Kelaa taaksepäin</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Etsi videoita ja kanavia avainsanalla</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Selaa</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Selaa videoita ryhmien mukaan</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Tilaukset</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Kanavatilaukset</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Tee olosi kotoisaksi</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Pysäytä toisto ja palaa hakuruutuun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hyppää yli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Siirry seuraavaan videoon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Keskeytä toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Koko näytön tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Siirry koko näytön tilaan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Piilota soittolista sekä työkalupalkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Keskeytä toisto ja mene videon YouTube-sivulle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopioi nykyisen videon YouTube-linkki leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopioi nykyisen videovirran osoite leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Löydä videon muut osat toivottavasti oikeassa järjestyksessä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Poista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Poista valitut videot toistolistalta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Siirrä &amp;ylös</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Siirrä valitut videot ylemmäksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Sirrä &amp;alas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Siirrä valitut videot alemmaksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Tyhjennä hakuhistoria. Tätä toimintoa ei voi kumota.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Näkemiin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettisivusto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 netissä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Tue %1n jatkokehitystä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Tietoja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Tietoja %1sta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Vaimenna ääni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Lataukset</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Näytä tietoja latauksista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Lataa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Lataa nykyinen video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>%Tilaa kanava</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Jaa nykyinen video palvelulla %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Pysy päällimmäisenä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>Py&amp;säytä toisto tämän videon jälkeen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ilmoita ongelmasta...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Määritä haku uudelleen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Lisää...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Aiheeseen liittyvät videot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Katso nykyiseen videoon liittyvät videot</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Sovellus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Osta %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>S&amp;oittolista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Jaa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Ohje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Paina näppäinyhdistelmää %1 nostaaksesi tai %2 laskeaksesi äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Avataan kohdetta %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Haluatko, että %1 sulkeutuu vaikka lataus on kesken?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jos suljet %1n nyt niin tämä lataus keskeytetään.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Sulje ja peru lataus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Odota latauksen valmistumista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation> Poistu &amp;koko näytön tilasta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versio %2 on nyt saatavilla.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Muistuta myöhemmin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Päivitä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Virhe: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>E&amp;dellinen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Siirry takaisin edelliseen kappaleeseen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakti &amp;tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Avaa &amp;YouTube-sivu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopioi YouTube-&amp;linkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopioi videovirran &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Etsi videon &amp;osat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Ty&amp;hjennä viimeisimmät haut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Tee &amp;lahjoitus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Aloita toisto &amp;manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Aloittaa videoiden toiston manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Valitse sisältösi sijainti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Toista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Jatka toistoa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Aikaa jäljellä: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Äänentaso: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Ääni on vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Ääni ei ole vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Yksityisyytesi on nyt turvattu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Lataukset ovat valmistuneet</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Voit nyt liittää YouTube-linkin johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Voit nyt liittää videovirran osoitteen (URL) johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Osoite on käytössä vain rajoitetun ajan.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1n kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Voit kokeilla ohjelmaa nähdäksesi, toimiiko se.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>osa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>jakso</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Lähetetty palvelusta %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Peru kanavan %1 tilaus</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Tilaa kanava %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Ladataan %1ta/tä</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>Katsottu %1 kertaa</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Valmistellaan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Epäonnistui</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Valmis</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Pysäytetty</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Pysäytä lataus</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Avaa %1ssa/ssä</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Avaa yläkansio</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Käynnistä lataus uudelleen</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Etsitään...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Näytä %1 lisää</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Ei videoita</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Ei enempää videoita</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Olennaisuus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Päiväys</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Katselukerrat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Arvostelu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Milloin tahansa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Kesto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Kaikki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Lyhyt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Keskipituinen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Pitkä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Vähemmän kuin 4 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4-20 minuutin välillä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Pidempi kuin 20 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Laatu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Teräväpiirto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p tai tarkempi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Valmis</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Valmis</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Tervetuloa &lt;a href=&apos;%1&apos;&gt;%2en&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Hanki täysversio</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Syötä</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>hakusana</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>kanava</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>aloittaaksesi videoiden katselu.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Katso</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Viimeisimmät hakusanat</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Viimeisimmät kanavat</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Takaisin</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Eteenpäin kohteeseen %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Takaisin kohteeseen %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Määritä haku uudelleen</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Tarkoititko: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>Suosituimmat</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Jaetuimmat</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Keskustelluimmat</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Arvostetuimmat</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Kaikkien aikojen suosituimmat</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostriimiä ei saada kohteelle %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Verkkovirhe: &quot;%1&quot; &quot;%2&quot;lle</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentiina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Belgia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brasilia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Kolumbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>Tšekin tasavalta</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egypti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Ranska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Saksa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Kreikka</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hongkong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Unkari</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Intia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irlanti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japani</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Meksiko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marokko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Alankomaat</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Uusi-Seelanti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filippiinit</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Puola</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Venäjä</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Saudi-Arabia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapore</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Etelä-Afrikka</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Etelä-Korea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Espanja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Ruotsi</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunisia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turkki</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Yhdistyneet arabiemiirikunnat</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Yhdistynyt kuningaskunta</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Maailmanlaajuinen</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index 9551f9beda7184279898913d39e0cee52d34c47b..925b5e9e01008a9f6548970843d3227ec882e9f8 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Il y a une vie après le navigateur !</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licence accordée à : %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 est un Logiciel Libre, mais son développement prend un temps précieux.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Merci &lt;a href=&apos;%1&apos;&gt;d&apos;envoyer vos dons&lt;/a&gt; pour aider à poursuivre le développement de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Vous serrez sûrement intéressé par mes autres applications :</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un lecteur de musique basé sur YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un lecteur de musique</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduisez %1 dans votre langue native en utilisant %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Icône dessinée par %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Proposé sous licence &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Fermer</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>À propos</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Ce que vous avez toujours voulu savoir à propos de %1 et que vous n&apos;avez jamais osé demander</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>La version complète vous permet de télécharger des vidéos de plus de %1 minutes et de regarder des vidéos sans interruptions.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <translation>Acheter une licence</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Par %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Toutes les vidéos</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Vidéos non vues</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Tout marquer comme vu</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Afficher les mises à jour</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nom</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Dernièrement mis à jour</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Dernièrement ajoutées</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Dernièrement vues</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Les plus vues</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Trier par</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Toutes les vidéos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Vidéos non vues</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Il n&apos;y a pas d&apos;abonnements mis à jour en ce moment.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Vous n&apos;avez pas d&apos;abonnements. Utilisez le symbole de l&apos;étoile pour vous abonner à des chaines,</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
-        <translation>bytes</translation>
+        <translation>octets</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
-        <translation>KB</translation>
+        <translation>Kio</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
-        <translation>MB</translation>
+        <translation>Mio</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
-        <translation>bytes/sec</translation>
+        <translation>octets/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
-        <translation>KB/sec</translation>
+        <translation>Kio/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
-        <translation>MB/sec</translation>
+        <translation>Mio/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>secondes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restant</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Il s&apos;agit seulement de la version démo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Vous ne pouvez télécharger que des vidéos plus courtes que %1 minutes de sorte que vous pouvez tester la fonctionnalité de téléchargement.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuer</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 téléchargé sur %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Téléchargement terminé</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Téléchargement</numerusform><numerusform>%n Téléchargements</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Changer d&apos;emplacement...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Choisissez l&apos;emplacement de téléchargement</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Emplacement de téléchargement changé.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Les téléchargements en cours iront à l&apos;emplacement précédent.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Téléchargement de : %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Téléchargements</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Lancer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Lance/Pause</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Arrêter</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Arrêtez après le morceau en cours</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Morceau suivant</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Monceau précédent</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Augmenter le volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Diminuer le volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Muet</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Avancer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Retour</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Chercher</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Trouver des vidéos et des chaînes par mot-clé</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Parcourir</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Parcourir les vidéos par catégories</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Abonnements</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Abonnements aux chaines</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
+        <translation>Installez-vous confortablement</translation>
     </message>
 </context>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Erreur</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Arrêter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Arrêter et aller à la page de recherche</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Passer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Passer à la vidéo suivante</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Mettre en pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Plein écran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Mettre en plein écran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Cacher la liste de lecture et la barre d&apos;outils</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Aller à la page de la vidéo Youtube et mettre en pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copier l&apos;adresse de la vidéo YouTube courante dans le presse-papier</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copier l&apos;adresse du flux vidéo courant dans le presse-papier</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Trouver les autres parties de la vidéo en espérant qu&apos;elles soient dans le bon ordre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Supprimer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Supprimer la vidéo sélectionnée de la liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Déplacer vers les &amp;haut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Déplacer la vidéo sélectionnée vers le haut dans la liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Déplacer vers les &amp;bas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Déplacer la vidéo sélectionnée vers le bas dans la liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Effacer l&apos;historique de recherche. Opération irréversible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Quitter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Au revoir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Site &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 sur le Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Merci d&apos;aider à poursuivre le développement de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;À propos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>À propos de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Chercher</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Couper le son</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Téléchargements</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Voir les détails à propos des téléchargements de la vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Téléchargement</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Télécharger la vidéo en cours</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;S&apos;abonner à la chaine</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Partager cette vidéo avec %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Fermer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Laisser au dessus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Arrêter après cette vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Signaler un problème...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Affiner la recherche...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Plus…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>Vidéos &amp;Relatives</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Regarder des vidéos relatives à la vidéo courante</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Acheter %1 …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Vue</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Partager</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Aide</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Appuyer sur %1 pour augmenter le volume, sur %2 pour le baisser</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Ouverture de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Voulez-vous vraiment quitter %1 avec un téléchargement en cours ?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si vous fermez %1 maintenant, ce téléchargement sera annulé.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Fermer et annuler le téléchargement</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Attendez la fin du téléchargement</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Quitter le &amp;mode plein écran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 est maintenant disponible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Me rappeler plus tard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Mettre à jour</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Erreur : %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;récédent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Aller à la piste précédente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compact</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Ouvrir la page &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copier le &amp;lien Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copier l&apos;&amp;URL du flux vidéo </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Trouver les &amp;parties de la vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Effacer les recherches récentes </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Faire un &amp;Don</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Démarrer manuellement la lecture de vidéos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Choisissez l&apos;emplacement de votre contenu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Jouer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Relancer la lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant : %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volume à %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
-        <translation>Volume OFF</translation>
+        <translation>volume actif</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
-        <translation>Volume ON</translation>
+        <translation>Volume inactif</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Résolution vidéo maximale fixée à %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Votre confidentialité est maintenant respectée</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Téléchargements terminés</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Vous pouvez maintenant copier l&apos;adresse Youtube dans une autre application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Vous pouvez maintenant coller l&apos;adresse du flux vidéo dans une autre application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Le lien ne sera valide que pour un temps limité.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>C&apos;est juste la version démo de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Cela vous permet de tester l&apos;application et voir si cela fonctionne pour vous.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuer</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>partie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>épisode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Envoyé par %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Se désabonner de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>S&apos;abonner à %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>%1 Téléchargement</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation>Sauter Cette Version</translation>
+        <translation>Sauter cette version</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation>Me Le Rappeler Plus Tard</translation>
+        <translation>Me le rappeler plus tard</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation>Installer La Mise à jour</translation>
+        <translation>Installer la mise à jour</translation>
     </message>
 </context>
 <context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 vues</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
-        <translation type="unfinished"/>
+        <translation>Préparation</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
-        <translation type="unfinished"/>
+        <translation>Échec</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
-        <translation type="unfinished"/>
+        <translation>Terminé</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
-        <translation type="unfinished"/>
+        <translation>Arrêté</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
-        <translation type="unfinished"/>
+        <translation>Arrêter le téléchargement</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
-        <translation type="unfinished"/>
+        <translation>Montrer dans %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation type="unfinished"/>
+        <translation>Ouvrir le dossier parent</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation type="unfinished"/>
+        <translation>Redémarrer le téléchargement</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Recherche en cours…</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
-        <translation type="unfinished"/>
+        <translation>Afficher %1 de plus</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Pas de vidéos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
-        <translation type="unfinished"/>
+        <translation>Il n&apos;y a plus de vidéos</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Trier par</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Pertinence</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Date</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Nombre de vues</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Note</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>N&apos;importe quand</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Aujourd&apos;hui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 jours</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 jours</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Durée</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Tous</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Court</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Moyen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Long</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Inférieur à 4 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 et 20 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Plus long que 20 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Qualité</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Haute définition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p ou plus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Terminer</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Terminé</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenue sur  &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Entrer</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>un mot-clé</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>une chaîne</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>pour commencer à regarder des vidéos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Regarder</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Derniers mots-clés</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Chaînes récentes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Retour</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Continuer à %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Revenir à %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Affiner la recherche</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
-        <translation>Vouliez-vous dire: %1</translation>
+        <translation>Vouliez-vous dire : %1</translation>
     </message>
 </context>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>Les plus populaires</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Les plus partagées</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Les plus commentées</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Les mieux notées</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Les plus populaires de tous les temps</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Impossible d&apos;obtenir le flux vidéo de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Erreur réseau : %1 pour %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algérie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentine</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Belgique</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brésil</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Canada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chili</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Colombie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>République Tchèque</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Égypte</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>France</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Allemagne</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Grèce</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Hongrie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Inde</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonésie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irelande</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israël</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japon</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordanie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malaisie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Mexique</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Maroc</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Pays-Bas</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Nouvelle Zélande</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Pérou</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Philippines</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Pologne</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Russie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Arabie Saoudite</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapour</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Afrique du Sud</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Corée du Sud</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Espagne</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Suède</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taïwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunisie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turquie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Ouganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Émirats Arabes Unis</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Royaume Uni</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Yémen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Monde entier</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
diff --git a/locale/gl.ts b/locale/gl.ts
new file mode 100644 (file)
index 0000000..3b60606
--- /dev/null
@@ -0,0 +1,1596 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="gl" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Existe vida máis aló do navegador!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Versión %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Baixo licenza por: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 é Software libre, mais o seu desenvolvemento leva un tempo precioso.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Faga unha &lt;a href=&apos;%1&apos;&gt;doazón&lt;/a&gt; para axudar na continuación do desenvolvemento de %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Pode querer probar tamén outros aplicativos meus:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, un reprodutor de música de YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, un reprodutor de música</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Traducir %1 ao seu idioma empregando %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Icona deseñada por %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Publicado baixo a &lt;a href=&apos;%1&apos;&gt;Licenza pública Xeral GNU&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Pechar</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Sobre</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>O que vostede sempre quixo saber sobre %1 e nunca se atreveu a preguntar</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Introduce os detalles da túa licenza</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Correo electrónico:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Código:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Licenza %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Esta demo caducou.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>A versión completa permítelle descargar vídeos de máis de %1 minutos e ver vídeos sen interrupcións.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Sen licenza o aplicativo expira en %1 días.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>Ao comprar a versión completa, tamén vai apoiar o traballo arreo que puxen en crear %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Usar a demostración</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Introducir a licenza</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Comprar a licenza</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Por %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Todos os vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Vídeos non vistos</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Marcar todos como vistos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Amosar a actualización</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nome</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Última actualización</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Último engadido</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Último visto</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Máis vistos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ordenar por</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Todos os vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Vídeos non vistos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Neste momento non ten subscricións de actualización.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Non ten subscricións. Utilice o símbolo da estrela para subscribirse ás canles.</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Limpar</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>bytes</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>bytes/seg</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB/seg</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>MB/seg</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>segundos</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>minutos</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 restantes</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Isto é só a versión demo de %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>Só se poden descargar vídeos curtos de menos de %1 minutos para que poida probar a utilidade de descargas.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Continuar</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Obter a versión completa</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 descargado en %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Rematou a descarga</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargas
+        </numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Cambiar a localización...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Escolla a localización da descarga</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Cambiada a localización da descarga.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>A descarga actual aínda se fai na localización anterior.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Descargando en: %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Descargas</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Descargando a actualización...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Reproducir</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Deter</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Reproducir/deter</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Parar</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Parar a reprodución despois da pista actual</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Seguinte pista</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Pista anterior</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Aumentar volume</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Diminuír volume</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Silenciar</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Buscar cara adiante</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Buscar cara atrás</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Buscar</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Atopar vídeos e canles por palabra clave</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Examinar</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Examinar vídeos por categoría</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Subscricións</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Subscricións a canles</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Síntase cómodo</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Erro</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Parar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Parara a reprodución e volver á vista de busca</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>&amp;Saltar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Saltar ao seguinte vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Deter</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Deter a reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Pantalla completa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Ir á pantalla completa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Agochar a lista de reprodución e a barra de tarefas</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Ir á páxina de vídeos YouTube e por en pausa a reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Copiar a ligazón actual de vídeo de YouTube no portapapeis</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Copiar o URL actual do fluxo de vídeo no portapapeis</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Buscar pezas doutro vídeo agardando sexan na orde correcta</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Retirar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Retirar os vídeos seleccionados da lista de reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>Mover cara &amp;arriba</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Mover cara arriba os vídeos seleccionados na lista de reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Mover cara a&amp;baixo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Mover cara abaixo os vídeos seleccionados na lista de reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Limpar o historial de buscas. Non se pode desfacer.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Saír</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Deica logo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>Sitio &amp;web</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 na web</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Por favor apoie o desenvolvemento continuo de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>&amp;Sobre</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Información acerca de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Buscar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Silenciar o volume</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Descargas</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Mostrar os detalles sobre as descargas de vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>&amp;Descarga</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Descargando o vídeo actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Subscribirse á canle</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Compartir o vídeo actual empregando %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Correo-e</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Correo-e</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Pechar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Flotante e arriba</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Deter despois deste vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>&amp;Informar dun erro...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>&amp;Afinar a busca...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Máis...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>Vídeos &amp;relacionados</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Ver vídeos relacionados co actual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Aplicativo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Mercar %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Reproducir</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Lista de reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Ver</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Compartir</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>A&amp;xuda</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Prema %1 para aumentar o volume, %2 para diminuílo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Abrindo %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Desexa saír de %1 cunha descarga en proceso?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Se pecha %1 agora, esta descarga vai seren cancelada.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Pechar e cancelar a descarga</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Agardar a que remate a descarga</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Abandonar a &amp;pantalla completa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 versión %2 xa está dispoñíbel.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Lembrar máis adiante</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Actualizar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Produciuse un erro: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>A&amp;nterior</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Ir á pista anterior</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>Modo &amp;compacto</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Abrir a páxina de &amp;YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Copiar a &amp;ligazón de YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Copiar o &amp;URL do fluxo de vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Atopar &amp;partes de vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>&amp;Limpar as buscas recentes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Facer unha &amp;doazón</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Comezar a reprodución &amp;manualmente</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Comezar manualmente a reprodución dos vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Escolla a localización do seu contido</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Reproducir</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Continuar a reprodución</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Tempo restante: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Volume ao %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>O volume está silenciado</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>O volume non está silenciado</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Resolución máxima de vídeo fixada en %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>A súa intimidade agora está segura</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Descargas completadas</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Agora pode pegar a ligazón de YouTube noutro aplicativo</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Agora pode pegar o URL do fluxo de vídeo noutro aplicativo</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>A ligazón ten validez só por un tempo limitado.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Isto é só a versión demo de %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Permítelle probar o aplicativo e comprobar se vai ao seu xeito.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Continuar</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>de</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>peza</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>episodio</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Enviado desde %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Darse de baixa de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Subscribirse a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Obter a versión completa</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Descargando %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Hai unha nova versión de %1 dispoñible!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 está agora dispoñible. Tes %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Queres descargala agora?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Saltar esta versión</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Acórdamo máis adiante</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Instalar a actualización</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Pegar</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 vistas</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 de %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Preparando</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Produciuse un fallo</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Completada</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Detida</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Deter a descarga</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Mostrar en %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Abrir o cartafol pai</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Reiniciar a descarga</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Buscando...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Mostrar %1 máis</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Non hai vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Non hai máis vídeos</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Ordenar por</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Relevancia</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Data</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Contador de vistas</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Cualificación</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>Calquera momento</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Hoxe</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 días</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 días</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Duración</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Todo</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Curto</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Medio</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Longo</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Menos de 4 minutos</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Entre 4 e 20 minutos</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Máis de 20 minutos</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Calidade</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Alta definición</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p ou máis</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Feito</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Feito</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Buscar</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Benvido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Obter a versión completa</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Introduza</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>unha palabra clave</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>unha canle</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>para comezar a ver vídeos.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Ver</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Palabra clave recente</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Canles recentes</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Atrás</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Ir a %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Volver a %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>Afinar a busca</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Quizás quixo dicir: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Máis popular</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Máis compartido</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Máis discutido</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Máis destacados</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>O máis popular de sempre</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Non é posíbel obter o fluxo de vídeo de %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Produciuse un erro na rede: %1 por %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Alxeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Arxentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Bélxica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Brasil</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Canada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>República Checa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Exipto</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Francia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Alemania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Grecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Hungría</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Irlanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Italia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Xapón</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Xordania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Quenia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Malaisia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>México</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Marrocos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Holanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>Nova Celandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Nixeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Perú</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Filipinas</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Polonia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Rusia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudí</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>Suráfrica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Corea do Sur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>España</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Suecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Tunisia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Turquía</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>Emiratos Árabes Unidos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Reino Unido</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Iemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Todo o mundo</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index 14bd9e515df9f5c8ecc61f95bec4dbd4bc14db34..94153f9e74ad0e71002d0ce3fbb76feab0f7d4de 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>יש חיים מחוץ לדפדפן!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>גרסה %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>הרישוי לטובת: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 הנה תכנה חופשית אך פיתוחה לוקח המון זמן יקר.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>אנא &lt;a href=&apos;%1&apos;&gt;תרמו&lt;/a&gt; כדי לתמוך בהמשך הפיתוח של %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>מומלץ לנסות להשתמש בשאר היישומים שלי:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, נגן מוזיקה מיוטיוב</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, נגן מוזיקה</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>ניתן לתרגם את %1 לשפת אמך באמצעות %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>הסמל עוצב על ידי %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>התכנה שוחררה תחת תנאי &lt;a href=&apos;%1&apos;&gt;הרישיון הציבורי הכללי של GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;סגירה</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>על אודות</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>מה שתמיד רצית לדעת על %1 ולא העזת לשאול</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>נא להזין את פרטי הרישוי שלך</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;דוא״ל:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;קוד:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>ללא רישיון היישום יפוג בעוד %1 ימים.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>הזנת רישיון</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
+        <translation>רכישת רישיון</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>בתים</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>ק״ב</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>מ״ב</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>בתים/שנייה</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>ק״ב/שנייה</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>מ״ב/שנייה</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>שניות</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>דקות</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 נותרו</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>זוהי רק גרסת ההדגמה של %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>באמצעות גרסה זו ניתן להוריד קטעי וידאו שאורכם אינו עולה על %1 דקות כדי שתהיה באפשרותך לבחור את אפשרות ההורדה.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>המשך</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 התקבל במהירות של %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>ההורדה הושלמה</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>הורדה אחת</numerusform><numerusform>%n הורדות</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>שינוי המיקום...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>נא לבחור את מיקום ההורדה</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>מיקום ההורדה השתנה.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>ההורדה הנוכחית עדיין תישמר במיקום הקודם.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>מתבצעת הורדה אל: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>הורדות</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>העדכון מתקבל...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>נגינה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>השהיה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>נגינה/השהיה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>עצירה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>עצירת הנגינה לאחר הרצועה הנוכחית</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>הרצועה הבאה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>הרצועה קודמת</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>הגברת עצמת השמע</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>הנמכת עצמת השמע</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>השתקה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>סריקה קדימה</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>סריקה אחורה</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>חיפוש</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>חיפוש סרטוני וידאו וערוצים לפי מילת מפתח</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>עיון</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
+        <translation>עיון בקטעי וידאו לפי קטגוריה</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>שבו בניחותא</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>שגיאה</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;עצירה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>עצירת הנגינה וחזרה אל תצוגת החיפוש</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;דילוג</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>דילוג אל הסרטון הבא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>ה&amp;שהיה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>השהיית הנגינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;מסך מלא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>מעבר למסך מלא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>הסתרת רשימת ההשמעה וסרגל הכלים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>מעבר לעמוד הווידאו ב־YouTube והשהיית הנגינה.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>העתקת הקישור אל הווידאו הנוכחי אל לוח הגזירים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>העתקת כתובת תזרים הווידאו אל לוח הגזירים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>חיפוש חלקים אחרים בתקווה שהם בסדר הנכון</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>ה&amp;סרה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>הסרת הסרטונים הנבחרים מרשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>הזזה מ&amp;מעלה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>הזזת הסרטונים הנבחרים במעלה רשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>הזזה מ&amp;טה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>הזזת הסרטונים הנבחרים במורד רשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>מחיקת היסטוריית החיפוש. לא ניתן לבטל</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>י&amp;ציאה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>להתראות</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;אתר האינטרנט</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 באינטרנט</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>אנא תמכו בהמשך הפיתוח של %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;על אודות</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>מידע אודות %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>חיפוש</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>השתקת השמע</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>הו&amp;רדות</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>הצגת פרטים על אודות הורדות וידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>הו&amp;רדה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>הורדת סרטון הווידאו הנוכחי</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>שיתוף הווידאו הנוכחי דרך %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;דוא״ל</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>דוא״ל</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;סגירה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;ציפה מלמעלה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>ל&amp;עצור לאחר וידאו זה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;דיווח על תקלה...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;שיפור החיפוש...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>עוד...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;יישום</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>רכישת %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>נ&amp;גינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;רשימת השמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;וידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;צפייה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;שיתוף</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;עזרה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>ניתן ללחוץ על %1 כדי להגביר את עצמת השמע, %2 כדי להנמיך אותה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>%1 נפתח</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>האם ברצונך לצאת מ־%1 כאשר ישנה הורדה פעילה?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>אם %1 ייסגר כעת, הורדה זו תבוטל.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>סגירה וביטול ההורדה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>יש להמתין לסיום ההורדה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>יציאה ממ&amp;סך מלא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 בגרסה %2 זמין כעת.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>להזכיר לי מאוחר יותר</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>עדכון</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>שגיאה: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>ה&amp;קודם</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>חזרה לרצועה הקודמת</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>מ&amp;צב חסכוני</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>פתיחת העמוד ב&amp;יוטיוב</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>העתקת ה&amp;קישור ליוטיוב</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>העתקת כתובת ת&amp;זרים הווידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>חיפוש ק&amp;טעי וידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;ניקוי החיפושים האחרונים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>ה&amp;גשת תרומה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>התחלת נגינה י&amp;דנית</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>התחלה ידנית בנגינת קטעי הווידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;נגינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>המשך הנגינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>הזמן הנותר: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>עצמת השמע היא %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>השמע מושתק</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>השמע אינו מושתק</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>איכות הנגינה המירבית מוגדרת ל־%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>פרטיותך מוגנת כעת.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>ההורדות הושלמו</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>כעת ניתן להדביק את קישור ה־YouTube שלכם ליישום אחר</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>כעת ניתן להדביק את כתובת תזרים הווידאו ליישום אחר</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>הקישור יהיה תקף לזמן מוגבל בלבד.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>זוהי רק גרסת ההדגמה של %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>גרסה זו מאפשרת לך לבחון את היישום ולראות האם הוא מתאים לצרכיך.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>המשך</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>מתוך</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>חלק</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>פרק</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>נשלח דרך %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>%1 מתקבל</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>האם ברצונך להוריד זאת כעת?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>התעלמות מגרסה זו</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>להזכיר לי מאוחר יותר</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>התקנת עדכון</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>הדבקה</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 צפיות</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>בהליכי חיפוש...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>הצגת %1 נוספים</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>אין סרטונים</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>אין עוד סרטונים</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>סידור לפי</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>רלוונטיות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>תאריך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>מונה צפיות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>דירוג</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>בכל זמן שהוא</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>היום</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 ימים</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 ימים</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>משך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>הכול</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>קצר</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>בינוני</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>ארוך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>פחות מ־4 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>בין 4 ל־20 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>למעלה מ־20 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>איכות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>אבחנה גבוהה (HD)</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p ומעלה</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>הסתיים</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>הסתיים</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>ברוך בואך אל &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>הזנה</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>מילת מפתח</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>ערוץ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>כדי להתחיל לצפות בסרטונים.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>צפייה</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>מילות מפתח אחרונות</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>ערוצים אחרונים</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>שיפור החיפוש</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>האם כוונתך הייתה: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>לא ניתן לקבל את תזרים הווידאו עבור %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>שגיאת רשת: %1 עבור %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>אלג׳יר</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>ארגנטינה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>אוסטרליה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>בלגיה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>ברזיל</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>קנדה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>צ׳ילה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>קולומביה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>הרפובליקה הצ׳כית</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>מצריים</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>צרפת</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>גרמניה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>גאנה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>יוון</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>הונג קונג</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>הונגריה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>הודו</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>אינדונזיה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>אירלנד</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>ישראל</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>איטליה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>יפן</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>ירדן</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>קניה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>מלזיה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>מקסיקו</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>מרוקו</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>הולנד</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>ניו זילנד</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>ניגריה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>פרו</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>הפיליפינים</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>פולין</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>רוסיה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>ערב הסעודית</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>סינגפור</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>דרום אפריקה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>דרום קוריאה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>ספרד</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>שבדיה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>טאיואן</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>תוניס</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>טורקיה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>אוגנדה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>איחוד נסיכויות ערב</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>הממלכה המאוחדת/אנגליה</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>תימן</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>כל העולם</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
diff --git a/locale/hr.ts b/locale/hr.ts
deleted file mode 100644 (file)
index 5422ef0..0000000
+++ /dev/null
@@ -1,1476 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="hr" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/aboutview.cpp" line="32"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>Život postoji i van browsera!</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="33"/>
-        <source>Version %1</source>
-        <translation>Verzija %1</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="38"/>
-        <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="42"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 je besplatan program ali njegov razvoj zahtjeva dragocjeno vrijeme.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="43"/>
-        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Vaša &lt;a href=&apos;%1&apos;&gt;donacija&lt;/a&gt; će pomoći daljnjem razvoju %2.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="47"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>Možete isprobati i moje ostale aplikacije:</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="50"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, player glazbe sa YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="54"/>
-        <source>%1, a music player</source>
-        <translation>%1, za reprodukciju glazbe</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="60"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation>Prevedite %1 na svoj jezik koristeći %2</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="65"/>
-        <source>Icon designed by %1.</source>
-        <translation>Dizajn ikone %1.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="69"/>
-        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation>Izdano pod &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="84"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Zatvori</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.h" line="17"/>
-        <source>About</source>
-        <translation>O programu</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.h" line="19"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Sve što ste željeli znati o %1 a niste se usudili pitati</translation>
-    </message>
-</context>
-<context>
-    <name>ActivationDialog</name>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="17"/>
-        <source>Enter your License Details</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="29"/>
-        <source>&amp;Email:</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="35"/>
-        <source>&amp;Code:</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>ActivationView</name>
-    <message>
-        <location filename="local/src/activationview.cpp" line="47"/>
-        <source>Please license %1</source>
-        <translation>Molimo registrirajte %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="51"/>
-        <source>This demo has expired.</source>
-        <translation>Vaša demo verzija je istekla.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="53"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="55"/>
-        <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="57"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Kupnjom pune verzije podržati ćete i težak rad uložen u izradu %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="70"/>
-        <source>Use Demo</source>
-        <translation>Koristi demo verziju.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="77"/>
-        <source>Enter License</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="85"/>
-        <source>Buy License</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Obriši</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
-        <source>bytes</source>
-        <translation>bajtova</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
-        <source>bytes/sec</source>
-        <translation>bajtova/sec</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
-        <source>KB/sec</source>
-        <translation>KB/sec</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
-        <source>MB/sec</source>
-        <translation>MB/sec</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
-        <source>seconds</source>
-        <translation>sekundi</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
-        <source>minutes</source>
-        <translation>minuta</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 preostalo</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Ovo je samo demo verzija %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Može preuzeti samo video kraći od %1 minuta tako da možete testirati mogućnost preuzimanja.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
-        <source>Continue</source>
-        <translation>Nastavi</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
-        <source>Get the full version</source>
-        <translation>Preuzmi punu verziju</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
-        <source>%1 downloaded in %2</source>
-        <translation>%1 preuzet u %2</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
-        <source>Download finished</source>
-        <translation>Preuzimanje završeno</translation>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n preuzimanje</numerusform><numerusform>%n preuzimanja</numerusform><numerusform>%n preuzimanja</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
-        <source>Change location...</source>
-        <translation>Promijeni odredište preuzimanja...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
-        <source>Choose the download location</source>
-        <translation>Odaberi odredište preuzimanja</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
-        <source>Download location changed.</source>
-        <translation>Odredište preuzimanja promijenjeno.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>Trenutna preuzimanja će i dalje ići u prethodno odredište.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
-        <source>Downloading to: %1</source>
-        <translation>Preuzimam u: %1</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadView</name>
-    <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
-        <source>Downloads</source>
-        <translation>Preuzimanja</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadWidget</name>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="60"/>
-        <source>Downloading update...</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Pokreni</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pauza</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Pokreni/Pauza</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Stani</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Stani nakon trenutne stvari.</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Slijedeća</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Prethodna</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Pojačaj zvuk</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Stišaj zvuk</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Nijemo</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Premotaj naprijed</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Premotaj nazad</translation>
-    </message>
-</context>
-<context>
-    <name>HomeView</name>
-    <message>
-        <location filename="src/homeview.cpp" line="33"/>
-        <source>Search</source>
-        <translation>Traži</translation>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="35"/>
-        <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="40"/>
-        <source>Browse</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="42"/>
-        <source>Browse videos by category</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.h" line="22"/>
-        <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Greška</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Stop</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Stani i vrati se na pretraživanje</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
-        <source>S&amp;kip</source>
-        <translation>&amp;Preskoči</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
-        <source>Skip to the next video</source>
-        <translation>Preskoči na slijedeći video</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pauza</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
-        <source>Pause playback</source>
-        <translation>Pauziraj</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Cijeli ekran</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
-        <source>Go full screen</source>
-        <translation>Prikaži preko cijelog ekrana</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Sakrij play listu i alatnu traku</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>Idi na Youtube stranicu sa videom i pauziraj</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Kopiraj YouTube link trenutnog videa u clipboard</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Kopiraj &amp;URL trenutnog video streama u clipboard</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation>Nađi ostale dijelove videa, vjerojatno u pravom rasporedu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Ukloni</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Ukloni odabrane video clipove iz play liste</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
-        <source>Move &amp;Up</source>
-        <translation>Pomakni &amp;gore</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>Pomakni gore slektirane video clipove u play listi</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
-        <source>Move &amp;Down</source>
-        <translation>Pomakni &amp;dolje</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Pomakni dolje slektirane video clipove u play listi</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>Očisti povijest pretraga. Ne može se vratiti.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Kraj</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
-        <source>Bye</source>
-        <translation>Doviđenja</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Web stranice</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
-        <source>%1 on the Web</source>
-        <translation>%1 na webu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
-        <source>Please support the continued development of %1</source>
-        <translation>Molim Vas da podržite daljnji razvoj %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
-        <source>&amp;About</source>
-        <translation>&amp;O programu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
-        <source>Info about %1</source>
-        <translation>Informacije o %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
-        <source>Search</source>
-        <translation>Traži</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
-        <source>Mute volume</source>
-        <translation>Utišaj zvuk</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Preuzimanja</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
-        <source>Show details about video downloads</source>
-        <translation>Pokaži informacije o preuzimanjima videa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Preuzimanje</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
-        <source>Download the current video</source>
-        <translation>Preuzmi trenutni video</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
-        <source>Share the current video using %1</source>
-        <translation>Podijeli trenutni video koristeći %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Email</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
-        <source>Email</source>
-        <translation>Email</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Zatvori</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Budi na vrhu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Stani nakon ovog videa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
-        <source>&amp;Report an Issue...</source>
-        <translation>&amp;Prijavi problem</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
-        <source>&amp;Refine Search...</source>
-        <translation>&amp;Suzi pretragu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
-        <source>More...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
-        <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
-        <source>Watch videos related to the current one</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Program</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
-        <source>Buy %1...</source>
-        <translation>Kupi %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Sviraj</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Play lista</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Video</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
-        <source>&amp;View</source>
-        <translation>&amp;Pogled</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Podijeli</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Pomoć</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Pritisnite %1 za glasnije, %2 za tiše</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
-        <source>Opening %1</source>
-        <translation>Otvaram %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Da li stvarno želite napustiti %1 dok traje preuzimanje?</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Ako sada zatvorite %1, preuzimanje će biti poništeno.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
-        <source>Close and cancel download</source>
-        <translation>Zatvori i poništi preuzimanje</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
-        <source>Wait for download to finish</source>
-        <translation>Pričekaj da završi preuzimanje</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Izađi iz &amp;Cijelog ekrana</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 verzija %2 je dostupna.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
-        <source>Remind me later</source>
-        <translation>Podsjeti me kasnije</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
-        <source>Update</source>
-        <translation>Unaprijedi</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
-        <source>Error: %1</source>
-        <translation>Greška: %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
-        <source>P&amp;revious</source>
-        <translation>P&amp;rethodni</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
-        <source>Go back to the previous track</source>
-        <translation>Idi nazad na prethodnu pjesmu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Kompaktni mod</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Otvori &amp;YouTube stranicu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopiraj YouTube &amp;link</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopiraj &amp;URL video streama</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Nađi &amp;dijelove videa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Izbriši nedavne pretrage</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Izvrši &amp;donaciju</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Ručno pokreni reprodukciju</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
-        <source>Manually start playing videos</source>
-        <translation>Ručno pokreni reprodukciju videa</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
-        <source>Choose your content location</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Sviraj</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
-        <source>Resume playback</source>
-        <translation>&amp;Nastavi sviranje</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
-        <source>Remaining time: %1</source>
-        <translation>Preostalo vrijeme: %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
-        <source>Volume at %1%</source>
-        <translation>Glasnoća na %1%</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
-        <source>Volume is muted</source>
-        <translation>Zvuk je ugašen</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
-        <source>Volume is unmuted</source>
-        <translation>Zvuk je upaljen</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Maksimalna video rezolucija postavljena na %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
-        <source>Your privacy is now safe</source>
-        <translation>Vaša privatnost je sada sigurna</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
-        <source>Downloads complete</source>
-        <translation>Preuzimanja završena</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/mediaview.cpp" line="553"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>Sada možete zalijepiti Youtube link u neki drugi program</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="561"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>Sada možete zalijepiti link video streama u neki drugi program</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="562"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>Link će biti valjan samo ograničeno vrijeme.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="636"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Ovo je samo demo verzija %1.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="637"/>
-        <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Omogućava Vam da testirate program i vidite da li Vam odgovara.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="667"/>
-        <source>Continue</source>
-        <translation>Nastavi</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="756"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation>od</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="768"/>
-        <source>part</source>
-        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
-        <translation>dio</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="770"/>
-        <source>episode</source>
-        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation>epizoda</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="847"/>
-        <source>Sent from %1</source>
-        <translation>Poslano sa %1</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="644"/>
-        <source>Get the full version</source>
-        <translation>Preuzmi punu verziju</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="681"/>
-        <source>Downloading %1</source>
-        <translation>Preuzimam %1</translation>
-    </message>
-</context>
-<context>
-    <name>MessageWidget</name>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="21"/>
-        <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="28"/>
-        <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="33"/>
-        <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="39"/>
-        <source>Skip This Version</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="43"/>
-        <source>Remind Me Later</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="47"/>
-        <source>Install Update</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PasteLineEdit</name>
-    <message>
-        <location filename="local/src/pastelineedit.cpp" line="6"/>
-        <source>Paste</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PlaylistItemDelegate</name>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
-        <source>%1 views</source>
-        <translation>%1 pregleda</translation>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
-        <source>Preparing</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
-        <source>Failed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
-        <source>Completed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
-        <source>Stopped</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
-        <source>Stop downloading</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
-        <source>Show in %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
-        <source>Open parent folder</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
-        <source>Restart downloading</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PlaylistModel</name>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
-        <source>Searching...</source>
-        <translation>Pretražujem...</translation>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
-        <source>Show %1 More</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
-        <source>No videos</source>
-        <translation>Nema videa</translation>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
-        <source>No more videos</source>
-        <translation>Nema više videa</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Sort by</source>
-        <translation>Sortiraj po</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
-        <source>Relevance</source>
-        <translation>Važnost</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Date</source>
-        <translation>Datum</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
-        <source>View Count</source>
-        <translation>Broj pregleda</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
-        <source>Rating</source>
-        <translation>Ocjena</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <source>Anytime</source>
-        <translation>Bilo kada</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
-        <source>Today</source>
-        <translation>Danas</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
-        <source>7 Days</source>
-        <translation>7 dana</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
-        <source>30 Days</source>
-        <translation>30 dana</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <source>Duration</source>
-        <translation>Trajanje</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>All</source>
-        <translation>Sve</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
-        <source>Short</source>
-        <translation>Kratko</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Medium</source>
-        <translation>Srednje</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Long</source>
-        <translation>Dugo</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
-        <source>Less than 4 minutes</source>
-        <translation>Kraće od 4 minute</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation>Između 4 i 20 minuta</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
-        <source>Longer than 20 minutes</source>
-        <translation>Duže od 20 minuta</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>Quality</source>
-        <translation>Kvaliteta</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
-        <source>High Definition</source>
-        <translation>Visoka razlučivost</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
-        <source>720p or higher</source>
-        <translation>720p ili više</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
-        <source>Done</source>
-        <translation>Gotovo</translation>
-    </message>
-</context>
-<context>
-    <name>RegionsView</name>
-    <message>
-        <location filename="src/regionsview.cpp" line="19"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Traži</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/searchview.cpp" line="71"/>
-        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
-        <translation>Dobrodošli u &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="50"/>
-        <source>Get the full version</source>
-        <translation>Preuzmi punu verziju</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="85"/>
-        <source>Enter</source>
-        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
-        <translation>Unesi</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="90"/>
-        <source>a keyword</source>
-        <translation>ključna riječ</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="91"/>
-        <source>a channel</source>
-        <translation>kanal</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="96"/>
-        <source>to start watching videos.</source>
-        <translation>da počnete gledati video.</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="120"/>
-        <source>Watch</source>
-        <translation>Gledaj</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="138"/>
-        <source>Recent keywords</source>
-        <translation>Nedavne ključne riječi</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="151"/>
-        <source>Recent channels</source>
-        <translation>Nedavni kanali</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarHeader</name>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
-        <source>&amp;Back</source>
-        <translation>&amp;Nazad</translation>
-    </message>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
-        <source>Forward to %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
-        <source>Back to %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
-        <source>Refine Search</source>
-        <translation>Suzi pretragu</translation>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
-        <source>Did you mean: %1</source>
-        <translation>Dali ste mislili: %1</translation>
-    </message>
-</context>
-<context>
-    <name>StandardFeedsView</name>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
-        <source>Most Popular</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
-        <source>Most Shared</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
-        <source>Most Discussed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
-        <source>Top Rated</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="213"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>Ne mogu naći video stream za %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="231"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Greška mreže: %1 za %2</translation>
-    </message>
-</context>
-<context>
-    <name>YTRegions</name>
-    <message>
-        <location filename="src/ytregions.cpp" line="8"/>
-        <source>Algeria</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="9"/>
-        <source>Argentina</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="10"/>
-        <source>Australia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="11"/>
-        <source>Belgium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="12"/>
-        <source>Brazil</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="13"/>
-        <source>Canada</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="14"/>
-        <source>Chile</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="15"/>
-        <source>Colombia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="16"/>
-        <source>Czech Republic</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="17"/>
-        <source>Egypt</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="18"/>
-        <source>France</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="19"/>
-        <source>Germany</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="20"/>
-        <source>Ghana</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="21"/>
-        <source>Greece</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="22"/>
-        <source>Hong Kong</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="23"/>
-        <source>Hungary</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="24"/>
-        <source>India</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="25"/>
-        <source>Indonesia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="26"/>
-        <source>Ireland</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="27"/>
-        <source>Israel</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="28"/>
-        <source>Italy</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="29"/>
-        <source>Japan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="30"/>
-        <source>Jordan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="31"/>
-        <source>Kenya</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="32"/>
-        <source>Malaysia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="33"/>
-        <source>Mexico</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="34"/>
-        <source>Morocco</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="35"/>
-        <source>Netherlands</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="36"/>
-        <source>New Zealand</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="37"/>
-        <source>Nigeria</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="38"/>
-        <source>Peru</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="39"/>
-        <source>Philippines</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="40"/>
-        <source>Poland</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="41"/>
-        <source>Russia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="42"/>
-        <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="43"/>
-        <source>Singapore</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="44"/>
-        <source>South Africa</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="45"/>
-        <source>South Korea</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="46"/>
-        <source>Spain</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="47"/>
-        <source>Sweden</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="48"/>
-        <source>Taiwan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="49"/>
-        <source>Tunisia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="50"/>
-        <source>Turkey</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="51"/>
-        <source>Uganda</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="52"/>
-        <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="53"/>
-        <source>United Kingdom</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="54"/>
-        <source>Yemen</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="128"/>
-        <source>Worldwide</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index b6390acb6531249d0c81a34008a73a048587e631..0d5b55ee8192887aab5330c161ef7a40f363b4bb 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Van élet a böngészőn kívül.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Verzió: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>A %1 szabad szoftver, de a fejlesztése értékes időt emészt fel.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Adakozással&lt;/a&gt; támogassa a %2 program folyamatos fejlesztését.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Ki szeretne próbálni más alkalmazást is?</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, a YouTube zenelejátszó</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, zenelejátszó</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Fordítsa le a %1 programot az anyanyelvére a következővel: %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon tervezője: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>A &lt;a href=&apos;%1&apos;&gt;GNU General Public licenccel&lt;/a&gt; megjelentetve</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Bezárás</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Névjegy</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Amit tudni szeretett volna a %1 programról, de sosem merte megkérdezni</translation>
     </message>
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Rendezés</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bájt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bájt/mp</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/mp</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/mp</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>másodperc</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>perc</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>Hátralévő idő: %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ez csak a demó verziója a %1 programnak.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Csak %1 percnél rövidebb videók tölthetők le vele a letöltési funkciók teszteléséhez.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Folytatás</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Letöltés befejezve</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Hely módosítása...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Letöltés helyének kiválasztása</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>A letöltés helye megváltozott.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>A folyamatban lévő letöltések még a régebbi helyre kerülnek.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Letöltés ide: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Letöltések</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Megállítás</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Lejátszás/megállítás</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Leállítás</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Lejátszás befejezése az aktuális szám után</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Következő szám</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Előző szám</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Hangerő növelése</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Hangerő csökkentése</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Némítás</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Ugrás előre</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Ugrás vissza</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Videók és csatornák keresése kulcsszó alapján</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Videók keresése kategória szerint</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Helyezze kényelembe magát</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Hiba</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Leállítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Lejátszás befejezése és visszatérés a keresés nézetre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>U&amp;grás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Ugrás a következő videóra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Megállítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Lejátszás megállítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Teljes képernyő</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Teljes képernyőre váltás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Lejátszási lista és eszközsor elrejtése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ugrás a YouTube videó oldalára és a lejátszás megállítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Az aktuális videó Youtube &amp;hivatkozásának másolása a vágólapra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Az aktuális videó adatfolyam URL címének másolása a vágólapra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>További videórészletek keresése remélhetőleg helyes sorrendben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Eltávolítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Kijelölt videók eltávolítása a lejátszási listáról</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Mozgatás &amp;felfelé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Kijelölt videók mozgatása felfelé a lejátszási listában</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Mozgatás &amp;lefelé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Kijelölt videók mozgatása lefelé a lejátszási listában</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Keresési előzmények törlése. Nem vonható vissza.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Kilépés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Viszlát</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Webhely</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 a weben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Támogassa a %1 program folyamatos fejlesztését</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Névjegy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Információ a %1 programról</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Hangerő némítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Letöltések</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>A videóletöltések részleteinek megjelenítése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Letöltés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Aktuális videó letöltése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Aktuális videó megosztása a következővel: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Bezárás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Többi ablak fölött</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Videó után leállítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Hiba bejelentése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Keresés pontosítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Alkalmazás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>%1 megvásárlása...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lejátszási lista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Videó</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Megtekintés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Megosztás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Súgó</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Hangerő növelése: %1, hangerő csökkentése: %2</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>%1 megnyitása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Szeretne kilépni a %1 programból letöltés közben?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Ha bezárja a %1 programot, a letöltés megszakad.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Bezárás és letöltés megszakítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>A letöltés befejeződésének megvárása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Kilépés a &amp;teljes képernyős módból</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>A %1 program %2 verziója elérhető.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Figyelmeztetés később</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Frissítés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Hiba: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>&amp;Előző</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Ugrás az előző számra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktmód</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube oldal megnyitása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;hivatkozás másolása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>&amp;Videó-URL másolása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>További videó&amp;részletek keresése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Legutóbbi keresések törlése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Támogasd</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuális lejátszás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Videók lejátszása manuális indítással</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Lejátszás folytatása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Hátralévő idő: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Hangerő: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Hangerő némítva</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Hangerő némítása feloldva</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Videók maximális felbontásának beállítása: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>A személyes adatok most már biztonságban vannak</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>A letöltések befejeződtek</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>A YouTube hivatkozás most már beilleszthető egy másik alkalmazásba</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Most már beillesztheti a videó adatfolyam URL címét egy másik alkalmazásba</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>A hivatkozás csak korlátozott ideig lesz érvényben.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ez csak a demó verziója a %1 programnak.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Kipróbálhatja az alkalmazást, hogy megfelel-e az igényeinek.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Folytatás</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation> - </translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>rész</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epizód</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>A %1 programból küldve</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Letöltés: %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 néző</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 %2 közül (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Előkészítés</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Hiba</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Sikeres befejezés</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Leállítva</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Letöltés leállítása </translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Megjelenítés a következőben: %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation type="unfinished"/>
+        <translation>Szülőmappa megnyitása</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Letöltés újraindítása </translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Keresés...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Nincsenek videók</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Nincs több videó </translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Rendezés</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Dátum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Megtekintések száma</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Értékelés</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Bármikor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Ma</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 napja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 napja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Időtartam</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Összes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Rövid</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Közepes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Hosszú</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Rövidebb, mint 4 perc</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 perc és 20 perc között</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Hosszabb, mint 20 perc</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Minőség</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Nagyfelbontású</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p vagy nagyobb</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Kész</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Kész</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Üdvözli a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt; program,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Írjon be</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>egy kulcsszót</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>egy csatornát</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>a videók megtekintéséhez.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Megtekintés</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Legutóbbi kulcsszavak</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Legutóbbi csatornák</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Vissza</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Tovább a %1-re</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Vissza a %1-re</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Keresés finomítása</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Így értette: %1?</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Legnépszerübb</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Kiemelt</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nem található videó adatfolyam a következőhöz: %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Hálózati hiba: %1 a következőhöz: %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Algéria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentína </translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Ausztrália</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgium</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brazília </translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Kolumbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Cseh Köztársaság</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egyiptom</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Franciaország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Németország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghána</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Görögország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Magyarország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonézia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Írország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Izrael </translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Olaszország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japán</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Jordánia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malájzia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Mexikó </translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Marokkó</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Hollandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Új Zéland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigéria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Fülöp-szigetek</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Lengyelország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Oroszország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Szaúd-Arábia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Szingapúr</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Dél Afrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Dél Korea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Spanyolország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Svédország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Tajvan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunézia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Törökország</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Egyesült Arab Emirségek</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Nagy Britannia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Világszerte</translation>
     </message>
index 89959d5deb0b04358dfb8a6a822c264b2771b1d0..0f0a58047bfd9b07c9b7d9d531eb5d7853a5a181 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Il ha vita foras del navigator!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es software libere ma su developpamento require un tempore preciose.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Dona&lt;/a&gt;, per favor, pro supportar le developpamento continue de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Tu pote tamben voler essayar mi altere applicationes</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de musica de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un sonator de musica</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduce %1 in tu lingua materne per usar %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Icone designate per %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Liberate sub le &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Clauder</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Super</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Lo que tu sempre ha volite saper super %1 e nunquam osava demandar lo</translation>
     </message>
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Tote le videos</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nomine</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ordinar per</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Tote le videos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>secundas</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutas</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restante</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Iste es solmente le version demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Il solmente es possibile discargar videos plus curte que %1 minutas pro que assi tu pote testar le functionalitate de discarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Obtener le version complete</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 discargate in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Discarga terminate</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n discarga(s)</numerusform><numerusform>%n discarga(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Cambia le localisation...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Selige le localisation de discarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Le localisation de discarga esseva cambiate.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Le discargas actual va ancora al previe localisation.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>A discargar a: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Discargas</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Discargante actualisation...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Reproducer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Reproducer/Pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Stop</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Stoppar le reproduction post le pista actual</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Proxime pista</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Previe pista</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Augmentar le sono</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Diminuer le sono</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Mute</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Cerca in avante</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Cerca retro</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Cercar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stoppar le reproduction e vader retro al vista de cercas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>S&amp;altar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Saltar al proxime video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pausar le reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Schermo plen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Vader a schermo plen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Celar le lista de reproduction e le barra de utensiles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Vader al pagina de videos de YouTube e pausa le reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar le actual &amp;ligamine de video YouTube al area de transferentia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar le currente URL de fluxo de video al area de transferentia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Remover le videos seligite del lista de reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Mover in &amp;alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover le videos seligite del lista de reproduction in alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Mover a &amp;basso</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover le videos seligite del lista de reproduction a basso</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Mundar le historia de recerca. Isto non pote ser disfacite.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Quitar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Adeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Sito &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 in le web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Supporta le developpamento continue de %1, per favor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Super</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Info super %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Cercar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Sin sono</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Discargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Monstrar detalios super le discargas de videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Discarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Discarga le video actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Compartir le video currente usante %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-posta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-posta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Clauder</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flottar in alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stoppar depost de iste video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Affinar le cerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Plus...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>Lista de re&amp;production</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Vider</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Adjuta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Preme %1 pro augmentar le sono, %2 pro bassar lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>A aperir %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Esque tu vole sortir de %1 con un discarga in progresso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si tu claude %1 ora, le discarga essera cancellate.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Claude e cancella le discarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Attende que le discarga fini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Quita le &amp;schermo plen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 es ora disponibile.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Rememora me plus tarde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Actualisar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Retroceder al tracia previe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo compacte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Aperir le pagina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar le &amp;ligamine de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar le &amp;URL de fluxo de video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Cercar &amp;partes de video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Mundar le recercas recente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Face un &amp;donation</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Initiar le reproduction &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Initiar manualmente le reproduction de videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Selige le loco de contento</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Resumer reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tempore restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volumine a %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Sin sono</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Con sono</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definition maxime de video: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Ora tu intimitate es secur </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Discargas complete</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ora tu pote collar le ligamine de YouTube in un in altere application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ora tu pote collar le URL de fluxo de video in un altere application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Le ligamine essera valide solmente durante un tempore limitate.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Isto es solmente le version demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Isto permitte testar le application e vider si illo functiona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Inviate ab %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Procura le version complete</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>A discargar %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Un nove version de %1 es disponibile!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 visualisationes</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Fallite</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
-        <translation type="unfinished"/>
+        <translation>Completate</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Stoppar le discarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Monstrar in %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Recomenciar le discarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>A cercar...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Monstrar %1 plus</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Nulle video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>In non ha plus de videos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Ordinar per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Vider le contator</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Hodie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duration</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Omne</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Curte</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Medie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Longe</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Minus de 4 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Inter 4 e 20 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Plus de 20 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Qualitate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Alte definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p o plus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Facite</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Facite</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvenite a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Procura le version complete</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Scriber</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>una parola clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>pro comenciar a reguardar le videos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Reguardar</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Parolas-clave recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canales recente</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Retro</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Affinar le cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Tu voleva dicer: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Le plus compartite</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Le plus discutite</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Le fluxo de video pro %1 non pote ser obtenite</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de rete: %1 pro %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Tote le mundo</translation>
     </message>
index 14f3919a987e6b27dc18a1cefa171aec016b8876..8a57e3f436df6f42d106da6b55a5a83a87b0a92d 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>C&apos;è vita fuori del browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versione %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licenziato a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 è Software Libero ma il suo sviluppo richiede tempo prezioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&quot;%1&quot;&gt;Fai una donazione&lt;/a&gt; per aiutare lo sviluppo di %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Prova anche le mie altre applicazioni:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un player musicale per YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un player musicale</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduci %1 nella tua lingua usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Icona disegnata da %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Rilasciato sotto licenza &lt;a href=&quot;%1&quot;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Chiudi</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Informazioni</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Quello che hai sempre voluto sapere su %1 e non hai mai osato chiedere</translation>
     </message>
         <translation>Compra una licenza</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Di %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Tutti i video</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Video non visti</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Segna tutti come già visti</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Mostra aggiornati</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nome</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Aggiornamento</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Iscrizione</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Visione</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Più visti</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ordina per</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Tutti i video</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Video non visti</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Non ci sono iscrizioni aggiornate in questo momento.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Non hai iscrizioni. Usa il simbolo della stella per sottoscrivere i canali.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>secondi</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minuti</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 al termine</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Questa è solo la versione demo di %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Puoi scaricare solo video più corti di %1 minuti, così puoi testare la funzionalità dei download.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 scaricato in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Download completato</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>1 download</numerusform><numerusform>%n download</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Cambia destinazione...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Scegli la destinazione dei download</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>La destinazione dei download è cambiata.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>I download già in corso andranno comunque nella destinazione precedente.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Scarica in: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Download</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Play</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Play/Pausa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Stop</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Ferma al termine del video corrente</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Prossima traccia</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Traccia precedente</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Aumenta il volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Diminuisci il volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Senza audio</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Salta in avanti</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Salta indietro</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Ricerca</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Trova video e canali per parola chiave</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Sfoglia</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Sfoglia i video per categoria</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Iscrizioni</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Iscrizioni ai canali</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Mettiti comodo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Ferma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ferma il video e torna alla ricerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Salta al prossimo video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Metti in pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Schermo intero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Vai in modalità schermo intero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Nascondi la playlist e la barra degli strumenti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Vai su YouTube e metti in pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copia negli appunti il link a YouTube per il video corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copia negli appunti la URL dello stream per il video corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Trova le parti mancanti di questo video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Elimina i video selezionati dalla playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Sposta &amp;sopra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Sposta video selezionati verso l&apos;alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Sposta so&amp;tto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Sposta i video selezionati verso il basso</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Cancella le ultime ricerche. L&apos;azione non potrà essere annullata.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Esci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Ciao</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Sito &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 sul Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Supporta lo sviluppo di %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Informazioni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informazioni su %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Disattiva l&apos;audio</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Mostra informazioni sui download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Scarica il video corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Iscriviti al canale</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Condividi il video corrente usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Chiudi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Fluttua in alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Ferma dopo questo video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Segnala un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Raffina la ricerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Altro...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>Video &amp;correlati</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Guarda i video correlati a quello corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation>Apri nel &amp;browser...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Applicazione</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Riproduzione</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Condividi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Aiuto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Premi %1 per alzare il volume, %2 per abbassarlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Apertura di %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vuoi uscire da %1 con un download in corso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Se chiudi %1 adesso, i download verranno annullati.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Chiudi e annulla i download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Aspetta che i download siano completi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Lascia lo &amp;schermo intero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>E&apos; disponibile %1 versione %2</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Ricordamelo più tardi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Aggiorna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Errore: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;recedente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Torna alla traccia precedente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Modalità &amp;compatta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Apri la pagina di &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia il &amp;link a YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copia la &amp;URL dello stream video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Trova le &amp;parti del video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Cancella le ultime ricerche</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Fai una &amp;donazione</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Riproduzione &amp;manuale</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Inizia a riprodurre i video manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Scegli la località dei contenuti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Play</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tempo rimanente: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volume al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Audio disattivato</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Audio attivato</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>La definizione video massima è impostata a %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>La tua privacy è al sicuro</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>I download sono completi</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ora puoi incollare il link a YouTube in un&apos;altra applicazione</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ora puoi incollare la URL dello stream in un&apos;altra applicazione</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Il link rimarrà valido per un periodo di tempo limitato.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Questa è solo la versione demo di %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ti permette di testare l&apos;applicazione e verificare che funzioni sul tuo computer.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>di</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Inviato da %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Annulla iscrizione a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Iscriviti a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Scarica in: %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 visualizzazioni</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 di %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>In preparazione</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Fallito</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Completato</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Fermo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Interrompi il download</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Mostra nel %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Mostra nella cartella</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Prova a scaricare di nuovo</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Ricerca...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Mostra altri %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Nessun video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Nessun altro video</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Ordina per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Pertinenza</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Visualizzazioni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Voto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Qualsiasi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Oggi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 giorni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 giorni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Durata</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Tutti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Breve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Lunga</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Meno di 4 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Tra i 4 e i 20 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Oltre i 20 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Qualità</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Alta definizione</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p o maggiore</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Fatto</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Fatto</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvenuto su &lt;a href=&quot;%1&quot;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Scrivi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>una parola chiave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canale</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>per iniziare a guardare i video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Guarda</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Ultime ricerche</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Ultimi canali</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Indietro</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Avanza a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Torna a %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Raffina la ricerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Forse cercavi: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Più popolari</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>In primo piano</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Più condivisi</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Più discussi</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Più votati</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Più popolari di sempre</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Impossibile ottenere il flusso video per %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Errore di rete: %1 per %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Algeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgio</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brasile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Canada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Cile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Colombia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Repubblica Ceca</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egitto</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Francia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Germania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Grecia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Ungheria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonesia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Irlanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Israele</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Italia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Giappone</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Giordania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malaysia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Messico</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Marocco</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Olanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Nuova Zelanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Perù</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filippine</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polonia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Russia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Arabia Saudita</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapore</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Sudafrica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Corea del Sud</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Spagna</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Svezia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunisia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Turchia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Emirati Arabi Uniti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Regno Unito</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Yemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Tutto il mondo</translation>
     </message>
index baddef2560f565d95c8e6e74b17f22e743848ea9..6051bf5e98b5a5a43ee6840f94ee35cab6229666 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Webブラウザなしでも大丈夫!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>バージョン %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1はフリーソフトウェアですが、開発には貴重な時間が費やされています。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>私が作った他のアプリケーションにも興味がありますか。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, ミュージックプレイヤー</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>%2を使って、%1をあなたの母語に翻訳してください。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>アイコンは%1さんのデザインです。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;で配布されます</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>閉じる(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>プログラムについて</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>%1について知りたいことがあったら、思いきって連絡をください</translation>
     </message>
         <translation>ライセンスを購入</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>Bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>分</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>残り %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>これは %1 の試用版です。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>続ける</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>製品版を入手する。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>場所を変更...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>ダウンロード</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>再生</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>一時停止</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>再生/一時停止</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>停止</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>現在の曲が終わったら停止</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>次の曲</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>前の曲</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>音量を上げる</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>音量を下げる</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>ミュート</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>後方へ</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>前方へ</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>検索</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>さあリラックスしましょう</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>エラー</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>ストップ(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>再生を停止させて、検索ビューに戻ります</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>スキップ(&amp;k)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>次の動画へ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>一時停止(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>再生を一時停止します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>フルスクリーン(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>フルスクリーン</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>プレイリストとツールバーを隠す</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>一時停止してYouTubeのページを開きます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>このビデオのYouTubeページへのリンクをクリップボードにコピーします</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>削除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>プレイリストから選択した動画を削除</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>上へ(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>選択した動画をプレイリスト内で上へ移動させます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>下へ(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>選択した動画をプレイリスト内で下へ移動させます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>検索履歴を削除します。取り消しは出来ません。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>終了(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>プログラムを終了</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Webページへ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1のWebページを開きます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>%1の開発をサポートしてください!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>プログラムについて(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>%1について</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>検索</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>ミュートにする</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>ダウンロード(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>ダウンロード(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
+        <translation>現在の動画をダウンロード</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>メール(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>メール</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>閉じる(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>問題点を報告(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>その他...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>アプリケーション(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>%1 を購入...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
-        <translation type="unfinished"/>
+        <translation>再生(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>プレイリスト(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>動画(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>表示(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>共有(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>ヘルプ(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>音量を上げるには%1を、下げるには%2を押してください</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>%1を開いています</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
-        <translation type="unfinished"/>
+        <translation>閉じてダウンロードをキャンセル</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>フルスクリーンモードを終了する(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 バージョン %2 が利用可能です</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>あとで通知する</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>更新</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>エラー: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>前へ(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>前の曲へ飛びます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>コンパクト モード(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>YouTube のページを開く(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube のリンクをコピー(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>最近の検索を消去(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>寄付する(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>再生(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>再生再開します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>残り時間: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>ボリューム%1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>音量OFFにしました</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>音量ONにしました</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>プライバシーは保護されています</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>ダウンロード完了</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>YouTube のリンクを別のアプリケーションに貼り付けることができます</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>これは %1 の試用版です。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>アプリケーションのテストや動作確認にご利用いただけます。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>続ける</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>製品版を入手する。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1回 閲覧</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>失敗</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>完了</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>ダウンロードを停止</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>親フォルダーを開く</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>検索中...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>さらに%1エントリ観る</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>見つかりませんでした</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>見つかりませんでした</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>並び順</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>日付</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>閲覧回数</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>今日</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
-        <translation type="unfinished"/>
+        <translation>7日間</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
-        <translation type="unfinished"/>
+        <translation>30日間</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>すべて</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>4分以下</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>4~20分</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>20分超</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>品質</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>完了</translation>
     </message>
 </context>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>完了</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>ようこそ&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;へ!</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>製品版を入手する。</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>検索</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>最近検索したキーワード</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>最近のチャンネル</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>戻る(&amp;B)</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>%1 に進む</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>%1 に戻る</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>もしかして: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>ネットワークエラー: %1 (%2へのアクセスにて)</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>アルジェリア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>アルゼンチン</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>オーストラリア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>ベルギー</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>ブラジル</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>カナダ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>チリ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>コロンビア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>チェコ共和国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>エジプト</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>フランス</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>ドイツ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>ガーナ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>ギリシャ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>香港</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>ハンガリー</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>インド</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>インドネシア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>アイルランド</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>イスラエル</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>イタリア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>日本</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>ヨルダン</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>ケニア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>マレーシア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>メキシコ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>モロッコ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>オランダ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>ニュージーランド</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>ナイジェリア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>ペルー</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>フィリピン</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>ポーランド</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>ロシア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>サウジアラビア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>シンガポール</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>南アフリカ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>韓国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>スペイン</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>スウェーデン</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>台湾</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>チュニジア</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>トルコ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>ウガンダ</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>アラブ首長国連邦</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>イギリス</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>イエメン</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>全世界</translation>
     </message>
diff --git a/locale/jv.ts b/locale/jv.ts
deleted file mode 100644 (file)
index fe51334..0000000
+++ /dev/null
@@ -1,1476 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="jv" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/aboutview.cpp" line="32"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>Ningkene yoiku urip ning njobone browser!</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="33"/>
-        <source>Version %1</source>
-        <translation>Versi %1</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="38"/>
-        <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="42"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 yoiku Software bebas tapi pangembangane iku mbutuhake wektu sing berhargo.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="43"/>
-        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Sumonggo &lt;a href=&apos;%1&apos;&gt;Nyumbang&lt;/a&gt; kanggo ndukung kelanjutane pangembangane seko %2.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="47"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>Njenengan mungkinwae pingin nyobi aplikasiku liyane jua:</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="50"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, sakwijining YouTube nggonyetel musik</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="54"/>
-        <source>%1, a music player</source>
-        <translation>%1, sakwijining penyetelan musik</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="60"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation>Terjemahke %1 ring boso aslimu gunakno %2</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="65"/>
-        <source>Icon designed by %1.</source>
-        <translation>Ndesain ikon oleh %1.</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="69"/>
-        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation>Dirilis nok ngisore the &lt;a href=&apos;%1&apos;&gt;GNU Pusate Lisensine Publik&lt;/a&gt;</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.cpp" line="84"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Tutup</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.h" line="17"/>
-        <source>About</source>
-        <translation>Seputarane</translation>
-    </message>
-    <message>
-        <location filename="src/aboutview.h" line="19"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Opo sing kowe slalu kepingin kanggo ngreteni sekitarane %1 lan oratau wani kanggo takon</translation>
-    </message>
-</context>
-<context>
-    <name>ActivationDialog</name>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="17"/>
-        <source>Enter your License Details</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="29"/>
-        <source>&amp;Email:</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationdialog.cpp" line="35"/>
-        <source>&amp;Code:</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>ActivationView</name>
-    <message>
-        <location filename="local/src/activationview.cpp" line="47"/>
-        <source>Please license %1</source>
-        <translation>Sumonggo lisensi %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="51"/>
-        <source>This demo has expired.</source>
-        <translation>Iki demo yo wis enthek.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="53"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="55"/>
-        <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="57"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Thek tuku versi lengkap, njenengan pingin ugo kadukung karo kerjokeras Kulo dalehi ing njeroning kreasi %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="70"/>
-        <source>Use Demo</source>
-        <translation>Gunakke Demo</translation>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="77"/>
-        <source>Enter License</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/activationview.cpp" line="85"/>
-        <source>Buy License</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Resik</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
-        <source>bytes</source>
-        <translation>bit</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
-        <source>bytes/sec</source>
-        <translation>bit/detik</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
-        <source>KB/sec</source>
-        <translation>KB/detik</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
-        <source>MB/sec</source>
-        <translation>MB/detik</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
-        <source>seconds</source>
-        <translation>detik</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
-        <source>minutes</source>
-        <translation>menit</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 sisone</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Iki yoiku mung versi demo seko %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Iku isone mung ngunduh video sing cekak sekokaro %1 menit sahinggo kowe iso ngetest fungsinane unduhane.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
-        <source>Continue</source>
-        <translation>Terusno</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
-        <source>Get the full version</source>
-        <translation>Enthukno versi komplite</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
-        <source>%1 downloaded in %2</source>
-        <translation>%1 ngunduhe ing %2</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
-        <source>Download finished</source>
-        <translation>Ngunduhe wislebar</translation>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Ngunduh-unduh(s)</numerusform><numerusform>%n Ngunduh(s)</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
-        <source>Change location...</source>
-        <translation>ngGanti lokasi...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
-        <source>Choose the download location</source>
-        <translation>Mileho lokasine unduhan</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
-        <source>Download location changed.</source>
-        <translation>Lokasi ngunduhe diganti.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>Downloadte sing sakiki iseh arep mlebu ning lokasi sakdurunge.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
-        <source>Downloading to: %1</source>
-        <translation>Ngunduhi reng: %1</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadView</name>
-    <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
-        <source>Downloads</source>
-        <translation>Ngunduh-unduh</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadWidget</name>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="60"/>
-        <source>Downloading update...</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Nyetel</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Lheren sedelhok</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Nyetel/Lheren</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Mandhek</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Mandhek nyetele sakwise trek saat iki</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Trek saklanjute</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Trek sakdurunge</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Nambahake volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Ngurangi volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Mbisu</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Nyepetno mengarep</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Nyepetno memburi</translation>
-    </message>
-</context>
-<context>
-    <name>HomeView</name>
-    <message>
-        <location filename="src/homeview.cpp" line="33"/>
-        <source>Search</source>
-        <translation>Nelusuri</translation>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="35"/>
-        <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="40"/>
-        <source>Browse</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.cpp" line="42"/>
-        <source>Browse videos by category</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/homeview.h" line="22"/>
-        <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Error</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Mandheg</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Mandheg playback lan mbalik ning tampilan ngGo ngGoleki</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
-        <source>S&amp;kip</source>
-        <translation>S&amp;kip</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
-        <source>Skip to the next video</source>
-        <translation>Lewati reng video saklanjute</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Lheren</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
-        <source>Pause playback</source>
-        <translation>Lheren sedhelok pemutarane</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Layar Kebak</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
-        <source>Go full screen</source>
-        <translation>Ing Layar Kebak </translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Ndhelikno playlist lan toolbar</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>Lungo Ing halamane video YouTube land nglereni penyetelan</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Njiplak link-nge video YouTube sing sakiki ning clipboard</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Njiplak video stream URL sing sakiki ning clipboard</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation>nggoleki seri video liyone diharapno ing order sing bener</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;ngGuwak</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>ngGuwak video sing diseleksi seko playlist</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
-        <source>Move &amp;Up</source>
-        <translation>Mindah &amp;Unggah</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>Mindahno menduwur video sing diseleksi ning playlistt</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
-        <source>Move &amp;Down</source>
-        <translation>Mindah &amp;Mudhun</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Mindahno mengisor video sing diseleksi ning daftar-nyetel</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>Ngresiki riwayate penelusuran. Ora iso di balikake.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Medhal</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
-        <source>Bye</source>
-        <translation>Bye</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Website</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
-        <source>%1 on the Web</source>
-        <translation>%1 nok the Web</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
-        <source>Please support the continued development of %1</source>
-        <translation>Sumonggo ndukungo kelanjutane pangembangane seko %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
-        <source>&amp;About</source>
-        <translation>&amp;Tentange</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
-        <source>Info about %1</source>
-        <translation>Info sakitarane %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
-        <source>Search</source>
-        <translation>Nelusuri</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
-        <source>Mute volume</source>
-        <translation>mBisukno volumene</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;nDownloads</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
-        <source>Show details about video downloads</source>
-        <translation>Tampilno detaile sak kitarane unduhan-unduhane video</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
-        <source>&amp;Download</source>
-        <translation>&amp;nDownload</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
-        <source>Download the current video</source>
-        <translation>Ngunduhi video sing saat iki</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
-        <source>Share the current video using %1</source>
-        <translation>ngeshare video ketuang keenggo %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Layanginternet</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
-        <source>Email</source>
-        <translation>Layanginternet</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Tutup</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Ngambang ing Pucuk</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Mandek Sakwise Video Iki</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
-        <source>&amp;Report an Issue...</source>
-        <translation>&amp;Laporke sakwijining Isu...</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
-        <source>&amp;Refine Search...</source>
-        <translation>&amp;Nyaring Penggolekan...</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
-        <source>More...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
-        <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
-        <source>Watch videos related to the current one</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Applikasi</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
-        <source>Buy %1...</source>
-        <translation>Tuku %1...</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Mbaliknyetel</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Daftar-nyetel</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Video</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
-        <source>&amp;View</source>
-        <translation>&amp;nDelok</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Ngedumi</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Nulung</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Pejhet %1 kanggo ningkatno volume, %2 kanggo ngrendahno iku</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
-        <source>Opening %1</source>
-        <translation>Mbukak&apos;i %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Opo kowe pingin metu %1 karo sakwijine unduhan sing isih mlaku prosese?</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Tek kowe nutup %1 sakiki, ngunduhane iki arep dibatalake.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
-        <source>Close and cancel download</source>
-        <translation>Tutup lan mbatalake ngunduhine</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
-        <source>Wait for download to finish</source>
-        <translation>Nunggu kanggo unduhane rampung</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Ninggalno &amp;LayarKebak</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 versinipun %2 yo disediakno sakniki.</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
-        <source>Remind me later</source>
-        <translation>Elingno kulo mengkowae</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
-        <source>Update</source>
-        <translation>Nganyarke</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
-        <source>Error: %1</source>
-        <translation>Error: %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
-        <source>P&amp;revious</source>
-        <translation>P&amp;revious</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
-        <source>Go back to the previous track</source>
-        <translation>Mbaliko meneh ing sakdurunge trekipun</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Mode Praktis</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Mbukak &amp;YouTube Halamane</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Njiplak YouTube &amp;Link</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Njiplak Video Stream &amp;URL</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Nggoleki Video &amp;Seri</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Ngresiki Penggolekan Sing ketuang</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Nggawe sakwijining &amp;Sumbangan</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Mainke Secoro Manual</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
-        <source>Manually start playing videos</source>
-        <translation>Ngawiti maenke video secoro manual</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
-        <source>Choose your content location</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Nyetel</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
-        <source>Resume playback</source>
-        <translation>Nglanjutno nyetel-ulang</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
-        <source>Remaining time: %1</source>
-        <translation>Sisone wektune: %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
-        <source>Volume at %1%</source>
-        <translation>Volume nok %1%</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
-        <source>Volume is muted</source>
-        <translation>Volume yo Mbisu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
-        <source>Volume is unmuted</source>
-        <translation>Volume yo orak mbisu</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Maksimale video definisine diset ning %1</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
-        <source>Your privacy is now safe</source>
-        <translation>Privasimu yoiku sakiki aman</translation>
-    </message>
-    <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
-        <source>Downloads complete</source>
-        <translation>Unduhane komplit</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/mediaview.cpp" line="553"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>Kowe iso paste YouTube link sakiki ninggone aplikasi liyane</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="561"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>Kowe sakiki iso paste  video stream URL ninggone aplikasi liyane</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="562"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>Link-nge kepingin diaslikake mung kanggo sak terbatase wektu.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="636"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Iki yoiku mung demo version of %1.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="637"/>
-        <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Iki diolehno kowe kanggo ngetest aplikasine lan ndeloki tek iku fungsi kanggo kowe.</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="667"/>
-        <source>Continue</source>
-        <translation>Nglanjutke</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="756"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation>seko</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="768"/>
-        <source>part</source>
-        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
-        <translation>seri</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="770"/>
-        <source>episode</source>
-        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation>episode</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="847"/>
-        <source>Sent from %1</source>
-        <translation>Kirim seko %1</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="644"/>
-        <source>Get the full version</source>
-        <translation>Entukno versi komplite</translation>
-    </message>
-    <message>
-        <location filename="src/mediaview.cpp" line="681"/>
-        <source>Downloading %1</source>
-        <translation>Ngunduhi %1</translation>
-    </message>
-</context>
-<context>
-    <name>MessageWidget</name>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="21"/>
-        <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="28"/>
-        <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="33"/>
-        <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="39"/>
-        <source>Skip This Version</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="43"/>
-        <source>Remind Me Later</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/updatedialog.cpp" line="47"/>
-        <source>Install Update</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PasteLineEdit</name>
-    <message>
-        <location filename="local/src/pastelineedit.cpp" line="6"/>
-        <source>Paste</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PlaylistItemDelegate</name>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
-        <source>%1 views</source>
-        <translation>%1 tampilan</translation>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
-        <source>Preparing</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
-        <source>Failed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
-        <source>Completed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
-        <source>Stopped</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
-        <source>Stop downloading</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
-        <source>Show in %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
-        <source>Open parent folder</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
-        <source>Restart downloading</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>PlaylistModel</name>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
-        <source>Searching...</source>
-        <translation>ngGoleki...</translation>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
-        <source>Show %1 More</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
-        <source>No videos</source>
-        <translation>Ora video</translation>
-    </message>
-    <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
-        <source>No more videos</source>
-        <translation>Rak ono video meneh</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Sort by</source>
-        <translation>Bidik didasarke</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
-        <source>Relevance</source>
-        <translation>Relefan</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Date</source>
-        <translation>Tanggale</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
-        <source>View Count</source>
-        <translation>Ndeloki Itungane</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
-        <source>Rating</source>
-        <translation>Rating</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <source>Anytime</source>
-        <translation>Kapanwae</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
-        <source>Today</source>
-        <translation>Dinoiki</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
-        <source>7 Days</source>
-        <translation>7 Ndino</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
-        <source>30 Days</source>
-        <translation>30 Dino</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <source>Duration</source>
-        <translation>Durasine</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>All</source>
-        <translation>Kabeh</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
-        <source>Short</source>
-        <translation>Cekak</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Medium</source>
-        <translation>Sedengan</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Long</source>
-        <translation>Dowo</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
-        <source>Less than 4 minutes</source>
-        <translation>Kurang seko 4 menit</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation>Antarane 4 lan 20 menit</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
-        <source>Longer than 20 minutes</source>
-        <translation>Dowone luwih seko 20 menit</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>Quality</source>
-        <translation>Kualitas</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
-        <source>High Definition</source>
-        <translation>Definisi duwur</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
-        <source>720p or higher</source>
-        <translation>720p utowo saknduwure</translation>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
-        <source>Done</source>
-        <translation>Rampung</translation>
-    </message>
-</context>
-<context>
-    <name>RegionsView</name>
-    <message>
-        <location filename="src/regionsview.cpp" line="19"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Nelusuri</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/searchview.cpp" line="71"/>
-        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
-        <translation>Sugengrawuh kanggo &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="50"/>
-        <source>Get the full version</source>
-        <translation>Enthukno versi komplite</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="85"/>
-        <source>Enter</source>
-        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
-        <translation>Lebokno</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="90"/>
-        <source>a keyword</source>
-        <translation>sakwiji kata-kunci</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="91"/>
-        <source>a channel</source>
-        <translation>sakwiji saluran</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="96"/>
-        <source>to start watching videos.</source>
-        <translation>kanggo ngawiti nyeksikake video.</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="120"/>
-        <source>Watch</source>
-        <translation>Nonton</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="138"/>
-        <source>Recent keywords</source>
-        <translation>Kata-kunci saat iki</translation>
-    </message>
-    <message>
-        <location filename="src/searchview.cpp" line="151"/>
-        <source>Recent channels</source>
-        <translation>Saluran lagekwae</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarHeader</name>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
-        <source>&amp;Back</source>
-        <translation>&amp;mBuri</translation>
-    </message>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
-        <source>Forward to %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
-        <source>Back to %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
-        <source>Refine Search</source>
-        <translation>Nyaring Penggolekane</translation>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
-        <source>Did you mean: %1</source>
-        <translation>Opo sing bekmaksud: %1</translation>
-    </message>
-</context>
-<context>
-    <name>StandardFeedsView</name>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
-        <source>Most Popular</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
-        <source>Most Shared</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
-        <source>Most Discussed</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
-        <source>Top Rated</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="213"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>Rak iso ngenthukno video stream kanggo %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="231"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Jaringane error: %1 por %2</translation>
-    </message>
-</context>
-<context>
-    <name>YTRegions</name>
-    <message>
-        <location filename="src/ytregions.cpp" line="8"/>
-        <source>Algeria</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="9"/>
-        <source>Argentina</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="10"/>
-        <source>Australia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="11"/>
-        <source>Belgium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="12"/>
-        <source>Brazil</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="13"/>
-        <source>Canada</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="14"/>
-        <source>Chile</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="15"/>
-        <source>Colombia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="16"/>
-        <source>Czech Republic</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="17"/>
-        <source>Egypt</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="18"/>
-        <source>France</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="19"/>
-        <source>Germany</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="20"/>
-        <source>Ghana</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="21"/>
-        <source>Greece</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="22"/>
-        <source>Hong Kong</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="23"/>
-        <source>Hungary</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="24"/>
-        <source>India</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="25"/>
-        <source>Indonesia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="26"/>
-        <source>Ireland</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="27"/>
-        <source>Israel</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="28"/>
-        <source>Italy</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="29"/>
-        <source>Japan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="30"/>
-        <source>Jordan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="31"/>
-        <source>Kenya</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="32"/>
-        <source>Malaysia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="33"/>
-        <source>Mexico</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="34"/>
-        <source>Morocco</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="35"/>
-        <source>Netherlands</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="36"/>
-        <source>New Zealand</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="37"/>
-        <source>Nigeria</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="38"/>
-        <source>Peru</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="39"/>
-        <source>Philippines</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="40"/>
-        <source>Poland</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="41"/>
-        <source>Russia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="42"/>
-        <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="43"/>
-        <source>Singapore</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="44"/>
-        <source>South Africa</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="45"/>
-        <source>South Korea</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="46"/>
-        <source>Spain</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="47"/>
-        <source>Sweden</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="48"/>
-        <source>Taiwan</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="49"/>
-        <source>Tunisia</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="50"/>
-        <source>Turkey</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="51"/>
-        <source>Uganda</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="52"/>
-        <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="53"/>
-        <source>United Kingdom</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="54"/>
-        <source>Yemen</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/ytregions.cpp" line="128"/>
-        <source>Worldwide</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 873c2fd0bf7dd8ca97a5162c4b656ac26da2aa28..14aa41bc8d0cb93838c9462e193d6773cfd274a2 100644 (file)
@@ -3,74 +3,74 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Браузердин тышындагы жашоо!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Версия %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation>Лицензияланган: %1</translation>
+        <translation>%1 үчүн лицензияланган</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 деген эркин ПК, бирок анын иштетүүсү өтө көп убакытымды алат.</translation>
+        <translation>%1 — бекер программалык жабдык, бирок анын иштетүүсү көп убагымды алат.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Сизден өтүнөм, %2&apos;ка &lt;a href=&apos;%1&apos;&gt;тартуу кылып&lt;/a&gt; мындан аркы иштетүүсүн колдоп бериңиз .</translation>
+        <translation>%2&apos;га &lt;a href=&apos;%1&apos;&gt;тартуу кылып&lt;/a&gt; мындан аркы иштетүүсүн колдоп бериңиз.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
-        <translation>Сиз Ð¼ÐµÐ½Ð¸Ð½ Ð´Ð°Ð³Ñ\8b Ð±Ð°Ñ\88ка Ñ\82иÑ\80кемелеÑ\80имди карап көрсөңүз болот:</translation>
+        <translation>Ð\91аÑ\88ка Ñ\82иÑ\80кемелеÑ\80имди Ð´Ð° карап көрсөңүз болот:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube музыка ойноткучу</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, музыка ойноткучу</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
-        <translation>%1&apos;ту %2 аркылуу сиздин эне тилиңизге которуу</translation>
+        <translation>%2 аркылуу %1&apos;ду өз эне тилиңизге которуңуз</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Иконканын автору %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt; шартында чыгарылган</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Жабуу</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Программа жөнүндө</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>%1 жөнүндө дайма билгиңиз келген нерселер жана эч убакта аларды сурамак эмессиз</translation>
+        <translation>%1 жөнүндө дайыма билгиңиз келген нерселер бирок сураганга мүмкүнчүлүгүңүз жок болгон</translation>
     </message>
 </context>
 <context>
@@ -88,7 +88,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation>&amp;Код:</translation>
+        <translation>&amp;Коду:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Толук версиясы %1 мүнөттөн көбүрөөк видеолорду жүктөгөнгө жана видеолорду үзгүлтүксүз көргөнгө уруксат берет.</translation>
+        <translation>Толук версиясы %1 минутадан көбүрөөк видеолорду жүктөгөнгө жана видеолорду үзгүлтүксүз көргөнгө уруксат берет.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation>Лицензиясы жок болгон үчүн, тиркеменин мөөнөтү %1 күндөн кийин бүтөт.</translation>
+        <translation>Лицензиясыз болгондуктан, тиркеменин мөөнөтү %1 күндөн кийин бүтөт.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
         <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Толук версиясын алганда, %1 үчүн оор эмгек салым кылып жатканымды да колдоп бересиз.</translation>
+        <translation>Толук версиясын алсаңыз, %1 үчүн оор жумуш кылып жатканымды да колдоп бере аласыз.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="70"/>
         <translation>Лицензияны сатып алуу</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Бардык видеолор</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Көрүлбөгөн видеолор</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Баарын көрүлдү деп белгилөө</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Жаңыланганын көрсөтүү</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Аты</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Соңку жаңылангандар</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Соңку кошулгандар</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Соңку көрүлгөндөр</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Эң көп көрүлгөндөр</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Сорттоо</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Бардык видеолор</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Көрүлбөгөн видеолор</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>байт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>КБ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>МБ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>байт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>КБ/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>МБ/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>секунда</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
-        <translation>мүнөт</translation>
+        <translation>минута</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 калды</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Ð\91Ñ\83л Ð¿Ñ\80огÑ\80амма %1&apos;Ñ\82Ñ\83н Ð´ÐµÐ¼Ð¾-веÑ\80Ñ\81иÑ\8fÑ\81Ñ\8b Ð±Ð¾Ð»Ð¾Ñ\82.</translation>
+        <translation>Ð\91Ñ\83л Ð¶Ó©Ð½ Ñ\8dле %1&apos;дÑ\83н Ð´ÐµÐ¼Ð¾-веÑ\80Ñ\81иÑ\8fÑ\81Ñ\8b.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Жүктөө функционалдуулугун текшерүү үчүн, бул %1 мүнөттөн кыскараак видеолорду гана жүктөп бере алат.</translation>
+        <translation>Жүктөө функционалдуулугун текшерүү үчүн, бул %1 минутадан кыскараак видеолорду гана жүктөп бере алат.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Улантуу</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Толук версиясын алуу</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
-        <translation>%1 файлы %2 жерине жүктөлдү</translation>
+        <translation>%2 жерине %1 файлы жүктөлдү</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Жүктөп алуу аякталды</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
-        <translation>Жүктөө жерин өзгөртүү...</translation>
+        <translation>Жайгашкан жерин өзгөртүү...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
-        <translation>Жүктөө жерин тандоо</translation>
+        <translation>Жүктөп алуу жерин тандоо</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Жүктөп алуу жери өзгөртүлдү.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
-        <translation>Кезектеги жүктөөлөр мурунку жеринде сакталат.</translation>
+        <translation>Кезекте жүктөлүп жаткандар мурунку жерге сакталат.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
-        <translation>Жүктөлүп жаткан жери: %1</translation>
+        <translation>%1 папкасына жүктөлүүдө</translation>
     </message>
 </context>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Жүктөөлөр</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation>Жаңыртууларды жүктөп алуу...</translation>
+        <translation>Жаңылоо жүктөлүүдө...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Ойнотуу</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Ойнотуу/Бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Токтотуу</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Кезектеги жолчодон кийин ойнотууну токтотуу</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Кийинки жолчо</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Мурунку жолчо</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Катуураак</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Акырыныраак</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Басаңдатуу</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Алга түрүү</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Артка түрүү</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Издөө</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Ачкыч сөз менен видеолорду жана каналдарды табыңыз</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Сереп</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation>Видеолорду категория боюнча кароо</translation>
+        <translation>Видеолорду категориясы боюнча кароо</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Жазылуулар</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Канал жазылуулары</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Өз үйүңүздөгүдөй болуңуз</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Ката</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ойнотууну токтотуп издөө көрүнүшүнө кайтуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
-        <translation>&amp;Өткөрүү</translation>
+        <translation>Ө&amp;ткөрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Кийинки видеого өтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Ойнотууну бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Толук экран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
-        <translation>Толук экран режимине өтүү</translation>
+        <translation>Толук экранга өтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ойнотуу тизмесин жана аспап панелин жашыруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Видеонун YouTube барагына өтүү жана ойнотууну бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Кезектеги видеонун YouTube шилтемесин алмашуу буферине көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Кезектеги видео агымдын дарегин алмашуу буферине көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Видеонун башка бөлүктөрүн үмүт кылып туура ирети менен табуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Өчүрүү</translation>
+        <translation>Ө&amp;чүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
-        <translation>Тандалган Ð²Ð¸Ð´ÐµÐ¾Ð»Ð¾Ñ\80дÑ\83 Ð¾Ð¹Ð½Ð¾Ñ\82Ñ\83Ñ\83 Ñ\82измеÑ\81инен өчүрүү</translation>
+        <translation>Ð\9eйноÑ\82Ñ\83Ñ\83 Ñ\82измеÑ\81индеги Ñ\82андалган Ð²Ð¸Ð´ÐµÐ¾Ð»Ð¾Ñ\80дÑ\83 өчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
-        <translation>&amp;Өйдө</translation>
+        <translation>Ө&amp;йдө</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
-        <translation>Тандалган Ð²Ð¸Ð´ÐµÐ¾Ð»Ð¾Ñ\80дÑ\83 Ð¾Ð¹Ð½Ð¾Ñ\82Ñ\83Ñ\83 Ñ\82измеÑ\81инен өйдө жылдыруу</translation>
+        <translation>Ð\9eйноÑ\82Ñ\83Ñ\83 Ñ\82измеÑ\81индеги Ñ\82андалган Ð²Ð¸Ð´ÐµÐ¾Ð»Ð¾Ñ\80дÑ\83 өйдө жылдыруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Ылдый</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
-        <translation>Тандалган Ð²Ð¸Ð´ÐµÐ¾Ð»Ð¾Ñ\80дÑ\83 Ð¾Ð¹Ð½Ð¾Ñ\82Ñ\83Ñ\83 Ñ\82измеÑ\81инен ылдый жылдыруу</translation>
+        <translation>Ð\9eйноÑ\82Ñ\83Ñ\83 Ñ\82измеÑ\81индеги Ñ\82андалган Ð²Ð¸Ð´ÐµÐ¾Ð»Ð¾Ñ\80дÑ\83 ылдый жылдыруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Издөө тарыхын тазалоо. Өзгөртүүлөр кайталанбас.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Чыгуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Кош болуңуз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Веб-сайт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 интернетте</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>%1&apos;дун мындан аркы иштетүүсүн колдоп бериңиз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>Программа &amp;жөнүндө</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>%1 жөнүндө маалымат</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Издөө</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Үндү өчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Жүктөөлөр</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Видео жүктөөлөрү жөнүндө кошумча маалымат көрсөтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Жүктөп алуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Кезектеги видеону жүктөп алуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>Каналга &amp;жазылуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Кезектеги видеону %1 аркылуу бөлүшүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Жабуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>Үстүнөн &amp;калкытуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>Бул видеодон кийин &amp;токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
-        <translation>Ката жөнүндө &amp;маалымдоо...</translation>
+        <translation>Катаны &amp;маалымдоо...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>Издөөнү &amp;тактоо...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Дагы...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Байланыштуу видеолор</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Кезектегиге байланыштуу видеону көрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Тиркеме</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
-        <translation>%1&apos;ту сатып алуу...</translation>
+        <translation>%1&apos;ду сатып алуу...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Ойнотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>Ойнотуу &amp;тизмеси</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Көрүнүш</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Бөлүшүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Жардам</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Катуулукту чоңойтуу үчүн %1 басыңыз жана кичирейтүү үчүн %2</translation>
+        <translation>Көлөмүн чоңойтуу үчүн %1 комбинациясын басыңыз, кичирейтүү үчүн %2</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
-        <translation>%1 Ð°Ñ\87Ñ\83Ñ\83</translation>
+        <translation>%1 Ð°Ñ\87Ñ\8bлÑ\83Ñ\83да</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Ð\96үкÑ\82өп Ð°Ð»Ñ\83Ñ\83 Ð±Ð¾Ð»Ñ\83п Ð¶Ð°Ñ\82кан ÐºÐµÐ·Ð´Ðµ %1&apos;дан Ñ\87Ñ\8bккÑ\8bÒ£Ñ\8bз ÐºÐµÐ»ÐµÐ±Ð¸?</translation>
+        <translation>Ð\96үкÑ\82өп Ð°Ð»Ñ\83Ñ\83 Ð±Ð¾Ð»Ñ\83п Ð¶Ð°Ñ\82кан ÐºÐµÐ·Ð´Ðµ %1&apos;дан Ñ\87Ñ\8bгÑ\83Ñ\83нÑ\83 ÐºÐ°Ð°Ð»Ð°Ð¹Ñ\81Ñ\8bзбÑ\8b?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Эгер сиз %1&apos;ту азыр жапсаңыз, бул жүктөп алуу жокко чыгарылат.</translation>
+        <translation>Эгер сиз %1&apos;ду азыр жапсаңыз, бул жүктөө жокко чыгарылат.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
-        <translation>Жабуу жана жүктөп алууну жокко чыгаруу</translation>
+        <translation>Жабуу жана жүктөөнү жокко чыгаруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Жүктөп алуунун аяктоосун күтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
-        <translation>&amp;Толук экран режиминен чыгуу</translation>
+        <translation>&amp;Толук экрандан чыгуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
-        <translation>%1 версия %2 азыркы кезде колго жетердик.</translation>
+        <translation>%1 версия %2 азыр жеткиликтүү.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Кечирээк эске салуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
-        <translation>Жаңыртуу</translation>
+        <translation>Жаңылоо</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
-        <translation>Ката: %1</translation>
+        <translation>Катасы: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>&amp;Мурунку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Мурунку жолчого кайтуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
-        <translation>&amp;Ð\9aомпакÑ\82 Ñ\80ежими</translation>
+        <translation>&amp;ТÑ\8bгÑ\8bз Ñ\80ежим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube барагын ачуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;шилтемесин көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Видео агымдын &amp;шилтемесин көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Видео &amp;фрагменттерди табуу</translation>
+        <translation>Видео&amp;фрагменттерди табуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Соңку издөөлөрдү &amp;тазалоо</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Тартуу кылуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Ойнотууну &amp;кол менен баштатуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Видео ойнотууну кол менен баштатуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation>Мазмундун турган жерин тандаңыз</translation>
+        <translation>Мазмундун жайгашкан жерин тандаңыз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Ойнотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Ойнотууну улантуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
-        <translation>Ð\9aалган Ñ\83бакÑ\8bÑ\82: %1</translation>
+        <translation>Ð\9aалган Ñ\83багÑ\8b: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
-        <translation>Катуулук %1%</translation>
+        <translation>Көлөмү %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
-        <translation>Үн өчүрүлдү</translation>
+        <translation>Үнү өчүрүлдү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
-        <translation>Үн күйгүзүлдү</translation>
+        <translation>Үнү күйгүзүлдү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
-        <translation>Видеонун чечиминин жогорку чеги: %1</translation>
+        <translation>Видеонун жогорку чечими: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Жашырындуулугуңуз камсыздалды</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Жүктөп алуу аякталды</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
-        <translation>Эми сиз видеонун YouTube шилтемесин башка тиркемеге коё аласыз</translation>
+        <translation>YouTube&apos;дун дарегин эми башка тиркемеге койсоңуз болот</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
-        <translation>Сиз Ñ\8dми Ð°Ð·Ñ\8bÑ\80 Ð²Ð¸Ð´ÐµÐ¾ Ð°Ð³Ñ\8bмдÑ\8bн Ð´Ð°Ñ\80егин Ð±Ð°Ñ\88ка Ñ\82иÑ\80кемеге Ñ\81ала Ð°Ð»Ð°Ñ\81Ñ\8bз</translation>
+        <translation>Ð\92идео Ð°Ð³Ñ\8bмдÑ\8bн Ð´Ð°Ñ\80егин Ñ\8dми Ð±Ð°Ñ\88ка Ñ\82иÑ\80кемеге ÐºÐ¾Ð¹Ñ\81оңÑ\83з Ð±Ð¾Ð»Ð¾Ñ\82</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Чакан убакытка чейин гана шилтеме анык болот.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Ð\91Ñ\83л Ð¿Ñ\80огÑ\80амма %1&apos;Ñ\82Ñ\83н Ð´ÐµÐ¼Ð¾-веÑ\80Ñ\81иÑ\8fÑ\81Ñ\8b Ð±Ð¾Ð»Ð¾Ñ\82.</translation>
+        <translation>Ð\91Ñ\83л Ð¶Ó©Ð½ Ñ\8dле %1&apos;дÑ\83н Ð´ÐµÐ¼Ð¾-веÑ\80Ñ\81иÑ\8fÑ\81Ñ\8b.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Бул тиркемени сынап көргөнгө мүмкүндүк берет.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Улантуу</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>бөлүк</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>эпизод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>%1 жеринен жөнөтүү</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Толук версиясын алуу</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
-        <translation>%1 Ð¶Ò¯ÐºÑ\82өп Ð°Ð»Ñ\83Ñ\83</translation>
+        <translation>%1 Ð¶Ò¯ÐºÑ\82өп Ð°Ð»Ñ\8bнÑ\83Ñ\83да</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation>Жаңыртууларды орнотуу</translation>
+        <translation>Жаңылоолорду орнотуу</translation>
     </message>
 </context>
 <context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 көрүү</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1/%2 (%3) — %4</translation>
+        <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Даярдоо</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Ката</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Аякталды</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Токтотулду</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Жүктөп алууну токтотуу</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>%1 жеринен көрсөтүү</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation>Эне каталогун ачуу</translation>
+        <translation>Ð\90Ñ\82а-Ñ\8dне каталогун ачуу</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation>Жүктөп алууну кайта баштатуу</translation>
+        <translation>Жүктөп алууну кайтадан жүргүзүү</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Издөө...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
-        <translation>Дагы көрсөтүү %1</translation>
+        <translation>Дагы %1 видеону көрсөтүү</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Видеолор жок</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Дагы видеолор жок</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
-        <translation>Сорттоо ыкмасы</translation>
+        <translation>Сорттоо</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Релеванттуулук</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Дата</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Көрүү саны</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Рейтинг</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Каалаган убакыт</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Бүгүн</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 күн</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 күн</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Узундук</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Баары</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Кыска</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Орточо</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Узун</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
-        <translation>4 мүнөттөн кыскараак</translation>
+        <translation>4 минутадан кыскараак</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
-        <translation>4 менен 20 мүнөттүн арасынан</translation>
+        <translation>4 менен 20 минутанын арасынан</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
-        <translation>20 мүнөттөн көбүрөөк</translation>
+        <translation>20 минутадан көбүрөөк</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Сапат</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Жогорку чечим</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p же чоңураак</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Даяр</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Даяр</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
-        <translation>&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;&apos;ка кош келиңиз,</translation>
+        <translation>&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;&apos;га кош келиңиз,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Толук версиясын сатып алуу</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Видеолорду</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>ачкыч сөз</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>менен табып көрүү.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Көрүү</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Соңку ачкыч сөздөр</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Соңку каналдар</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Артка</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>%1 алга</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation>%1 кайтуу</translation>
+        <translation>%1 Ð²Ð¸Ð´ÐµÐ¾Ñ\81Ñ\83на ÐºÐ°Ð¹Ñ\82Ñ\83Ñ\83</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Издөөнү тактоо</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Муну болжогон жоксузбу: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Эң популярдуу</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Тандалмалар</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Көп бөлүшкөндөр</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Көп талкуулангандар</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Мыктылар</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
-        <translation>%1 үчүн видео агымды алуу оңунан чыккан жок</translation>
+        <translation>%1 үчүн видео агымын алуу мүмкүн эмес</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Тармак катасы: %1 %2 үчүн</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Алжир</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Аргентина</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Австралия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Белгия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Бразилия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Канада</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Чили</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Колумбия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Чехия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Египт</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Франция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Германия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Гана</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Греция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Гонконг</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Венгрия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>Индия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Индонезия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Ирландия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Израиль</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Италия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Япония</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Иордан</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Кения</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Малайзия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Мексика</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Марокко</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Нидерланддар</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Жаңы Зеландия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Нигерия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Перу</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Филиппиндер</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Польша</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Орусия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Сауд Аравиясы</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Сингапур</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Түштүк Африка</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Түштүк Корея</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Испания</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Швеция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Тайвань</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Тунис</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Түркия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Уганда</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Бириккен Араб Эмираттары</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Улуу Британия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Йемен</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Бүткүл дүйнөлүк</translation>
     </message>
index 36aa566988ea4b7b6aecf3b6761ecc54057cd045..60568a89f1e3660a71ba2a293620d7e55e6bf5f6 100644 (file)
@@ -4,7 +4,7 @@ INCLUDEPATH += $$PWD
 DEPENDPATH += $$PWD
 
 # ls -1 *.ts | tr '\n' ' '
-TRANSLATIONS += ar.ts ca.ts ca_ES.ts cs_CZ.ts da.ts de_DE.ts el.ts en.ts es.ts es_AR.ts es_ES.ts fi.ts fi_FI.ts fr.ts he_IL.ts hr.ts hu.ts ia.ts it.ts ja_JP.ts jv.ts ky.ts nl.ts pl.ts pl_PL.ts pt_BR.ts ro.ts ru.ts sk.ts sl.ts tr.ts zh_CN.ts 
+TRANSLATIONS += ar.ts ast.ts bg_BG.ts ca.ts cs_CZ.ts da.ts de_DE.ts el.ts en.ts es.ts es_AR.ts es_ES.ts fi.ts fi_FI.ts fr.ts gl.ts he_IL.ts hu.ts ia.ts it.ts ja_JP.ts ky.ts ms_MY.ts nb.ts nl.ts pl.ts pl_PL.ts pt_BR.ts ro.ts ru.ts sk.ts sl.ts sq.ts sv_SE.ts tr.ts uk.ts uk_UA.ts zh_CN.ts zh_TW.ts 
 isEmpty(QMAKE_LRELEASE) {
     win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
     else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
diff --git a/locale/ms_MY.ts b/locale/ms_MY.ts
new file mode 100644 (file)
index 0000000..e46ffa3
--- /dev/null
@@ -0,0 +1,1595 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ms_MY" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>There&apos;s life outside the browser!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Versi %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Dilesenkan kepada: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 merupakan Perisian Bebas tetapi pembangunannya mengambil masa yang berharga.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Sila &lt;a href=&apos;%1&apos;&gt;beri sumbangan&lt;/a&gt; untuk menyokong pembangunan berterusan %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Anda mahu cuba aplikasi saya yang lain:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, merupakan pemain muzik YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, merupakan pemain muzik</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Terjemah %1 kepada bahasa ibunda anda menggunakan %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Ikon direka oleh %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Dikeluarkan dibawah &lt;a href=&apos;%1&apos;&gt;Lesen Awam Am GNU&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>%Tutup</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Perihal</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Apakah yang anda mahu tahu mengenai %1 tetapi segan untuk menanya</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Masukkan Perincian Lesen anda</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Emel:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kod:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Sila lesenkan %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Demo ini telah tamat tempoh.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Versi penuh membolehkan anda muat turun video yang lebih panjang dari %1 minit dan dapat menonton video tanpa gangguan.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Tanpa lesen, aplikasi akan luput dalam tempoh %1 hari.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>Dengan pembelian versi penuh, anda akan menyokong hasil kerja yang saya lakukan ketika menghasilkan %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Guna Demo</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Masukkan Lesen</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Beli Lesen</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Oleh %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Semua Video</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Video Tidak Ditonton</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Tanda semua sebagai ditonton</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Papar Dikemaskini</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nama</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Terakhir Dikemaskini</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Terakhir Ditambah</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Terakhir Ditonton</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Paling Banyak Ditonton</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Isih mengikut</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Semua Video</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Video Tidak Ditonton</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Tiada langganan dikemaskini buat masa ini.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Anda tidak mempunyai langganan. Gunakan simbol bintang untuk melanggan saluran.</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Kosongkan</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>bait</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>bait/saat</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB/saat</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>MB/saat</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>saat</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>minit</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 berbaki</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Ini hanyalah versi demo %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>Ia hanya boleh muat turun video kurang daripada %1 minit supaya anda boleh menguji kefungsian muat turunnya.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Teruskan</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Dapatkan versi penuh</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 dimuat turun dalam %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Muat turun selesai</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Ubah lokasi...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Pilih lokasi muat turun</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Lokasi muat turun berubah.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Muat turun semasa masih lagi berjalan pada lokasi terdahulu.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Memuat turun ke: %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Muat turun</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Memuat turun kemaskini...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Main</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Jeda</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Main/Jeda</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Henti</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Henti main selepas trek semasa</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Trek berikutnya</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Trek terdahulu</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Tingkatkan volum</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Rendahkan volum</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Senyap</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Jangkau kehadapan</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Jangkau mengundur</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Gelintar</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Cari video dan saluran mengikut kata kunci</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Layar</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Layar video mengikut kategori</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Langganan</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Langganan saluran</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Sila guna mengikut keselesaan anda</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Ralat</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Henti</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Henti main balik dan kembali ke paparan gelintar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>Lang&amp;kau</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Langkau ke video berikutnya</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Jeda</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Jeda main balik</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>Skrin &amp;Penuh</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Pergi ke skrin penuh</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Sembunyi senarai main dan palang alat</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Pergi ke halaman video YouTube dan jedakan main balik</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Salin pautan YouTube semasa ke papan keratan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Salin URL strim video semasa ke papan keratan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Cari bahagian video lain yang diharapkan dalam tertib yang betul</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Buang</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Buang video terpilih dari senarai main</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>Alih Ke &amp;Atas</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Alih video terpilih ke atas di dalam senarai main</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Alih Ke &amp;Bawah</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Alih video terpilih ke bawah dalam senarai main</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Kosongkan sejarah gelintar. Tidak dapat patah balik.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Keluar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Selamat Tinggal</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>Laman Sesa&amp;wang</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 pada Sesawang</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Sila beri sokongan pada pembangunan berterusan %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>Perih&amp;al</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Maklumat mengenai %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Gelintar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Senyapkan volum</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>Muat T&amp;urun</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Papar perincian mengenai muat turun video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>Muat T&amp;urun</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Muat turun video semasa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Langgan ke Saluran</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Kongsi video semasa menggunakan %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Emel</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Emel</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Tutup</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>Te&amp;rapung Diatas</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Henti Selepas Video Ini</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>&amp;Laporkan Masalah...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>Pe&amp;rhalusi Gelintar...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Lagi...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>Video Be&amp;rkaitan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Tonton video berkaitan dengan video semasa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Aplikasi</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Beli %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Main Balik</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>Se&amp;narai Main</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Papar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>K&amp;ongsi</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Bantuan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Tekan %1 untuk tingkatkan volum, %2 untuk rendahkannya</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Membuka %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Anda hendak keluar dari %1 dengan muat turun masih berjalan?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Jika anda tutup %1 sekarang, muat turun ini akan dibatalkan.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Tutup dan batalkan muat turun</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Tunggu sehingga muat turun selesai</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Tinggalkan Skrin P&amp;enuh</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 versi %2 kini sudah tersedia.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Maklum saya kemudian</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Kemaskini</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Ralat: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>Te&amp;rdahulu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Pergi kembali ke trek terdahulu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>Mod Pa&amp;dat</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Buka Halaman &amp;YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Salin Pa&amp;utan YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Salin &amp;URL Strim Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Cari Ba&amp;hagian Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>K&amp;osongkan Gelintar Baru-baru Ini</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Beri S&amp;umbangan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Mula Main Secara &amp;Manual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Mula memainkan video secara manual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Pilih lokasi kandungan anda</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Main</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Sambung semula main balik</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Masa berbaki: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Volum pada %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Volum disenyapkan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Volum disuarakan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Definasi video maksimum ditetapkan ke %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Kerahsiaan anda kini selamat</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Muat turun selesai</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Anda kini boleh menampal pautan YouTube ke dalam aplikasi lain</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Anda kini boleh menampal pautan strim video ke dalam aplikasi lain</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Pautan hanya sah untuk masa yang terhad.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Ini hanyalah versi demo %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Ia membolehkan anda uji aplikasi dan lihat jika ia berfungsi untuk anda.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Teruskan</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>daripada</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>bahagian</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>episod</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Dihantar dari %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Buang langganan dari %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Langgan ke %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Dapatkan versi penuh</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Memuat turun %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Versi baru %1 tersedia!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 kini tersedia. Anda mempunyai %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Anda hendak muat turun ia sekarang?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Langkau Versi Ini</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Maklum Saya Kemudian</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Pasang Kemaskini</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Tampal</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>ditonton %1 kali</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 daripada %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Menyediakan</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Gagal</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Selesai</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Dihentikan</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Henti memuat turun</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Papar dalam %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Buka folder induk</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Mulakan semula memuat turun</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Menggelintar...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Papar %1 Lagi</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Tiada video</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Tiada lagi video</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Isih mengikut</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Kaitan</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Tarikh</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Kiraan Papar</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Penarafan</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>Bila-bila Masa</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Hari Ini</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 Hari</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 Hari</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Jangkamasa</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Semua</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Pendek</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Sederhana</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Panjang</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Kurang dari 4 minit</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Diantara 4 hingga 20 minit</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Lebih panjang dari 20 minit</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Kualiti</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Definasi Tinggi</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p atau lebih tinggi</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Selesai</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Selesai</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Gelintar</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Selamat datang ke &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Dapatkan versi penuh</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Masukkan</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>kata kunci</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>saluran</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>untuk menonton video.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Tonton</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Kata kunci baru-baru ini</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Saluran baru-baru ini</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Undur</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Maju ke %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Undur ke %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>Perhalusi Gelintar</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Adakah anda maksudkan: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Paling Popular</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Paling Banyak Dikongsi</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Paling Banyak Dibincangkan</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Penarafan Tertinggi</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Popular Sepanjang Masa</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Tidak dapat strim video untuk %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Ralat rangkaian: %1 untuk %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Algeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Argentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Belgium</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Brazil</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Canada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>Republik Czech</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Mesir</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Perancis</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Jerman</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Yunani</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Hungary</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Ireland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Itali</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Jepun</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Jordan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Kenya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Malaysia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Mexico</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Maghribi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Belanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>New Zealand</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Filipina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Poland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Rusia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Arab Saudi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Singapura</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>Afrika Selatan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Korea Selatan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Sepanyol</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Sweden</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Tunisia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Turki</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>Emiriah Arab Bersatu</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>United Kingdom</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Yaman</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Seluruh Dunia</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
diff --git a/locale/nb.ts b/locale/nb.ts
new file mode 100644 (file)
index 0000000..a91f6f3
--- /dev/null
@@ -0,0 +1,1595 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="nb" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Det finnes et liv utenfor nettleseren!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Versjon %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Lisensiert til: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 er fri programvare, men utviklingen tar dyrebar tid.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Vennligst &lt;a href=&apos;%1&apos;&gt;doner&lt;/a&gt; for og støtte videre utvikling av %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Du vil kanskje prøve mine andre programmer også:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, en musikkspiller for YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, en musikkspiller</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Oversett %1 til ditt morsmål ved hjelp av %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Ikonet er designet av %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Utgitt under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Steng</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Om</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Hva du alltid har ønsket å vite om %1, men aldri turte spørre om</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Angi lisensdetaljer</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;E-post:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kode:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Vennligst lisensier %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Demoen er utløpt.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Den fulle versjon lar deg laste ned videoer større enn %1 minutter og se på videoer uten avbrudd.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Uten lisens, vil programmet utløper i %1 dager.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>Ved å kjøpe fullversjonen, støtter du det harde arbeidet som ble lagt inn i å skape %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Bruk demoen</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Angi Lisens</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Kjøp Lisens</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Nullstill</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>bytes</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>bytes/sek</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB/sek</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>MB/sek</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>sekunder</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>minutter</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 gjenstår</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Dette er kun demo-versjonen av %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>Den kan kun laste ned videoer på under %1 minutter, for at du skal kunne prøve ut nedlastingsfunksjonen.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Fortsett</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Kjøp fullversjonen</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 nedlastet i %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Nedlastingen ferdig</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n nedlasting</numerusform><numerusform>%n nedlastinger</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Endre sted ...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Velg nedlastingsmappe</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Nedlastingsmappe endret.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Pågående nedlastinger vil bli lagret i den forrige mappen.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Laster ned til: %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Nedlastinger</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Laster ned oppdatering...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Spill av</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Pause</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Spill av/Pause</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Stopp</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Stopp avspilling etter denne videoen.</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Neste video</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Forrige video</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Øk lydvolumet</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Senk lydvolumet</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Lydløs</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Søk forover</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Søk bakover</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Søk</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Finn videoer og kanaler med søkeord</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Bla gjennom</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Bla gjennom videoer etter kategori</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Gjøre deg komfortabel</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Feil</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Stopp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Stopp avspilling og gå tilbake til søkevisningen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>&amp;Hopp over</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Hopp til neste video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Pause</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Sett avspilling på pause</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Fullskjerm</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Fullskjermsvisning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Gjem spillelista og verktøylinja</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Gå til YouTube video siden og pause avspillingen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Kopier denne YouTube video linken til utklippstavle</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Kopier denne video stream URL til utklippstavle</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Finn andre videosegment, forhåpentligvis i rett rekkefølge</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Fjern</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Fjern valgte videoer fra spillelista</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>Flytt &amp;opp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Flytt opp valgte videoer i spillelista</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Flytt &amp;Ned</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Flytt ned valgte videoer i spillelista</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Fjern all søkehistorie. Kan ikke angres.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Avslutt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Farvel</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Nettsted</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 på internett</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Vi håper du kan bidra til å fortsette arbeidet med utvikling av %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>&amp;Om</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Informasjon om %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Søk</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Lydløs</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Nedlastinger</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Vis detaljer om nedlasting av video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>&amp;Nedlasting</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Last ned denne videoen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Del denne videoen med %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Epost</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Epost</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Steng</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Vis over andre</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Stopp etter denne videoen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>&amp;Rapporter et Problem</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>&amp;Detaljert søk...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Mer...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>&amp;Relaterte Videoer</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Se videoer relatert til den nåværende</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>Applikasjon</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Kjøp %1 …</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Avspilling</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Spilleliste</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Visning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Del</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Hjelp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Trykk på %1 for å øke lydvolumet, %2 for å senke</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Åpner %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Vil du avslutte %1 mens nedlastinger pågår?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Vis du stenger %1 nå, vil nedlastingen bli avbrutt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Steng og avbryt nedlastingen </translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Vent mens nedlastingen fullføres</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Forlat &amp;Full Skjerm</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>Versjon %2 av %1 er nå tilgjengelig.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Minn meg på det senere</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Oppdater</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Feil: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>&amp;Forrige</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Gå til forrige spor</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>&amp;Kompakt modus</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Åpne siden på &amp;YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Kopier &amp;lenken til YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Kopier &amp;URL-en til videostrømmen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Finn &amp;deler av videoen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>T&amp;øm siste søk</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Gi en &amp;donasjon</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Start avspillingen &amp;manuelt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Spill av videoer manuelt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Velg innholdsplassering</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Spill av</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Gjenoppta avspilling</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Gjenstående tid: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Volum %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Lydløst er på</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Lydløst er av</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Maksimum video definisjon innstilling til %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Ditt privatliv er nå sikkert</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Nedlastinger fullført</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Du kan nå lime inn YouTube linken i et annet program</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Du kan nå lime inn video stream URL i et annet applikasjon</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Denne linken vil kun være gyldig i en begrenset tid.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Dette er kun demoversjonen av %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Dette gir deg muligheten til å prøve ut applikasjonen og se om du den er noe for deg.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Fortsett</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>av</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>del</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>episode</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Sent fra %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Kjøp fullversjonen</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Nedlasting %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>En ny versjon av %1 er tilgjengelig!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 er nå tilgjengelig. Du har %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Vil du last den ned nå?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Hopp Over Denne Versjonen</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Minn Meg Senere</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Installer Oppdatering</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Lim</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 visninger</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 av %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Forbereder</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Mislykket</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Fullført</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Stoppet</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Stoppe nedlastingen</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Vis i %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Åpen foreldre mappe</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Omstart nedlasting</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Søker...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Vis %1 Mer</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Ingen videoer</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Ingen flere videoer</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Sorter etter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Relevans</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Dato</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Antall ganger sett</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Vurdering</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>Når som helst</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>I dag</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 Dager</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 Dager</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Varighet</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Alle</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Kort</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Medium</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Lange</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Mindre enn 4 minutter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Mellom 4 og 20 minutter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Lenger en 20 minutter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Kvalitet</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Høy Definisjon</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p eller høyer</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Ferdig</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Ferdig</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Søk</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Velkommen til &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Kjøpfullversjon</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Skriv</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>ett nøkkelord</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>en kanal</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>for å begynne avspilling av video</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Se</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Seneste søkeord</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Seneste kanaler</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Tilbake</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Fremover til %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Tilbake til %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>Detaljert søk</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Mente du: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Mest Populære</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Mest Delt</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Mest Diskutert</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Toppklassifisert</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Kan ikke hente mediastrøm for %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Feil på nettverk: %1 for %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Algerie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Argentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Belgia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Brasil</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Canada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>Czech Republic</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Egypt</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>France</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Tyskland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Hellas</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Hungary</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Irland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Italia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Japan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Jordan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Kenya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Malaysia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Mexico</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Marokko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Nederland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>New Zealand</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Filippinene</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Polen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Russland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Saudi Arabia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Singapore</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>Sør Africa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Sør Korea</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Spania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Sverige</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Tunisia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Tyrkia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>De Forente Arabiske Emirater</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Storbritannia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Yemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Over heile verda</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index 563ae0e2ee4b1ab3808f1c5947fe61136d5b6ca9..8643c3b4ebe80f11e877b8a0b24f4295ced69d35 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Er is leven buiten de browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versie %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Gelicenseerd aan: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 is gratis software, maar de ontwikkeling ervan vergt kostbare tijd.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Doneer&lt;/a&gt; om bij te dragen aan de verdere ontwikkeling van %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Misschien wilt u ook mijn andere apps proberen:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, een YouTube-muziekspeler</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, een muziekspeler</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Vertaal %1 naar uw moedertaal met behulp van %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Pictogram ontworpen door %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Uitgebracht onder de &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Sluit</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Over</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Wat u altijd al had willen weten over %1 maar nooit heeft durven vragen</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Vul uw licentie-details in</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;E-mailadres:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Code:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>De volledige versie stelt u in staat om video&apos;s te downloaden die langer zijn dan %1 minuten en om video&apos;s te kijken zonder onderbrekingen.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Zonder een licentie zal deze applicatie vervallen in %1 dagen.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Vul licentie in</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
-        <translation type="unfinished"/>
+        <translation>Koop licentie</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>D.m.v. %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Alle video&apos;s</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Niet-bekeken video&apos;s</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Markeer alles als bekeken</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Toon bijgewerkte</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Naam</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Laatst bijgewerkt</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Laatst toegevoegd</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Laatst bekeken</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Vaakst bekeken</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sorteer op</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Alle video&apos;s</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Niet-bekeken video&apos;s</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Er zijn op dit moment geen bijgewerkte abonnementen.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>U heeft geen abonnementen. Gebruik het ster-symbool om te abonneren op kanalen.</translation>
     </message>
 </context>
 <context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>seconden</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minuten</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 resterend</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dit is slechts de demoversie van %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Het kan alleen maar videos downloaden korter dan %1 minuten zodat u de downloadfunctionaliteit kunt testen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Ga door</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 gedownload in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Download greed</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Verander locatie...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Kies de downloadlocatie</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Downloadlocatie aangepast.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Huidige downloads zullen in de vorige locatie worden geplaatst.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Downloaden naar:%1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Downloads</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Bezig met downloaden van update...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Speel af</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pauzeer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Speel af/Pauzeer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Stop</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Stop afspelen na huidig nummer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Volgend nummer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Vorig nummer</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Verhoog volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Verlaag volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Demp</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Spoel naar voren</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Spoel naar achteren</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Zoek</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Vind video&apos;s en kanalen d.m.v. sleutelwoord</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Blader</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Blader video&apos;s d.m.v. categorie</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Abonnementen</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Kanaal-abonnementen</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
+        <translation>Maak het u zelf gemakkelijk</translation>
     </message>
 </context>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Fout</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stop het afspelen en keer terug naar het zoekvenster</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Sla over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Spoel door naar de volgende vieo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauzeer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pauzeer afspelen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Schakel over naar Volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Verberg de afspeellijst en de werkbalk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ga naar de YouTube-videopagina en pauzeer het afspelen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopieer de huidige YouTube-link naar het klembord</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopieer de huidige videostream-URL naar het klembord</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Vind gerelateerde videofragmenten, hopelijk in de juiste volgorde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Verwijder</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Verwijder de geselecteerde video&apos;s uit de afspeellijst</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Verplaats &amp;omhoog</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Verplaats de geselecteerde video&apos;s in de afspeellijst naar boven</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Verplaats &amp;omlaag</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Verplaats de geselecteerde video&apos;s in de afspeelijst naar beneden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Wis de zoek geschiedenis. Dit kan niet ongedaan worden gemaakt.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sluit af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Tot ziens</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 op het internet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Ondersteun alstublieft de ontwikkeling van %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informatie over %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Zoek</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Demp volume</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Geef details weer van videodownloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Download de huidige video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Abonneer op kanaal</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Deel de huidige video door middel van %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Sluit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Zweef erboven</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stop na deze video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporteer een Probleem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Verfijn Zoekopdracht...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Meer...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Gerelateerde video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Bekijk video&apos;s gerelateerd aan de huidige</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Programma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Koop %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Afspeelopties</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Afspeellijst</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Weergave</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Deel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Help</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Druk op %1 om het volume te verhogen, op %2 om het te verlagen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Bezig met openen van %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Wilt u %1 afsluiten terwijl er een download bezig is?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Als u nu %1 afsluit, zal de download worden beëindigd.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Sluit en annuleer het downloaden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Wacht tot het downloaden is voltooid</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Verlaat &amp;volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versie %2 nu beschikbaar.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Herinner mij later</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Werk bij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Fout: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>V&amp;orige</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Ga terug naar het vorige nummer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Compacte modus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Open de &amp;Youtube-pagina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopieer de YouTube-&amp;link</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopieer de videostream-&amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Vind video&amp;fragmenten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Wis recente zoekopdrachten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Geef een &amp;donatie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Speel handmatig af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Speel handmatig video&apos;s af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Kies uw inhoudslocatie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Speel af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Hervat afspelen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Resterende tijd: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volume op %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Volume is gedempt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Volume is niet gedempt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximale videokwaliteit staat op %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Uw privacy is nu gewaarborgd</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Downloads afgerond</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>U kunt nu uw YouTube-link kopieren naar een ander programma</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>U kunt nu uw videostream-URL kopieren naar een ander programma</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>De link zal maar een beperkte tijd geldig zijn.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dit is slechts de demoversie van %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Het biedt de mogelijkheid de applicatie te testen en te beoordelen.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Ga door</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>van</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>fragment</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>aflevering</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Verstuurd vanaf %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Zeg abonnement op van %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Abonneer op %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Bezig met downloaden van %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Een nieuwe versie van %1 is beschikbaar!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 is nu beschikbaar. U heeft %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>Wilt u deze nu downloaden?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>Sla deze versie over</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>Herinner me later</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Installeer update</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Plakken</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 bekeken</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>%1 van %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
-        <translation type="unfinished"/>
+        <translation>Aan het voorbereiden</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
-        <translation type="unfinished"/>
+        <translation>Mislukt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
-        <translation type="unfinished"/>
+        <translation>Voltooid</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
-        <translation type="unfinished"/>
+        <translation>Gestopt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
-        <translation type="unfinished"/>
+        <translation>Stop het downloaden</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
-        <translation type="unfinished"/>
+        <translation>Toon in %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
-        <translation type="unfinished"/>
+        <translation>Open oudermap</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
-        <translation type="unfinished"/>
+        <translation>Herstart het downloaden</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Bezig met zoeken...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
-        <translation type="unfinished"/>
+        <translation>Toon %1 meer</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Geen video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
-        <translation type="unfinished"/>
+        <translation>Geen video&apos;s meer</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sorteer op</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevantie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Weergaven</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Waardering</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Elke Periode</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Vandaag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Dagen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Dagen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duur</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Alles</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Gemiddeld</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Minder dan 4 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Tussen 4 en 20 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Langer dan 20 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Kwaliteit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>HD Resolutie </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p of hover</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Klaar</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Klaar</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Welkom bij &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>een zoekwoord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>een kanaal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>om te beginnen met het bekijken van video&apos;s.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Bekijk</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Recente zoekwoorden</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Recente kanalen</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Terug</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Spoel vooruit naar %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Spoel terug naar %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Verfijn Zoekopdracht</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Bedoelde je: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>Meest populair</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Vaakst gedeeld</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Meest bediscussieerd</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Hoogst gewaardeerd</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Altijd populaire</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan de videostream niet verkrijgen voor %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Netwerkfout: %1 voor %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Algerije</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentinië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Australië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>België</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brazilië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Canada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chili</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Colombia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>Tsjechië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egypte</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Frankrijk</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Duitsland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Griekenland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Hongarije</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonesië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Ierland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israël</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordanië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Maleisië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Mexico</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marokko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Nederland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Nieuw-Zeeland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filipijnen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Polen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Rusland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Saoedi-Arabië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapore</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Zuid-Afrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Zuid-Korea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Spanje</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Zweden</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunesië</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turkije</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Oeganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Verenigde Emiraten</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Verenigd Koninkrijk</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Wereldwijd</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index f7290c6b7fb9fe0accc95a8ecf0345fbd2d8fde8..f337baeb925c55e4a51662a7089d18cbb2e05d9b 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Istnieje życie poza przeglądarką!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Wersja %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Licencjonowane dla: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 jest wolnym oprogramowaniem, ale jego rozwój pochłania cenney czas.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Proszę &lt;a href=&apos;%1&apos;&gt;wesprzyj nas darowizną&lt;/a&gt; żybyśmy mogli ciągle rozwijać %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
-        <translation type="unfinished"/>
+        <translation>Być może chciałbyś wypróbować moje inne aplikacje:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
-        <translation type="unfinished"/>
+        <translation>%1, odtwarzacz muzyki YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
-        <translation type="unfinished"/>
+        <translation>%1, odtwarzacz muzyki</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Przetłumacz %1 na swój język używając %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ikony zaprojektowane przez %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Wydane na licencji&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
-        <translation>O programie Minitube</translation>
+        <translation>O programie</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>To co zawsze chcieliście wiedzieć o %1 ale nigdy się nie odważyliście zapytać</translation>
     </message>
@@ -78,7 +78,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Wpisz szczegóły Twojej licencji</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
@@ -88,7 +88,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Kod:</translation>
     </message>
 </context>
 <context>
         <translation>Kup Licencję</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sortuj według</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bajty</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bajtów/sekundę</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekund</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minut</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 pozostało do końca</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>To jest tylko wersja demo%1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Może jedynie pobierać filmy krótsze niż%1 minut, więc można przetestować funkcje pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Kontynuuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%1 pobrane w %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Pobieranie ukończone</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Pobieranie</numerusform><numerusform>%n Pobieranie</numerusform><numerusform>%n Pobieranie</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Wybierz katalog pobierania</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Katalog pobierania został zmieniony.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktualnie pobierane pliki zostaną we wcześniejszym katalogu pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Pobierane do: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Pobrane pliki</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Odtwarzaj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pauza</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Odtwarzaj/Wstrzymaj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Zatrzymaj odtwarzanie po tej ścieżce</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Następny</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Poprzedni</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Głośniej</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Ciszej</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Przewiń w przód</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Przewiń w tył</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Przeglądaj</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Przeglądaj wideo według kategorii</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Poczuj się komfortowo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Zatrzymaj odtwarzanie i wróć do wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Prze&amp;skocz dalej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Skocz do następnego pliku wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>Pełny ekran (&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Przełącz na pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ukryj listę odtwarzania i pasek narzędzi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Otwórz na stronie Youtube i wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopiuj link aktualnie odtwarzanego video do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopiuj adres URL odtwarzanego wideo do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>Usuń (&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Usuń wybrane pliki z listy odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Przenieś &amp;Wyżej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Przenieś wyżej zaznaczony plik w liście odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Przenieś &amp;Niżej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Przenieś niżej zaznaczony plik w liście odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Wyczyść historię wyszukiwania. NIEODWRACALNIE.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>Wyjdź (&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Żegnaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Strona domowa projektu (&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 w sieci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Prosimy o wsparcie dla dalszego rozwoju %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>O programie (&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informacje o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Pobrane</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Pokaż szczegóły o pobranych plikach</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Pobierz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Pobierz aktualny plik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Udostępnij te wideo używając %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Zgłoś problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Więcej...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Kup %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>Udo&amp;stępnij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoc</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Wciścnij %1 żeby zwiększyć głośność, %2 żeby zmiejszyć głośność</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Otwieranie %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Czy na pewno chcesz zamknąć %1 w trakcie pobierania???</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jeśli zamkniesz %1 teraz, To pobieranie będzie anulowane.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Zamnij i anuluj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Poczekaj na zakończenie pobierania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opuść &amp;tryb pełnoekranowy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 wersja %2 jest teraz dostępna.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Przypomnij mi później</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Aktualizuj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Błąd %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>Pop&amp;rzedni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Powrót do poprzedniego utworu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otwórz na &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiuj adres &amp;URL strumienia wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Wy&amp;czyść Ostatnie Poszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Przekaż &amp;darowiznę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Odtwarzaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Kontynuuj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Pozostały czas %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Głośność na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Dźwięk jest wyciszony</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Przywrócono dźwięk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Twoja prywatność jest teraz bezpieczna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Pobieranie ukończone</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Teraz możesz wkleić link Youtube do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Teraz możesz wkleić URL do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link będzie ważny tylko przez ograniczony czas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>To jest tylko wersja demo %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Pozwala Ci to na testowanie i sprawdzenie działania aplikacji.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Kontynuuj</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>część</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>odcinek</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Wysłano z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Pobieranie %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Nowa wersja %1 jest dostępna!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 jest już dostępny, Ty masz %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Zainstaluj aktualizację</translation>
     </message>
 </context>
 <context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 widziane</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Przegotowuję</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Niepowodzenie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Zakończone</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Zatrzymano</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Zatrzymaj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Pokaż w %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Pobierz od nowa</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Szukanie...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Pokaż kolejne %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Brak wideo</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Nie ma więcej wideo</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Daty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Kiedykolwiek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Dzisiaj</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Wszystko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
-        <translation type="unfinished"/>
+        <translation>Krótkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
-        <translation type="unfinished"/>
+        <translation>Średnie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
-        <translation type="unfinished"/>
+        <translation>Długie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Krótsze niż 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Pomiędzy 4 a 20 minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Dłuższe niż 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Jakość</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Ukończono</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Ukończono</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Witaj w &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Zatwierdź</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>słowo kluczowe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>kanał</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>aby rozpocząć oglądanie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Oglądaj</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Ostatnio szukane</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Odwiedzone kanały</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Wstecz</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Przewiń do %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Cofnij do %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Czy chodziło o: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nie można uzyskać dostępu do %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Błąd sieci: %1 for %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Algieria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentyna</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brazylia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Kolumbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Czechy</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egipt</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Francja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Niemcy</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Grecja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Węgry</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>Indie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonezja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Irlandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Izrael</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Włochy</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japonia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malezja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Meksyk</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Maroko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Holandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Nowa Zelandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filipiny</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rosja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Arabia Saudyjska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Południowa Afryka</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Południowa Korea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Hiszpania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Szwecja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Tajwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunezja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Turcja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Ogólnoświatowy</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index fb2321e5a2c73897a2fcc043a78ddfd13fde86c2..99f072f1009926f9aa32e3d717594b44750aabc7 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Życie istnieje też poza przeglądarką!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Wersja %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licencjonowane dla: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 jest darmowym oprogramowaniem, ale jego stworzenie też wymaga cennego czasu.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Proszę o &lt;a href=&apos;%1&apos;&gt;dotacje&lt;/a&gt; dla dalszego rozwoju %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Może chcesz wypróbować inne moje aplikacje:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, odtwarzacz muzyki z YouTube&apos;a</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, odtwarzacz muzyki</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Przetłumacz %1 na swój język używając %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ikony zaprojektowane przez %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Wydane na licencji&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>O programie</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Wszystko, co chcieliście wiedzieć o %1, ale baliście się zapytać</translation>
     </message>
         <translation>Kup licencję</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Wszystkie filmy</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Nieobejrzane filmy</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Oznacz wszystkie jako obserwowane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Pokaż zaktualizowane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nazwa</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Ostatnio Zaktualizowane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Ostatnio Dodane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Ostatnio Zaobserwowane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Najczęściej Obserwowane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sortuj według</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Wszystkie filmy</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Nieobejrzane filmy</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Brak zaktualizowanych subskrypcji. </translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>B/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sek.</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>min.</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>pozostało %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>To jest tylko wersja demo %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Może pobierać jedynie filmy krótsze niż %1 minut, dla przetestowania funkcji pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Dalej</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ściągnięte w %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Ściąganie zakończone</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Wybierz katalog pobierania</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Katalog pobierania został zmieniony.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktualnie pobierane pliki zostaną we wcześniejszym katalogu pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Pobierane do: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Pobrane pliki</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Graj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Wstrzymaj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Graj/Wstrzymaj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Stop (przerwij)</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Zatrzymaj odtwarzanie po tej ścieżce</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Następna ścieżka</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Poprzednia ścieżka</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Głośniej</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Ciszej</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Przewiń w przód</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Przewiń do tyłu</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Znajdź filmy i kanały po słowie kluczowym</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Przeglądaj</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Przeglądaj filmy po kategorii</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Subskrypcje</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Rozgość się</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Przerwij odtwarzanie i wróć do wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Prze&amp;skocz dalej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Przejdź do następnego pliku wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Przełącz na pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ukryj listę odtwarzania i pasek narzędzi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Przejdź do strony YouTube i wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Skopiuj link YouTube odtwarzanego filmu do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopiuj adres URL odtwarzanego wideo do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Znajdź pozostałe części filmu w, miejmy nadzieję, dobrej kolejności</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Usuń</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Usuń wybrane pliki z listy odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Przesuń w &amp;Górę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Przesuń wyżej zaznaczone pliki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Przesuń w &amp;Dół</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Przesuń niżej zaznaczone pliki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Czyści historię wyszukiwania. Nieodwracalnie.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Weź to wyłącz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Narciarz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Wyświetl stronę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 on the Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Wesprzyj dalszy rozwój %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>O &amp;Programie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informacje o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Pobrane</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Pokaż szczegóły o pobranych plikach</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Pobierz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Pobierz aktualny plik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Podziel się tym filmem przez %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>e-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Ustaw na wierzchu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zatrzymaj  po tym filmie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>Zgłoś problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Zawęź wyszukiwanie...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Więcej...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>Powiązane filmy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Oglądaj filmy powiązane z aktualnie oglądanym</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Kup%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Podziel się</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Halp znaczy pomoc</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Naciśnij %1 aby podgłośnić, %2 aby przyciszyć</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Otwieranie %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Czy na pewno chcesz zamknąć %1 w trakcie pobierania???</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jeśli zamkniesz %1 teraz, To pobieranie będzie anulowane.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Zamnij i anuluj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Poczekaj na zakończenie pobierania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opuść pełny ekran (&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>Wersja %1 %2 jest dostępna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Przypomnij później</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Zaktualizuj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Błąd %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;oprzedni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Wróć do poprzedniej ścieżki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Tryb kompaktowy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otwórz stronę &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Skopiuj &amp;link do strony Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Skopiuj &amp;URL strumienia wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Znajdź części filmu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Wyczyść ostatnie wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Przekaż &amp;dotację</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ręczne rozpoczynanie odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Ręcznie odtwarzaj filmy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Wybierz swoją lokalizację</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Graj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Przywróć odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Pozostały czas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Głośność: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Dźwięk wyciszony</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Dźwięk przywrócony</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Twoja prywatność jest już bezpieczna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Pobieranie ukończone</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Teraz można wkleić link YouTube do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Teraz możesz wkleić URL do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link będzie ważny tylko przez ograniczony czas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>To jest tylko wersja demo %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Pozwala przetestować aplikację, i zobaczyć czy Ci odpowiada.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Dalej</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>część</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>odcinek</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Przesłane od %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Usuń subskrypcje %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Subskrybuj %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Zdobądź pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Pobieranie %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1widziany</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Przygotowywanie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Niepowodzenie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Ukończone</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Zatrzymano</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Przerwij pobieranie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Pokaż w %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Otwórz katalog nadrzędny</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Pobierz ponownie</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Szukanie...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Pokaż kolejne %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Brak filmów</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Nie ma więcej filmów</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Trafność</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
-        <translation type="unfinished"/>
+        <translation>Wyświetlenia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Ocena</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Kiedykolwiek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Dzisiaj</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Czas trwania</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Wszystkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Krótkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Średnie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Długie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Krótsze niż 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Pomiędzy 4 a 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Dłuższe niż 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Jakość</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Jakość HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p lub wyższa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Zrobione</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Zrobione</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Witaj w &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Zatwierdź</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>słowo kluczowe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>kanał</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>aby rozpocząć oglądanie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Oglądaj</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Ostatnie wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Ostatnie kanały</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Wstecz</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Idź do %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Powróć do %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Zawęź wyszukiwanie</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Masz na myśli: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Najpopularniejsze</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Wyróżnione</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Najwięcej udostępniane</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Najczęściej dyskutowane</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Najlepiej oceniane</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Strumieniowanie %1 nie powiodło się</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Błąd sieci: %1 dla %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Algieria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentyna</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Australia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brazylia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Kolumbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Czechy</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egipt</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Francja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Niemcy</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Grecja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Węgry</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>Indie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonezja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Irlandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Izrael</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Włochy</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japonia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Jordania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malezja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Meksyk</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Maroko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Holandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Nowa Zelandia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigeria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filipiny</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rosja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Arabia Saudyjska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Południowa Afryka</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Korea Południowa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Hiszpania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Szwecja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Tajwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunezja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Turcja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Zjednoczone Emiraty Arabskie</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Wielka Brytania</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Ogólnoświatowy</translation>
     </message>
index fca6446ef7ee6556f1a4dd2e38c81ddfdae561a3..1df5b37103066354ef6b7fa59ff945828a7b0b3a 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Há vida fora do navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versão %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
-        <translation type="unfinished"/>
+        <translation>Licenciado a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 é um Software livre, mas seu desenvolvimento toma um tempo precioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Por favor &lt;a href=&apos;%1&apos;&gt;doe&lt;/a&gt; para apoiar o desenvolvimento continuado de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Você pode querer tentar os meus outros aplicativos também:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, um tocador de música para YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, um tocador de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduza %1 para seu idioma nativo usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ícone desenhado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Lançado sob a &lt;a href=&apos;%1&apos;&gt;Licença Pública Geral GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Fechar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>O que você sempre quis saber sobre %1 e nunca se atreveu a perguntar</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation type="unfinished"/>
+        <translation>Entre com seus Detalhes de Licença</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>E-mail:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>Código:</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>A versão completa permite que você baixe vídeos com mais de %1 minutos e assista-os sem interrupções.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Sem licença, a aplicação irá expirar em %1 dias.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Entrar com a Licença.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
-        <translation type="unfinished"/>
+        <translation>Comprar a Licença.</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Por %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Todos Os Vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Vídeos Não Assistidos</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Marcar tudo como assistido</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Mostrar Atualização</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Nome</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Última Atualização</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Último Adicionado</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Último Assistido</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Mais Assistidos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Ordenar por</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Todos Os Vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Vídeos Não Assistidos</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Não há assinaturas atualizadas neste momento.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Você não tem assinaturas. Use o símbolo da estrela para assinar canais.</translation>
     </message>
 </context>
 <context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restantes</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta é apenas a versão demonstração de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Só pode fazer download de vídeos menores que %1 minutos para que você possa testar a funcionalidade de download.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 baixados em %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Download terminou</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Alterar local...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Escolha um local para o download</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Local de download alterado.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Downloads atuais ainda irão para o local anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Baixando para: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Downloads</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Baixando atualização...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Reproduzir</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pausar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Reproduzir/Pausar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Parar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Parar reprodução após a faixa atual</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Próxima faixa</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Faixa anterior</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Aumentar volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Diminuir volume</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Mudo</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Avançar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Voltar</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Pesquisar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Encontrar vídeos e canais por palavra-chave</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Procurar</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Procurar vídeos por categoria</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Assinados</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Canais assinados</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Sinta-se confortável</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Erro</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Parar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Parar a reprodução e voltar à visualização da pesquisa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Pu&amp;lar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Pular para o próximo vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pausar a reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Tela Cheia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Ir para a tela cheia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar a playlist e a barra de ferramentas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir à página de vídeo do YouTube e pausar a reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar o link do vídeo atual do YouTube para a área de transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar a URL do stream do vídeo atual para a área de transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Localizar partes de outro vídeo esperando na ordem certa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Remover os vídeos selecionados da playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Mover para &amp;cima</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover para cima os vídeos selecionados na playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Mover para &amp;baixo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover para baixo os vídeos selecionados na playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Apagar o histórico de pesquisa. Não pode ser desfeito.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sair</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Tchau</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Si&amp;te</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 na Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor, apoie o desenvolvimento continuado de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informações sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Pesquisar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Volume mudo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalhes sobre os downloads de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Baixar o vídeo atual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>A&amp;ssinar um canal</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Compartilhar o vídeo atual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Fechar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Sempre Acima</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Parar Após Este Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Relatar um problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Pesquisa...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Mais...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
-        <translation type="unfinished"/>
+        <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
+        <translation>Assistir vídeos relacionados à atual</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicação</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Adquirir %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartilhar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pressione %1 para aumentar o volume, %2 para diminui-lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Abrindo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Você deseja sair de &quot;%1&quot; com uma transferência em curso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Se você fechar %1 agora, este download será cancelado.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Fechar e cancelar download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Aguardar o download terminar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Deixar Em &amp;Tela Cheia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versão %2 está agora disponível.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Lembrar mais tarde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Atualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Erro: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Ir para a faixa anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;Compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir a Página do &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar o &amp;Link do YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar a &amp;URL do Stream do Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Localizar &amp;Parte Do Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpar Buscas Recentes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Faça uma &amp;Doação</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Iniciar &amp;Manualmente A Reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Iniciar manualmente a reprodução de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Escolher seu conteúdo local</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproduzir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Continuar reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Tempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volume a %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Volume está mudo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Volume não está mudo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Máxima definição de vídeo definida para %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Sua privacidade está agora segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Downloads finalizados</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Agora você pode colar o link do YouTube em outro programa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Agora você pode colar a URL do stream de vídeo em outro programa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>O link só será válido por um tempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta é apenas a versão demonstação de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ele permite que você teste o aplicativo e veja se ele funciona para você.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epsódio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Envido de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Cancelar a assinatura de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Assinar %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Baixando %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>Uma nova versão do %1 está disponível!</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 está disponível. Você está usando %3.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>Gostaria de fazer o download agora?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>Pular esta versão.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>Me lembre mais tarde.</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>Instalar atualização.</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>Colar.</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 visualizações</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Falhou</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Finalizado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Parado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Parar download</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Mostrar em %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Abrir pasta pai</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Reiniciar download</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Pesquisando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Mostrar mais %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Sem vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Não há mais vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevância</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Número De Visualizações</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Avaliação</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Sempre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Hoje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Duração</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Breve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Médio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Longo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 e 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Mais de 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Qualidade</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Alta Definição</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p ou superior</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Feito</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Feito</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bem-vindo ao &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Digite</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>uma palavra chave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>um canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>para começar a assistir vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Assistir</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Palavra-chave recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canais recentes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Voltar</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>Avançar para %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>Voltar para %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Refinar Pesquisa</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Você quis dizer: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
+        <translation>Mais Popular</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>Mais Compartilhado</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>Mais Discutido</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
-        <translation type="unfinished"/>
+        <translation>Mais Populares</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Todos Os Tempos Populares</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Não foi possível obter stream de vídeo de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Erro na rede: %1 para %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Argélia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Austrália</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Bélgica</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brasil</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Canadá</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Chile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Colômbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>República Tcheca</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egito</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>França</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Alemanha</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Gana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Grécia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Hungria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Índia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonésia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irlanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Israel</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Itália</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japão</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordânia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Quênia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malásia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>México</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Marrocos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Holanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Nova Zelândia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigéria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filipinas</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Polônia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Rússia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Arábia Saudita</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>Singapura</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>África do Sul</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Coréia do Sul</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Espanha</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Suécia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunísia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turquia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Emirados Árabes Unidos</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Reino Unido</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Iémen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Mundial</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index 44824e75c199b0b56f3d118ec858464c52af01fc..d03126154780d468e9de900164c419476a13348a 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Există viață dincolo de browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Versiunea %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licență pentru %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 este un program gratuit, dar dezvoltarea acestuia necesită timp prețios.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Vă rugăm să &lt;a href=&apos;%1&apos;&gt;donați&lt;/a&gt; pentru a ajuta la continuarea dezvoltării %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Puteți încerca și celelalte aplicații ale mele:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un player pentru colecția muzicală de pe YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, un player pentru colecția muzicală proprie</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Tradu %1 în limba proprie folosind %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Iconița a fost concepută de %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Oferit sub &lt;a href=&apos;%1&apos;&gt;Licența Publică Generală GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>În&amp;chide</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Despre</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Tot ce ai vrut să știi despre %1 dar nu ai îndrăznit să întrebi</translation>
     </message>
         <translation>Cumpără Licență</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sortează după</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>secunde</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minute</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 rămase</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aceasta este doar o versiune demo a %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Poate să descarce doar videoclipurile mai mici de %1 minute în așa fel încât să puteți testa funcționalitatea de descărcare.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Continuă</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>ObțineIa versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descărcat în %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Descărcare terminată</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descărcare</numerusform><numerusform>%n Descărcări</numerusform><numerusform>%n Descărcări</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Schimbă locația...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Alege locația de descărcare</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Locația de descărcare a fost schimbată.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Fişierele în curs de descărcare vor fi salvate în locația anterioară.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Descărcare în: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Descărcări</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Redare</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pauză</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Redare/Pauză</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Stop</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Opreşte redarea după piesa curentă</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Piesa următoare</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Piesa anterioară</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Creștere volumul</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Descreștere volumul</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Mut</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Caută înainte</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Caută înapoi</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Caută</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Eroare</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Oprește redarea și întoarce-te la căsuța de căutare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>O&amp;mite</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Treci la videoclipul următor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauză</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pune redarea pe pauză</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>Ec&amp;ran complet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Vizualizează pe tot ecranul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ascunde lista de redare și bara de unelte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Deschide pagina de pe YouTube si pune pauză</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiază adresa videoclipului YouTube curent în clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiază adresa fluxului video curent în clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Caută alte părți ale videoclipului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>Ș&amp;terge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Șterge videoclipul selectat din lista de redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Mută în &amp;sus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mută în sus videoclipul selectat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Mută în &amp;jos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mută în jos videoclipul selectat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Curăță istoricul de căutări. Acțiune ireversibilă.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Ieșire</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>La revedere</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>Site &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 pe Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Te rog să susții dezvoltarea aplicației %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Despre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informații despre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Căutare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Oprire sunet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descărcări</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Arată detalii despre descărcările video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Descărcare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Descarcă videoclipul curent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Împărtășește videoclipul curent folosind %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>În&amp;chide</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Detașează</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Oprește După Acest Videoclip</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Raportează o problemă...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Căutare rafinată...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicație</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Cumpără %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Listă de redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>Vi&amp;zualizare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>Î&amp;mpărtășește</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajutor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Apasă pe %1 pentru a da volumul mai tare sau pe %2 pentru a-l da mai încet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Deschidere %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Doriţi să ieșiți din %1 cu o descărcare în progres?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Dacă ieșiți acum din %1, procesul de descărcare va fi anulat.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Închide și anulează descărcarea</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Așteaptă ca descărcarea să se încheie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Ieși din Ec&amp;ran Complet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>Versiunea %1 a %2 este acum disponibilă.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Reamintește-mi mai târziu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Actualizează</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Eroare: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>&amp;Anterioare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Mergi înapoi la piesa precedentă</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Modul &amp;Compact</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Deschide Pagina &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiază &amp;adresa videoclipului YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiază adresa &amp;fluxului video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Caută &amp;Părți ale Videoclipului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Șt&amp;erge Căutările Recente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Fă o &amp;Donație</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Pornește Redarea &amp;Manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Pornește redarea videoclipurilor manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Rezumă redarea videoclipului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Timp rămas : %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Volum %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Sunetul este oprit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Sunetul este pornit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Rezoluția maxima a videoclipului este setată la %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Intimitatea dumneavoastră este acum în siguranță</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Descărcări complete</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Acum poți adăuga adresa YouTube într-o altă aplicație</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Acum poți adăuga adresa fluxului video într-o altă aplicație</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Adresa va fi validă doar pentru o perioadă limitată de timp.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aceasta este doar o versiune demo a %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Vă permite să testați aplicația și să vedeți dacă funcționează.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Continuă</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>din</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>partea</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodul</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Trimis din %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Obține versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Descărcare %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 vizionări</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Căutare...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Nici un videoclip</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sortează după</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevanță</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Dată</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Vizualizări</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Evaluare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Oricând</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Astăzi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Zile</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Zile</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Durată</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Toate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Scurt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Mediu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Lung</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Mai scurt de 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Între 4 și 20 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Mai lung de 20 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Calitate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Înaltă Definiție HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p sau definiție mai mare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Terminat</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bine ați venit la &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Obține versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introduceți</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>un cuvânt cheie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>pentru a începe să vizionați videoclipuri.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Urmărește</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Căutări recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Canale recente</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>Î&amp;napoi</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Căutare Rafinată</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Ai vrut să spui: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nu poate fi accesat fluxul video pentru %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Eroare reţea: %1 pentru %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation type="unfinished"/>
     </message>
index 5f4af6ea06494200d23bef2c918a4200348b1329..2d5b2a801ded824d0223fa33256e5f57598949a7 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Жизнь вне браузера!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Версия %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Зарегистрирована на: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 - свободное ПО, но его разработка отнимает драгоценное время.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Пожалуйста, &lt;a href=&apos;%1&apos;&gt;поддержите&lt;/a&gt; дальнейшую разработку %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Вы также можете попробовать другие мои приложения:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, плеер музыки c YouTube </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, музыкальный плеер</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Перевести %1 на ваш родной язык с помощью %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Автор значка %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Выпущено на условиях &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыть</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>О программе</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Все что Вы всегда хотели узнать о %1 и никогда бы не спросили</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>Полная версия позволяет смотреть видео, добавлять более %1 треков в списке воспроизведения и выбирать разные варианты песен.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <translation>Купить лицензию</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>От %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Все видео</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Не просмотренное видео</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Отметить все как просмотренное</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Показать обновленные</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Название</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Недавно обновленные</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Недавно добавленные</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Недавно просмотренные</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Наиболее просмативаемые</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Сортировать по</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Все видео</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Не просмотренное видео</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>В настоящее время нет обновлений подписок.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>У вас нед подписок. Используйте символ звездочки чтобы подпываться на каналы.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>байт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>Кбайт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>Мбайт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>байт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>Кбайт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>Мбайт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>секунд</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>минут</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>осталось %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Это всего лишь демо-версия %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Можно загружать только видео не длиннее %1 минут, для проверки функциональности загрузчика. </translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Получить полную версию</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 загружен в %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Загрузка завершена</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>Загружается %n файл</numerusform><numerusform>Загружаются %n файла</numerusform><numerusform>Загружаются %n файлов</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Изменить путь...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Выбрать путь загрузки</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Путь для загружаемых файлов изменён.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Файлы, загружаемые в данный момент будут сохранены по прежнему адресу.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Файлы загружаются в %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Загрузки</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Пауза</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Воспр./Пауза</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Стоп</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Стоп после этого клипа</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>След. клип</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Пред. клип</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Громче</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Тише</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Заглушить</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Перемотать вперед</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Перемотать назад</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Поиск</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Поиск видео и каналов по запросу</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
-        <translation type="unfinished"/>
+        <translation>Смотреть</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
-        <translation type="unfinished"/>
+        <translation>Смотреть видео по категориям</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Подписки</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Подписки на каналы</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
-        <translation type="unfinished"/>
+        <translation>Чувствуйте себя как дома</translation>
     </message>
 </context>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Ошибка</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Остановить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Остановить воспроизведение и вернуться к поиску</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>П&amp;ропустить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Перейти к следующему клипу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Пауза</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Приостановить воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;На весь экран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Полноэкранное воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Скрыть список воспроизведения и панель инструментов</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Приостановить воспроизведение и перейти на страницу видео в YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Скопировать ссылку текущего клипа YouTube в буфер обмена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Скопировать адрес текущего видео потока в буфер обмена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Найти другие части видео, надеюсь, в правильном порядке</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Удалить выбранные клипы из списка воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>В&amp;верх</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Переместить выбранные видеоклипы вверх в списке воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>В&amp;низ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Переместить выбранные видеоклипы вниз в списке воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Очистить историю запросов. Изменения необратимы.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Выход</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Пока</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Домашняя страница</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 в интернете</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Поддержите дальнейшую разработку %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;О программе</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Сведения о %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Поиск</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Выключить звук</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>Загрузки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Показать подробности о загрузках видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>Загрузить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Загрузить проигрываемый файл</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>Подписаться на канал</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Поделиться текущим видео с помощью %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыть</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Поверх всех окон</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>Ост&amp;ановить после этого видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>Соо&amp;бщить об ошибке</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Уточнить поиск...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Больше...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>По&amp;хожее видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Смотреть видео, связанные с текущим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>Пр&amp;иложение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Купить %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Список воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Просмотр</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Поделиться</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>Спр&amp;авка</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Нажмите %1 для увеличения громкости и %2 для уменьшения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Открытие %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Вы действительно хотите закрыть %1 в то время, как загружаются файлы?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Если вы закроете %1 прямо сейчас, текущие загрузки будут отменены.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Выйти отменив загрузки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Подождать завершения загрузок</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Покинуть п&amp;олноэкранный режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версия %2 теперь доступна.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Напомнить позже</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Обновление</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Ошибка: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>Пр&amp;едыдущий</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Вернуться к предыдущему треку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Компак&amp;тный режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>От&amp;крыть страницу YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Копировать &amp;ссылку на YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Копировать ссылку на в&amp;идео поток</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Найти &amp;фрагменты видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>О&amp;чистить последние поисковые запросы</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Сд&amp;елать пожертвование</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Начать проигрывание вручную</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Начать проигрывание видео вручную</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>Выберите ваше расположение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>Пр&amp;оиграть</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Продолжить воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Осталось: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Громкость %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Звук выключен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Звук включен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Максимальное разрешение видео: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Конфиденциальность обеспечена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Загрузка завершена</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Теперь можно вставить адрес YouTube в другое приложение</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Теперь можно вставить адрес видео потока в другое приложение</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Адрес будет существовать ограниченное время.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Данная программа является демо-версией %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Она позволяет вам оценить приложение.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>из</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>часть</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>эпизод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Отправить из %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Отписаться от %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Подписаться на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Купить полную версию</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Загружаю %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 просмотров</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation type="unfinished"/>
+        <translation>%1 из %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Подготовка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
-        <translation type="unfinished"/>
+        <translation>Ошибка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Завершено</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Остановлено</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Отмена загрузки</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
-        <translation type="unfinished"/>
+        <translation>Показать в %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Открыть родительский каталог</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Перезапустить загрузку</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Идет поиск...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
-        <translation type="unfinished"/>
+        <translation>Показать ещё %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Нет видео</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Нет больше видео</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Сортировать по</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Релевантность</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Дата</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Кол-во просмотров</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Рейтинг</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>В любое время</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Сегодня</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 дней</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 дней</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Продолжительность</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Все</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Короткие</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Средние</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Длинные</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Короче чем 4 минуты</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Между 4 и 20 минутами</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Дольше чем 20 минут</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Качество</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Высокое разрешение</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p или больше</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Добро пожаловать в &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Купить полную версию</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Введите</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>запрос</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>чтобы начать просмотр.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Смотреть</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Последние запросы</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Последние каналы</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>Н&amp;азад</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Вперед к %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Назад к %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Уточнить поиск</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Возможно вы имели в виду: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Самые популярные</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Популярные</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Самые обсуждаемые</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Лучшие оценки</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Популярное за все время</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Не удалось получить видео поток для %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Ошибка сети: %1 на %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Алжир</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Аргентина</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Австралия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Бельгия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Бразилия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Канада</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Чили</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Колумбия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Чехия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Египет</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Франция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Германия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Гана</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Греция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Гонконг</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Венгрия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Индия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Индонезия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Ирландия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Израиль</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Италия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Япония</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Иордания</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Кения</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Малайзия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Мексика</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Марокко</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Нидерланды</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Новая Зеландия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Нигерия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Перу</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Филиппины</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Польша</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Россия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Саудовская Аравия</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Сингапур</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Южно-Африканская Республика</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Республика Корея</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Испания</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Швеция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Тайвань</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Тунис</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Турция</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Уганда</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Объединённые Арабские Эмираты</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Великобритания</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Йемен</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Во всем мире</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
index d54f7322ee08199026dc75df055164434345c96e..d5edd17d89ebb55320ae5cc5a61b227f53ea1aaa 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Ešte stále existuje život aj mimo prehliadač!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Verzia %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>Licencované pre: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je plne slobodným softvérom, ktorého vývoj si však žiada značnú dávku času.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Preto prosím o akúkoľvek finančnú &lt;a href=&apos;%1&apos;&gt;podporu&lt;/a&gt;  pri pokračujúcom vývoji %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Je možné, že ťa zaujmú aj moje ostatné aplikácie:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, prehrávač YouTube muziky</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, kvalitný hudobný prehrávač</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Prelož %1 do svojho materinského jazyka cez %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ikonu nadizajnoval %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Vydané pod &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvoriť</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>O projekte</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Všetko čo chceš o %1 vedieť, bez potreby sa vopred spýtať </translation>
     </message>
         <translation>Zakúpiť licenciu</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Od %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Všetky videá</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Neprezreté videá</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Označiť všetky ako zhliadnuté</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Zobraziť aktualizované</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Meno</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Naposledy aktualizované</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Naposledy pridané</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Naposledy prezerané</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Najviac prezerané</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Zoradiť podľa</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Všetky videá</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Neprezreté videá</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Nie sú k dispozícii žiadne aktualizované subskripcie.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Nemáš žiadne subskripcie. Použi symbol hviezdy pre odoberanie kanálov.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bajtov</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>bajtov/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekúnd</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minút</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>zostáva %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ide o demoverziu %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Umožní ti stiahnuť iba videý kratšie ako %1 minút, takže aspoň môžeš otestovať túto funkcionalitu.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Pokračuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 stiahnuté za %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Sťahovanie ukončené.</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Zmeniť umiestnenie...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Zmeniť umiestnenie sťahovaní</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Umiestnenie sťahovaní zmenené.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktuálne sťahovania sa uložia ešte na predchádzajúcom umiestnení.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Sťahujem do: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Sťahovania</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Prehrať</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pozastaviť</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Prehrať/Pozastaviť</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Zastaviť</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Zastav hranie po aktuálnom videu</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Nasledovné video</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Predošlé video</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Zvýšiť hlasitosť</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Znížiť hlasitosť</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Stlmiť</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Pretočiť vpred</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Pretočiť vzad</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Hľadať</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Nájsť videá a kanály podľa kľúča</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Prehliadať</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Prehliadať videá podľa kategórie</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Subskripcie</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Odber kanálov</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Daj sa do pohody</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zastaviť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Zastaviť prehrávanie a vrátiť sa k výsledkom hľadania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Preskočiť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Preskočiť na nasledovné video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pozasaviť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Pozastaviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Na celú obrazovku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skryť playlist a nástrojovú lištu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Prejsť na YouTube stránku videa a pozastaviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopírovať YouTube odkaz aktuálneho videa do schránky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopírovať odkaz aktuálneho video streamu do schránky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Pokúsiť sa nájsť zvyšné video časti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odstrániť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Odstrániť vybrané videá z playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Presunúť &amp;nahor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Presunúť vybrané videá v playliste nahor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Presunúť &amp;nadol</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Presunúť vybrané videá v playliste nadol</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Vyčisiť históriu hľadania. Nevratná akcia.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Ukončiť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Maj sa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Domovská stránka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 na Internete</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Podpor prosím pokračujúci vývoj %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;O projekte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informácie o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Hľadať</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Stlmiť hlasitosť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Sťahovania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Zobraziť detaily o sťahovaní</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;Stiahnuť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Stiahnuť aktuálne video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Odoberať daný kanál</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Zdieľať aktuálne video cez %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-mailová adresa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvoriť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Vždy na vrchu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zastav po tomto videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Nahlásiť problém...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Upraviť kritériá hľadania...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Viac...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Pridružené vidá</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Pozerať videá pridružené k aktuálnemu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikácia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Zakúpiť %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Zobrazenie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Zdieľanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápoveda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Stlač %1 pre zvýšenie hlasitosti, %2 pre jej zníženie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Otváram %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Chceš ukončiť %1 aj napriek prebiehajúcemu sťahovaniu?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Pokiaľ teraz ukončíš %1, prídeš o aktuálne sťahovanie.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Zatvoriť a zrušiť sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Počkať kým skončí sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opustiť režim &amp;celej obrazovky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 verzie %2 je k dispozícii.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Pripomenúť neskôr</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Aktualizácia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Chyba: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>&amp;Predošlé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Ísť na predošlé video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktný mód</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otvoriť &amp;YouTube stránku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopírovať &amp;odkaz z YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopírovať &amp;URL video streamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Nájsť zvyšné relevantné &amp;časti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Vyčistiť zoznam posledných hľadaní</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Finančne &amp;podporiť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuálne prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Koniec manuálneho prehrávania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Vybrať svoju obsahovú lokáciu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Prehrať</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Obnoviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Zostávajúci čas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Hlasitosť na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Hlasitosť stlmená</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Hlasitosť nie je stlmená</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximálne rozlíšenie videa nastavené na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Nemaj obavy o súkromie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Sťahovanie kompletné</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Takto môžeš prilepiť YouTube odkaz do inej aplikácie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Budeš môcť prilepiť odkaz video streamu do inej aplikácie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Odkaz bude platný len obmedzenú dobu.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ide o demoverziu %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Umožní ti aplikáciu vyskúšať a pohodlne otestovať.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Pokračuj</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>časť</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epizóda</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Odoslané z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Zrušiť odber z %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Odoberať z %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Sťahujem %1.</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 prezretí</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Pripravujem</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Zlyhané</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Úspešné</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Zastavené</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>Zastav sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>Zobraz v %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Otvor nadradený adresár</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>Opakuj sťahovanie</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Hľadám...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>Zobraz %1 viac</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Žiadne videá</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Niet viac videí</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Zoradiť podľa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Dátum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Počet zhliadnutí</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Hodnotenie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Kedykoľvek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Dnes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Dĺžka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Všetko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Krátky</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Stredný</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Dlhý</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Menej ako 4 minúty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Medzi 4 a 20 minútami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Viac ako 20 minút</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Kvalita</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Vysoké rozlíšenie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p alebo vyššie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Vitaj v aplikácii &lt;a href=&apos;%1&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Vlož</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>kľúčové slovo</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>názov kanálu</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>pre spustenie sledovania.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Pozerať</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Posledné kľúčové slová</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Posledné kanály</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>&amp;Späť</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>Vpred k %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Späť k %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Upraviť kritériá hľadania</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Mali ste na mysli: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>Najpopulárnejšie</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Prominentné</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>Najzdieľanejšie</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>Najdiskutovanejšie</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>Najvyššiehodnotené</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Dlhodobo najpopulárnejšie</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nedostupný video stream pre %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Chyba siete: %1 pre %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Alžirsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Argentína</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Austrália</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belgicko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brazília</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Čile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Kolumbia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Česká Republika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Egypt</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Francúzsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Nemecko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Ghana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Grécko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Maďarsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>India</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Indonézia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>Írsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>Izrael</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>Taliansko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japonsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Jordánsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Keňa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malajzia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Mexiko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Maroko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Holandsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Nový Zéland</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nigéria</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filipíny</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Poľsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rusko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Saudská Arábia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Južná Afrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Južná Kórea</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>Španielsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>Švédsko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Taiwan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunisko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Turecko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Spojené Arabské Emiráty</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>Veľká Británia</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Celosvetovo</translation>
     </message>
index 4d06d336d9358ca1eb91501dcb13d11a3ec11f1d..29c99210bced859abe2df4f76ec7ae76dbb2ca81 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Zunaj brskalnika je življenje!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Različica %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je prosta programska oprema, a njen razvoj zahteva dragocen čas.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Darujte prosim&lt;/a&gt; za podporo stalnemu razvoju %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Morda želite preizkusiti še ostale aplikacije:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube glasbeni predvajalnik</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, glasbeni predvajalnik</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Prevedite %1 v vaš jezik z uporabo programa %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Ikone je izrisal %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Izdano na podlagi licence &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>O programu</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Kar ste vedno želeli vedeti o %1 a si niste nikoli upali vprašati</translation>
     </message>
@@ -83,7 +83,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation type="unfinished"/>
+        <translation>&amp;E-pošta</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>Polna različica omogoča prenos posnetkov daljših od %1 minut in njihovo gledanje brez prekinitev.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>Brez licence bo uporabnost aplikacije potekla čez %1 dni.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation type="unfinished"/>
+        <translation>Vpis licence</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
+        <translation>Kupi licenco</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Vsi videoposnetki</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Označi vse za pregledane</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Pokaži posodobitve</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Naziv</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Nazadnje posodobljeno</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Nazadnje dodano</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Nazadnje gledano</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Največkrat gledano</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Razvrsti glede na</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Vsi videoposnetki</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>bajtov</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>kB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>byte/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>kB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>sekund</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>minut</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 ostaja</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>To je samo preizkusna različica programa %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Prenese lahko samo posnetke krajše od %1 minut, da lahko preverite delovanje funkcije prenosa.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Pridobi popolno različico</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 preneseno v %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>Prenos končan</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Prenos</numerusform><numerusform>%n Prenosa</numerusform><numerusform>%n Prenosi</numerusform><numerusform>%n Prenosov</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Sprememba mesta ...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>Izberite mesto prenosa</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>Spremenili ste mesto prenosa.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Trenutni prenosi bodo še vedno šli v prejšnje mesto.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>Prenos v: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>Prenosi</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="60"/>
         <source>Downloading update...</source>
-        <translation type="unfinished"/>
+        <translation>Prenos posodobitve...</translation>
     </message>
 </context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Predvajaj</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Pavza</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Predvajaj/Pavza</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Ustavi</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Ustavi predvajanje po trenutnem posnetku</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Naslednji posnetek</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Prejšnji posnetek</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Povečaj glasnost</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Zmanjšaj glasnost</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>Nemo</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>Išči naprej</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Išči nazaj</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Išči</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
-        <translation type="unfinished"/>
+        <translation>Išči posnetke in kanale po ključnih besedah</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Napaka</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>U&amp;stavi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ustavi predvajanje in se vrne v iskalni pogled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>Pres&amp;koči</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Skoči na naslednji video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pavza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Premor v predvajanju</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Gre v celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skrije predvajalni seznam in orodno vrstico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gre na stran posnetka na YouTube in ustavi predvajanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopira povezavo YouTube trenutnega posnetka v odložišče</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopira URL trenutnega video pretoka v odložišče</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Poišče ostale dele posnetka, predvidoma v pravem zaporedju</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>Odst&amp;rani</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Odstrani izbrani video iz predvajalnega seznama</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Premakni &amp;gor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Izbrani video premakne mesto više v predvajalnem seznamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>Premakni &amp;dol</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Izbrani video premakne mesto niže v predvajalnem seznamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Izbriše zgodovino iskanje. Tega dejanja ni mogoče razveljaviti.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Nasvidenje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Spletno mesto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 na spletu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Podprite prosim nadaljni razvoj programa %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;O programu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>Informacije o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Išči</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Nemo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>Pre&amp;nosi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Pokaže podrobnosti o prenosih posnetkov</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>Pre&amp;nesi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Prenese trenutni posnetek</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>Deli trenutni posnetek preko %1 </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;E-pošta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>E-pošte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>Lebdeče na vrhu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>U&amp;stavi za tem posnetkom</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>P&amp;rijavi napako ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Izboljšaj iskanje ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
-        <translation type="unfinished"/>
+        <translation>Več...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacija</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>Kupi %1 ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Predvajanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Predvajalni seznam</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Pogled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>&amp;Deli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>P&amp;omoč</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pritisnite %1, da povišate glasnost in %2, da jo nižate</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>Odpiranje %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Ali res želite zapustiti %1 medtem, ko je aktiven prenos?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>V primeru, da zdaj zaprete %1 bo ta prenos prekinjen.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Zapri in prekliči prenos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>Počakaj, da konča prenos.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Zapusti celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>Na voljo je %1 različica %2.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Opozori me kasneje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Posodobitev</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Napaka: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>P&amp;redhodna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Predhodna sled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Strnjen način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Odpri stran &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopiraj povezavo Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiraj &amp;URL toka video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>&amp;Poišči ostale dele posnetka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Počisti nedavna iskanja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Pošlji &amp;donacijo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Ročno začni predvajanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Prični z ročnim predvajanjem posnetkov</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Predvajaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Nadaljuj s predvajanjem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Preostali čas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Glasnost %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Glasnost je utišana</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Glasnost je povrnjena</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>Najvišja ločljivost posnetkov je nastavljena na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Vaša zasebnost je zdaj varna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>Prenosi so končani</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Zdaj lahko prilepite povezavo na YouTube v drugo aplikacijo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Zdaj lahko prilepite URL video pretoka v drugo aplikacijo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Povezava bo delovala le za omejen čas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>To je samo demo različica programa %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Dovoli vam testiranje aplikacije in preverjanje delovanja,</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>od</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>nadaljevanje</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>Poslano iz %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Pridobi celotno različico</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>Prenašanje %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 predvajanj</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Iskanje ...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Nobenega videa</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Razvrsti glede na</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Ustreznost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Število ogledov</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Oceno</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Kadarkoli</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Danes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Trajanje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Vse</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Kratko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Srednje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Dolgo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>Manj kot 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Med 4. in 20. minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>Daljše kot 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Kvaliteta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Visoka ločljivost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p in višje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Narejeno</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Pozdravljeni v &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Pridobi celotno različico</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Vnesite</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>ključno besedo</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>kanal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>in začnite gledati posnetke.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>Glejte</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Nedavne ključne besede</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Nedavni kanali</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>Izboljšaj iskanje</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Ali ste mogoče mislili: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>Za %1 ni mogoče pridobiti video pretoka</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Napaka omrežja: %1 od %2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>Alžirija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>Argentina</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>Avstralija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>Belgija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>Brazilija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>Čile</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>Kolumbija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>Češka republika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>Egipt</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>Francija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>Nemčija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>Gana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>Grčija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>Madžarska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>Indija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>Indonezija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>Irska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>Izrael</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>Italija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>Japonska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>Jordanija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>Kenija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>Malezija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>Mehika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>Maroko</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>Nizozemska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>Nova Zelandija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>Nigerija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>Filipini</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>Poljska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>Rusija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>Savdska Arabija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>Južna Afrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>Južna Koreja</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>Španija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>Švedska</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>Tajvan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>Tunizija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>Turčija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>Združeni arabski emirati</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>Velika Britanija</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>Jemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>Svetovno</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
diff --git a/locale/sq.ts b/locale/sq.ts
new file mode 100644 (file)
index 0000000..0a40e39
--- /dev/null
@@ -0,0 +1,1596 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="sq" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Ka jete edhe jashte Shfletuesit te Internetit
+</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Version %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Licencuar te: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 Eshte Program i Lire por Programuesit te tij i merr kohe te qmueshme</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Ju lutem &lt;a href=&quot;%1&quot;&gt; dhuroni&lt;/a&gt; qe te perkrahni vazhdimin e ndertimit te %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Do te deshironit qe te provoni edhe programet e tjera te mia</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1 , Luajtes i muzikes per YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1 , Luajtes i muzikes</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Perkthe %1 ne gjuhen e tuaj ame duke perdorur %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Dizajnimi i ikones u be nga %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Leshuar nen &lt;a href=&quot;%1&quot;&gt; GNU Licanca Publike Gjenerale&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation> Afer</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Afersisht</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Qfar keni dashur gjithmon te dini per %1 por asnjeher nuk keni guzuar te pyetni</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Jepni detajet rreth licences</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Shifër:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Ju lutem licenconi %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Versioni demostrues ka perfunduar</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Versioni i plotë ju lejon të shkarkoni video më të gjatë se 1 minut dhe të shikoni video pa ndërprerje.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Pa licenc programmit do ti mbaron afati ne %1 ditë</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>Duke bler versionin e plot , ju gjithashtu do te perkrahni punen e mundimshme qe kam ber per krijimin %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Perdorni verionin demostrues</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Jepni licencën</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Blini licencë</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>Nga %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>T&apos;gjitha videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Videot e pa shikuara</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Shëno të gjitha si të shikuara</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Shfaq arrnimin</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Emri</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Arrnimi i fundit</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Shtimi i dundit</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Shtimi i fundit</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Me e shikuara</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Rendit sipas</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>T&apos;gjitha videot</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Videot e pa shikuara</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Nuk ka abonime të freskuar për momentin</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Nuk keni abonime . Perdor simbolin yll për tu abonuar te kanalet</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Paster</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>Bajts</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>Bajts/Sekond</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB/Sekond</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>MB/Sekond</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>Sekonda</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>Minuta</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 Mbetet</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Ky eshte vetem version per demonstrim i %1</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>Mund te shkarkoj vetem video me te shkurta se %1 minut ne menyr qe te testoni funksionimin e shkarkuesit. </translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Vazhdon</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Merrni versionin e plote</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 shkarkuar në %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Shkarkimi ka përfunduar</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n Shkarkim</numerusform><numerusform>%n Shkarkime</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Ndrysho lokacionin</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Zghidhni lokacionin e shkarkimeve</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Lokacioni i shkarkimeve u ndryshua.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Shkarkimet e tanishme ende do te ruhen ne lokacionin e meparshem te shkarkimeve.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Duke shkarkuar ne : %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Shkarkimet</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Duke shkarkuar përditësimet</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Luaje</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Pushim</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Luaje/Pushim</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Ndaloje</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Ndaloje se luajturi pas kenges aktuale</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Kenga e ardhshme</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Kenga e meparshme</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Rrite zerin</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Ule zerin</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Pa ze</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Kerko perpara</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Kerko prapa</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Kerkim</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Gjeni videot dhe kanalet me fjalët kyqe</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Shfleto</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Shfleto videot sipas kategoris</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Abonimet</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Kanalet e abonuara</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Rehatoni veten</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Gabim</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>Ndaloje</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Ndaloje rishikimin dhe kthehu prapa te pamje e kerkimit</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>Kaperce</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Kaperce te video e ardhshme</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>Pushoje</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Pushoje rishikimin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>Ekran te plote</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Kalo ne ekran te plot</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Fshih listen e videove dhe shiritin e veglave</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Kalo ne faqen e videove te YouTube dhe pushoje rishikimin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Kopjoje linkun e videos se tanishme ne tabelen e ngjitjes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Kopjoje URL e rrjedhes se videos aktuale  ne tabelen e ngjitjes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Gjeni pjes te tjera te videove ne rednin e duhur</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>Largo</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Largoje videon e zgjedhur nga lista e luajtjes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>Leviz lart</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Levize lart videon e zgjedhur ne listen e luajtjes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Leviz posht</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Levize posht videon e zghedhur ne listen e luajtjes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Pastro historin e kerkimeve . Nuk mund te zhbehet</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>Lëre</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Mireupafshim</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>Adrese interneti</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 ne Web</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Ju lutem perkrahni vazhdimin e ndertimit te %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>Rreth</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Informata rreth %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Kerkim</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Hesht zerin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>Shkarkimet</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Trego detajet rreth videove te shkarkuara</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>Shkarko</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Shkarko videon e tanishme</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp; Abonohu në Kanal</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Shperndaj videon aktuale duke perdorur %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>% Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation> Afer</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Nxjerr ne Krye</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Ndalo pas kesaj video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>%Raportoni një problem...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>%Përpuno kërkimin....</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Më shum....</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>&amp;Videot e afërme</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Shiko videot që jan të aferta me videon aktuale</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>Aplikacion</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Blej %1....</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Ridegjim</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>Lista e luajtjes</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Shiko</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Shperndaje</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>Ndihma</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Shtyp %1 qe te rrisni zerin , shtyp %2 qe ta ulni zerin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Duke hapur %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Deshironi te dilni %1 me nje shkarkim ne prapavij?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Nese e mbyllni %1 tani , ky shkarkim do te nderpritet.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Mbyll dhe ndalo shkarkimin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Prisni per shkarkimin qe te mbaroj</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Largohu &amp; Ekran te plote</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 versioni %2 eshte i gatshem</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Me rikujto me von</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Arrnim</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Gabim:%1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>Mehershme</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Kthehu prapa te kenga e kaluar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>Ne mod kompakte</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Hap faqen &amp; e Youtube </translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Kopjo linkun nga YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Kopjo rrjedhen e videos &amp; URL</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Gjej videot &amp; Pjeset</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>Pastro kerkimet e me parshme</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Beni nje donacion</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Fillo luajtjen manualisht</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Manualisht fillo luajtjen e videove</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Zgjidhni përmbajtjen e mjedisit tuaj</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>Luaj</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Rinis rishikimin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Koha e mbetur:%1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Zeri ne %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Zeri eshte heshtur</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Zeri eshte leshuar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Maksimumi i definicionit te videos eshte vendosur ne %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Privatsia juaj tani eshte e sigurt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Shkarkimet jan kompletuar</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Tani ju mund te ngjitni YouTube linqe ne nje tjeter program</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Tani ju mund te ngjitni rrdhjedhen e YouTube URL ne nje tjeter program</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Linku do te jet i vlefshem per nje kohe te kufizuar</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Ky eshte version vetem per demonstrim i %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Ju lejon qe te provoni programin dhe te shifni se a funksionon per ju .</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Vazhdim</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>I</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>Pjas</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>Episode</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Derguar nga %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Q&apos;abonohu nga %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Abonohu në %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Merrni versionin e plote</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Duke shkarkuar %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Një version i %1 është i gatshëm</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 është i gatshëm . Ju keni %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Dëshiron që ta shkarkoni tani?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Kalo këtë version</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Ma rikujtoni më vonë</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Instalo Përditësimet</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Ngjit</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 e shikimeve</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 e %2 (%3)--%4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Duke pregaditur</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Dështoi</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Përfunduat</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Ndaluar</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Ndalo shkarkimin</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Shfaq në %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Hap dosjen e burimit</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Rifillo shkarkimin</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Duke kerkuar</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Shfaq %1 më shumë</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Nuk ka video</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Nuk ka me video tjera</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Rendit sipas</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Përkatësi</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Datë</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Shiko Llogarit</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Klafifikom</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>Në qdo kohë</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Sot</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 dit</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 dit</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Kohëzgjatja</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Gjithë</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Shkurt</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Mesatar</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>I gjatë</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Më pak se 4 minuta</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Mes 4 dhe 20 minutash</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Më gjat se 20 minuta</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Kualiteti</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Definicion i lartë</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p ose më i lartë</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Kry</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Kry</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Kerkim</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Mire se erdhet ne &lt;h href=&quot;%1&quot;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Merrni versionin e plote</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Hyr</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>Nje fjal kyqe</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>Nje kanal </translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>Per te filluar shikimin e videove.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Shiko</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Fjalit kyqe te fundit</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Kanali i fundit</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>Prapa</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Përpara në %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Prapa në %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>Rafino kërkimin</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Menduat:%1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Me i përhapuri</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Më i shpërndar</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Më i diskutuar</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Më i nominuar</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Më të famshmet</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Nuk mund te merr rrjedhen e videos per %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Gabim rrjeti:%1 per %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Algjeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Argjentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Belgjika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Brazil</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Kanadë</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Kili</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Kolumbia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>Republika Qeke</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Egjipt</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Francë</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Gjermani</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Gana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Greqi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Hungari</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>Indi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Irland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Izrael</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Itali</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Japoni</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Jordani</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Kenia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Malejzia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Meksik</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Maroko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Hollandë</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>Zelanda e re</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Nigeri</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Filipinet</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Poloni</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Rusi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudite</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Singapor</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>Afrika Jugore</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Korea Jugore</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Spanjë</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Suedi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Tajvan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Tunisi</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Turki</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>Emirated e Bashkuara Arabe</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Mretëria e Bashkuar</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Jemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Mbar Bota</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
diff --git a/locale/sv_SE.ts b/locale/sv_SE.ts
new file mode 100644 (file)
index 0000000..24a500a
--- /dev/null
@@ -0,0 +1,1595 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="sv_SE" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Det finns ett liv utanför webläsaren!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Version %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Licensierad till: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 är fri programvara men utveklingen tar värdefull tid.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Vänligen &lt;a href=&apos;%1&apos;&gt; donera&lt;/a&gt; för att stöda den fortsatta utveklingen utav %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Du kan gärna prova mina andra program också:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, en YouTube musik spelare</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, en musik spelare</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Översätt %1 till ditt modersmål med %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Ikon designad av %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Släppt under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Stäng</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Om</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Vad du alltid velat veta om %1 och aldrig vågat fråga om</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Nyckel:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Vänligen licensiera %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Denna demo har utgått.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>Genom att köpa fullversionen kommer du också att stödja mitt hårda arbete jag gör med %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Använd demo</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Köp licens</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Namn</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Rensa</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>bytes</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>byte / sekund</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB / sekund</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>MB / sekund</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>sekunder</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>minuter</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 återstår</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Detta är bara en demo version av %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>Det kan bara ladda ner filmer kortare än %1 minuter så att du kan testa ladda ner funktionen.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Fortsätt</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Få den fullständiga versionen</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n Nedladning (ar)</numerusform><numerusform>%n Nedladning (ar)</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Byt plats ...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Välj hämtningsplats</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Hämtningsplatsen har ändrats.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Aktuella nedladdningar kommer fortfarande att hamna i den tidigare hämtningsplatsen.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Hämtar till: %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Nedladdningar</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Spela</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Pausa</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Spela / Pausa</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Stoppa</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Sluta spela efter nuvarande spår</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Nästa spår</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Föregående spår</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Öka volymen</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Minska volymen</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Mute</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Sök framåt</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Sök bakåt</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Sök</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Fel</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Stop</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Stoppa uppspelningen och gå tillbaka till Sök vyn</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>H&amp;oppa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Hoppa till nästa video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Pausa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Pausa uppspelning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Helskärm</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Använd helskärm</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Dölj spellistan och verktygsfältet</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Gå till YouTube-video-sidan och pausa uppspelning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Kopiera den aktuella YouTube-video-länken till urklipp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Kopiera den nuvarande videoströmmen URL till urklipp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Hitta andra videodelar förhoppningsvis i rätt ordning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Ta bort</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Ta bort markerade videoklippen från spellistan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>Flytta &amp;upp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Flytta upp de markerade videoklippen i spellistan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Flytta &amp;nedåt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Flytta ner markerade videoklippen i spellistan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Rensa sökhistorik. Kan inte ångras.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Avsluta</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>Hej då</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Webbsida</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 på webben</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Vänligen stöd den fortsatta utvecklingen av %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>&amp;Om</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Info om %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Sök</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Volym av</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Nedladdningar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Visa detaljer om video nedladdningar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>&amp;Ladda ner</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Ladda ner den aktuella videon</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Dela nuvarande video med %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Stäng</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Flyt ovanpå</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Stoppa efter denna video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Mer...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Applikation</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Köp %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Uppspelning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Spellista</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Vy</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Dela</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Hjälp</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Tryck på %1 för att öka volymen, %2 för att sänka den</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Öppnar %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Vill du avsluta %1 med en nedladdning igång?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Om du stänger %1 nu, avbryts nedladdningen.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Stäng och avbryt nedladdning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Vänta på att nedladdning blir klar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Lämna &amp;Helskärm</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 version %2 är nu tillgänglig</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Påminn mig senare</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Fel: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>Fö&amp;regående</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Gå tillbaka till föregående spår</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>Kompakt läge</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Öppna &amp;YouTube sidan</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Kopiera YouTube &amp;Länk</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Kopiera video ström &amp;URL</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Hitta Video Delar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>&amp;Rensa Senaste Sökningar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Gör en &amp;Donation</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Starta Spela &amp;Manuellt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Starta Spela Videos Manuellt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Spela</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Återuppta uppspelning</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Återstående tid: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Volym %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Ljudet är avstängt</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Volymen är på</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Högsta video upplösning är satt till %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Din integritet är nu säker</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Nedladdningar klar</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Nu kan du klistra in YouTube-länken i ett annat program</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Du kan nu klistra in videoströmmens webbadress i ett annat program</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Länken kommer att gälla endast under en begränsad tid.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Detta är bara en demo version av %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Det tillåter dig att testa programmet och se om det fungerar för dig.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Fortsätt</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>av</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>del</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>avsnitt</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Skickad från %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Skaffa den fullständiga versionen</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Hämtar %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Påminn mig senare</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Uppdatera</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Klistra in</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 visningar</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 av %2 (%3) -%4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Söker...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Inga videos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Idag</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 dagar</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 dagar</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Alla</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Kort</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Mellan</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Lång</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Kortare än 4 minuter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Mellan 4 och 20 minuter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Längre än 20 minuter</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Kvalitet</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>High Definition</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p eller högre</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Färdig</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Färdig</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Sök</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Välkommen till &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Skaffa den kompletta versionen</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Ange</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>ett sökord</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>en kanal</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>för att börja titta på video.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Titta</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Senaste sökord</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Senaste kanaler</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Menade du: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Kan inte få videoström för %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Nätverks fel: %1 för %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Irland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Italien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Polen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Ryssland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Spanien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Sverige</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Turkiet</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index f686a954d4645b494e0aacf7bad422f0ebfc524d..fde27d68f4af28982d09bd26ab032aa61fbd37c1 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Tarayıcının dışındaki yaşam!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>Sürüm %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>%1 için lisanslanmıştır</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 özgür yazılımdır ama geliştirmek değerli zaman alır.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Lütfen %2 geliştirilmesinin devam etmesi için &lt;a href=&apos;%1&apos;&gt;bağış&lt;/a&gt; yapın.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Bunun yanında diğer uygulamalarımı da denemek isteyebilirsiniz:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube müzik oynatıcı</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1, bir müzik çalar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>%1&apos;i, %2 kullanarak kendi dilinize çevirin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>Simge %1 tarafından tasarlandı.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU Genel Kamu Lisansı&lt;/a&gt; ile yayınlanmıştır</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
-        <translation>&amp;Kapat</translation>
+        <translation>Kapat (&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>Hakkında</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>%1 hakkında her zaman bilmek isteyip de soramadıklarınız</translation>
     </message>
         <translation>Lisans Al</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>%1 tarafından</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Tüm Videolar</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>İzlenmemiş Videolar</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Tümünü izlendi işaretle</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Güncellenenleri Göster</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>İsim</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Son Güncellenen</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Son Eklenen</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Son İzlenen</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>En Çok İzlenen</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Sırala</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Tüm Videolar</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>İzlenmemiş Videolar</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>Şu anda güncellenen abonelik yok.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>Hiç aboneliğiniz yok. Kanallara abone olmak için yıldız simgesini kullanın.</translation>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>byte</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>byte/san</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>KB/san</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>MB/san</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>saniye</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>dakika</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 kaldı</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>Bu sadece %&apos;in demo sürümüdür.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Bu sadece %1 dakikadan kısa videoları indirebilir, indirme özelliğini böylece test edebilirsiniz.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>Devam</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%2 de %1 indirildi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>İndirme tamamlandı.</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n İndirme</numerusform></translation>
+        <translation><numerusform>%n İndirme</numerusform><numerusform>%n İndirme</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>Konumu değiştir...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>İndirme konumunu seçin</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>İndirme konumu değişti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Mevcut indirmeler önceki konumda devam edecek</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>İndiriliyor: %1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>İndirmeler</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>Oynat</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>Bekle</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>Oynat/Bekle</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>Dur</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>Şimdiki videodan sonra oynatmayı durdur</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>Sonraki video</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>Önceki video</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>Sesi arttır</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>Sesi azalt</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
-        <translation>Sesi kes</translation>
+        <translation>Sessiz</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>İleri sar</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>Geri sar</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>Arama</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>Anahtar kelimeye göre video ve kanal bulun</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>Gözat</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>Kategoriye göre videoları gözat</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Abonelikler</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Kanal abonelikleri</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>Kendinizi rahat hissedin</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>Hata</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
-        <translation>&amp;Dur</translation>
+        <translation>Dur (&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Oynatmayı durdur ve aramaya geri dön</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>&amp;Atla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>Sonraki videoya atla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>&amp;Bekle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>Oynatmayı beklet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Tam ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>Tam ekran görünümü</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Listeyi ve araç çubuğunu gizle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Oynatmayı beklet ve YouTube sayfasına git</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Geçerli videonun YouTube bağlantısını panoya kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Geçerli video akışının URL adresini panoya kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Doğru sırada olacak şekilde diğer video kısımlarını bul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>&amp;Kaldır</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Seçilen videoları listeden kaldır</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>Y&amp;ukarı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Seçilen videoları listede yukarı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>A&amp;şağı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Seçilen videoları listede aşağı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Arama geçmişini sil. Bu geri alınamaz.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>&amp;Çık</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>Gülegüle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1 İnternette</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>Lütfen %1 gelişiminin sürekliliği için destekleyin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>&amp;Hakkında</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>%1 Hakkında</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>Ara</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>Sesi kes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>&amp;İndirmeler</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>Video indirmelerinin ayrıntılarını göster</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>&amp;İndir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>Geçerli videoyu indir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>Kanala Abone Ol (&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>%1 kullanarak şu an ki videoyu paylaş</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>&amp;Eposta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>Eposta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>&amp;Kapat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>Üstte Sabitle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>Bu Videodan &amp;Sonra Durdur</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>Bir Sorun Bildi&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>A&amp;ramayı Sınırla...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>Dahası...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>Benze&amp;r Videolar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>Şu an izlediğinize benzer videolar izleyin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>&amp;Uygulama</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>%1 Satın Al...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>&amp;Çalma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>Oynatma &amp;listesi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>&amp;Görünüm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>Payla&amp;s</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>Yardı&amp;m</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>%1 Sesi arttır, %2 sesi azalt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>%1 Açılıyor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>%1 İndiriliyor, çıkmak istiyor musunuz?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Eğer %1&apos;İ şimdi kapatırsanız, bu indirme iptal edilecek.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>Kapat ve indirmeyi iptal et</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>İndirmenin bitmesini bekle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Tam Ekrandan Çık</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 sürüm %2 kullanılabilir durumda.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>Daha sonra hatırlat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>Güncelle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>Hata: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>Önceki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>Bir önceki parçaya geri dön</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>Kü&amp;cültümüş Ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube Sayfasını Aç</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;Linkini Kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Video &amp;URL&apos;sini Kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>Video Bölümlerini Bul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Son Aramaları Temizle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>Bağış Yap</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuel Olarak Çalmaya Başla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>Videoları manuel olarak çalmaya başla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
         <translation>Konumunuzu seçin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>&amp;Oynat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>Oynatmaya devam et</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>Kalan zaman: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>Ses %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>Ses kapandı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>Ses açık</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>En yüksek video tanımı %1 olarak ayarlı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>Şimdi gizliliğiniz güvende</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>İndirme tamamlandı</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Şimdi YouTube bağlantısını başka bir uygulamaya yapıştırabilirsiniz</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Şimdi video akışı URL adresini başka bir uygulamaya yapıştırabilirsiniz</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Bağlantı kısıtlı bir süre için geçerli olacak.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>Bu sadece %1&apos;in demo sürümüdür.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Bu, uygulamayı test etmenizi ve çalışıp çalışmadığını görmenizi sağlar.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>Devam</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>kısım</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>bölüm</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>%1 ile gönderildi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>%1 aboneliğinden çık</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>%1 Abone Ol</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>İndiriliyor %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 görüntülenme</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 of %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>Hazırlanıyor</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>Başarısız</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>Tamamlandı</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>Durduruldu</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>İndirme işlemini durdur</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>%1 içinde göster</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>Önceki dizini aç</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>İndirme işlemini yeniden başlat</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>Aranıyor...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>%1 Tane Daha Göster</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>Video yok</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>Daha fazla video yok</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>Sırala</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>Alaka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>Tarih</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>Hiti Göster</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>Hit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>Herhangi bir zaman</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>Bugün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 Gün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 Gün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>Süre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>Hepsi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>Kısa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>Orta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>Uzun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>4 dakikadan kısa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 - 20 dakika arası</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>20 dakikadan uzun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>Kalite</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>Yüksek Kalite</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p veya daha yüksek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>Bitti</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
         <translation>Tamamlandı</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;&apos;a Hoşgeldiniz</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Giriş yapın</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>bir anahtar kelime</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>bir kanal</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>ve videoları izlemeye başlayın.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>İzle</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>Son arananlar</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>Önceki kanallar</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>Geri</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
         <translation>%1 Yönlendir</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
         <translation>Geri Dön: %1</translation>
     </message>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>A&amp;ramayı Sınırla</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>Bunu mu demek istediniz: %1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
         <translation>En popülerler</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation>Gelecek</translation>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
         <translation>En Çok Paylaşılanlar</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
         <translation>En Çok Tartışılan</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
         <translation>En Çok Oy Verilenler</translation>
     </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Her Zaman Popüler</translation>
+    </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>%1 için video akışı alınamıyor.</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>Ağ hatası: %2 için  %1</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
         <translation>Cezayir</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
         <translation>Arjantin</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
         <translation>Avustralya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
         <translation>Belçika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
         <translation>Brezilya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
         <translation>Kanada</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
         <translation>Şili</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
         <translation>Kolombiya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
         <translation>Çek Cumhuriyeti</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
         <translation>Mısır</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
         <translation>Fransa</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
         <translation>Almanya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
         <translation>Gana</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
         <translation>Yunanistan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
         <translation>Hong Kong</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
         <translation>Macaristan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
         <translation>Hindistan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
         <translation>Endonezya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
         <translation>İrlanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
         <translation>İsrail</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
         <translation>İtalya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
         <translation>Japonya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
         <translation>Ürdün</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
         <translation>Kenya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
         <translation>Malezya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
         <translation>Meksika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
         <translation>Fas</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
         <translation>Hollanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
         <translation>Yeni Zelanda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
         <translation>Nijerya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
         <translation>Peru</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
         <translation>Filipinler</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
         <translation>Polonya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
         <translation>Rusya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
         <translation>Suudi Arabistan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
         <translation>Singapur</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
         <translation>Güney Afrika</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
         <translation>Güney Kore</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
         <translation>İspanya</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
         <translation>İsviçre</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
         <translation>Tayvan</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
         <translation>Tunus</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
         <translation>Türkiye</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
         <translation>Uganda</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
         <translation>Birleşik Arap Emirlikleri</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
         <translation>İngiltere</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
         <translation>Yemen</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
         <translation>Dünya Çapında</translation>
     </message>
diff --git a/locale/uk.ts b/locale/uk.ts
new file mode 100644 (file)
index 0000000..87a6f9c
--- /dev/null
@@ -0,0 +1,1596 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>За межами веб-переглядача також є життя!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Версія %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Ліцензія належить: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 — вільне програмне забезпечення, але на його розробку було затрачено коштовний час.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Будь ласка, &lt;a href=&apos;%1&apos;&gt;внесіть пожертву&lt;/a&gt; щоб підтримати подальший розвиток %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Спробуйте інші програми:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, музичний програвач для YouTube </translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, музичний програвач</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Перекласти %1 на вашу рідну мову за допомогою %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Розробник піктограм %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Випущено за &lt;a href=&apos;%1&apos;&gt;Загальною громадською ліцензією GNU&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Закрити</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Про програму</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Усе що ви завжди хотіли знати про %1, але не наважувалися запитати</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Введіть дані вашої ліцензії</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Код:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>  
+Ліцензуйте %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Пробний період вичерпано.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Повна версія дозволяє завантажувати відео довше% 1 хвилини та дивитися відео без перерв.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Програму буде заблоковано через %1 днів, якщо ви не придбаєте ліцензію.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>При покупці повної версії, ви також надаєте підтримку тяжкої роботи у створенні %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Демонстрація</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Ввести ліцензію</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Придбати ліцензію</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>За %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Усе відео</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Непереглянутих відео</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Скасувати усе як переглянуте</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Показати оновлені</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Назва</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Нещодавно оновлені</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Нещодавно додані</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Нещодавно переглянуті</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Що найбільше переглядаються</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Сортувати по</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Усе відео</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Не переглянуте відео</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>На даний час немає оновлень підписок.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>В вас немає підписок. Використовуйте символ зірочки щоб підписуватися на канали.</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Очистити</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>байт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>Кбайт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>Мбайт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>байт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>Кбайт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>Мбайт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>секунд</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>хвилин</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>до завершення %4 %5</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Це демонстраційна версія %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>З метою тестування ви можете завантажити відео тривалістю до %1 хв. </translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Продовжити</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Отримати повнофункціональну версію</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 завантажений у %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Завантаження завершено</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>Завантажується %n файл</numerusform><numerusform>Завантажуються %n файли</numerusform><numerusform>Завантажуються %n файлів</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Змінити теку для завантаження...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Оберіть теку для завантаження</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Теку завантаження змінено.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Поточні завантаження усе ще буде збережено у попередньому місці.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Завантажується у %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Завантаження</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Завантажую оновлення ...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Грати</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Призупинити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Грати/Призупинити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Зупинити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Зупинити по завершенні поточного</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Наступний</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Попередній</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Підвищити гучність</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Знизити гучність</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Приглушити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Шукати наступне</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Шукати попереднє</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Пошук</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Знайти відео та канали за ключовими словами</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Переглядач</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Огляд відео по категоріях</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Підписки</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Підписки на канали</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Влаштовуйтеся якнайзручніше</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Помилка</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Зупинити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Зупинити відтворення та перейти до вікна пошуку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>П&amp;ропустити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Перейти до наступного відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Призупинити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Призупинити відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;На увесь екран</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Перехід у повноекранний режим</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Сховати список та панель інструментів</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Відкрити сторінку YouTube та призупини відтворення відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Скопіювати YouTube посилання поточного відео у буфер</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Скопіювати посилання поточного відео у буфер</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Знайти інші частини відео, сподіваюся, у правильному порядку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Вилучити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Вилучити обрані відео зі списку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>В&amp;гору</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Перемістити обране відео вгору по списку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Вни&amp;з</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Перемістити обране відео вниз по списку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Очистити історію пошуку (зміни незворотні).</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Ви&amp;хід</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>На все добре</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Сайт</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 у мережі</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Будь ласка підтримайте подальший розвиток %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>&amp;Про програму</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Інформація про %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Пошук</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Приглушити гучність</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>Завантаження</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Показати деталі про завантажувані відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>Завантажити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Завантажити поточне відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Підписатися на канал</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Поділитися поточним відео за допомогою %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Закрити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Зверху усіх вікон</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>Зу&amp;пинити після цього відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>По&amp;відомити про помилку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>&amp;Уточнити пошук...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Більше...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>По&amp;дібне відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Дивитися відео, пов’язані з поточним</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation>Відкрити in &amp;Браузер...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>Пр&amp;ограма</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Придбати %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Список відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Вигляд</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Поділитися</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>До&amp;відка</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Натисніть %1, щоб приглушити гучність, та %2 щоб відновити її</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Відкриття %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Триває завантаження, бажаете закрити %1?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Якщо закрити %1 негайно, усі завантаження буде скасовано.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Скасувати та закрити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Дочекатися завершення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Вийти з &amp;повноекранного режиму</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 версія %2 доступна.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Нагадати мені пізніше</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Оновлення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Помилка: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>По&amp;передній</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Повернутися до попереднього треку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>Компак&amp;тний режим</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Від&amp;крити сторінку YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Копіювати &amp;посилання на YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Копіювати посилання на в&amp;ідео потік</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Знайти &amp;фрагменти відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>О&amp;чистити останні пошукові запити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Поже&amp;ртвувати</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>&amp;Почати відтворення вручну</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Почати відтворення відео вручну</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Вибір місцерозміщення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>Гр&amp;ати</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Відновити відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Залишилося часу: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Гучність %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Гучність приглушено</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Гучність відновлено</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Режим чіткості відео %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Ваша приватність тепер у безпеці</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Завантаження завершено</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Ви можете використовувати YouTube посилання на відео у зовнішній програмі</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Ви можете використовувати посилання на відео у зовнішній програмі</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Посилання буде дійсне лише протягом обмеженого часу.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>&gt;Це демонстраційна версія %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Ви маєте змогу протестувати програму та перевірити працездатність.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Продовжити</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>з</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>частина</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>епізод</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Відправити з %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Відмовитися від підписки %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Підписуватися на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Отримати повнофункціональну версію</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Завантаження %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Доступна нова версія %1!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 доступна. Ви маєте %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Ви бажаєте завантажити зараз?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Пропустити цю версію</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Нагадати пізніше</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Встановити оновлення</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Вставити</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 переглядів</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 з %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Готується</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Невдача</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Завершено</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Зупинено</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Зупинити завантаження</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Відтворити у %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Перейти до теки з відео</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Завантажити заново</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Пошук...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Наступні %1 </translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Нічого не знайдено</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Більше немає</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Сортувати по</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Релевантність</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Дата</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Кількість переглядів</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Рейтинг</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>У будь-який час</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Сьогодні</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 днів</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 днів</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Тривалість</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Усі</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Короткі</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Середні</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Довгі</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Коротші за 4 хвилини</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Між 4 та 20 хвилинами</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Довше ніж 20 хвилин</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Якість</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Висока роздільна здатність</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p або більше</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Готово</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Готово</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Пошук</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Ласкаво просимо до &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Отримати повнофункціональну версію</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Введіть</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>запит</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>канал</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>щоб почати перегляд.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Перегляд</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Недавній пошук</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Останні канали</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>Н&amp;азад</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Вперед до %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Назад до %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>Уточнити пошук</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Можливо ви мали на увазі: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Найпопулярніші</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Most Shared</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Що найбільше обговорюють</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Кращі оцінки</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Популярне за увесь час</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Не вдалося отримати відео потік для %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Помилка мережі: %1 для %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Алжир</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Аргентина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Австралія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Бельгія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Бразилія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Канада</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Чилі</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Колумбія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>Чехія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Єгипет</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Франція</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Німеччина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Гана</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Греція</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Гонконг</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Угорщина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>Індія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Індонезія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Ірландія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Ізраїль</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Італія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Японія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Йорданія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Кенія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Малайзія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Мексика</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Марокко</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Нідерланди</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>Нова Зеландія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Нігерія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Перу</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Філіпіни</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Польща</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Росія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Саудівська Аравія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Сингапур</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>ПАР</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Республіка Корея</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Іспанія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Швеція</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Тайвань</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Туніс</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Туреччина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Уганда</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>ОАЕ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Великобританія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Йемен</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Світовий</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
diff --git a/locale/uk_UA.ts b/locale/uk_UA.ts
new file mode 100644 (file)
index 0000000..1ebd77e
--- /dev/null
@@ -0,0 +1,1596 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk_UA" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>За межами веб-переглядача також є життя!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>Версія %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>Ліцензія належить: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 — вільне програмне забезпечення, але на його розробку було затрачено коштовний час.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>Будь ласка, &lt;a href=&apos;%1&apos;&gt;внесіть пожертву&lt;/a&gt; щоб підтримати подальший розвиток %2.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Спробуйте інші програми:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, музичний програвач для YouTube </translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, музичний програвач</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>Перекласти %1 на вашу рідну мову за допомогою %2</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>Розробник піктограм %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>Випущено за &lt;a href=&apos;%1&apos;&gt;Загальною громадською ліцензією GNU&lt;/a&gt;</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Закрити</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>Про програму</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>Усе що ви завжди хотіли знати про %1, але не наважувалися запитати</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Введіть дані вашої ліцензії</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Код:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>  
+Ліцензуйте %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Пробний період вичерпано.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Повна версія дозволяє завантажувати відео довше% 1 хвилини та дивитися відео без перерв.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Програму буде заблоковано через %1 днів, якщо ви не придбаєте ліцензію.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>При покупці повної версії, ви також надаєте підтримку тяжкої роботи у створенні %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Демонстрація</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Ввести ліцензію</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Придбати ліцензію</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>За %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>Усе відео</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>Непереглянутих відео</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>Скасувати усе як переглянуте</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>Показати оновлені</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>Назва</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>Нещодавно оновлені</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>Нещодавно додані</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>Нещодавно переглянуті</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>Що найбільше переглядаються</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>Сортувати по</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>Усе відео</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>Не переглянуте відео</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>На даний час немає оновлень підписок.</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>В вас немає підписок. Використовуйте символ зірочки щоб підписуватися на канали.</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Очистити</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>байт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>Кбайт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>Мбайт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>байт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>Кбайт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>Мбайт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>секунд</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>хвилин</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>до завершення %4 %5</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Це демонстраційна версія %1.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>З метою тестування ви можете завантажити відео тривалістю до %1 хв. </translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>Продовжити</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>Отримати повнофункціональну версію</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 завантажений у %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>Завантаження завершено</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>Завантажується %n файл</numerusform><numerusform>Завантажуються %n файли</numerusform><numerusform>Завантажуються %n файлів</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>Змінити теку для завантаження...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>Оберіть теку для завантаження</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>Теку завантаження змінено.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Поточні завантаження усе ще буде збережено у попередньому місці.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>Завантажується у %1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>Завантаження</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Завантажую оновлення ...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>Грати</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>Призупинити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>Грати/Призупинити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>Зупинити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>Зупинити по завершенні поточного</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>Наступний</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>Попередній</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>Підвищити гучність</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>Знизити гучність</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>Приглушити</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>Шукати наступне</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>Шукати попереднє</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>Пошук</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Знайти відео та канали за ключовими словами</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>Переглядач</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>Огляд відео по категоріях</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>Підписки</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>Підписки на канали</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>Влаштовуйтеся якнайзручніше</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>Помилка</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Зупинити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Зупинити відтворення та перейти до вікна пошуку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>П&amp;ропустити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>Перейти до наступного відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Призупинити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>Призупинити відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;На увесь екран</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>Перехід у повноекранний режим</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Сховати список та панель інструментів</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Відкрити сторінку YouTube та призупини відтворення відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Скопіювати YouTube посилання поточного відео у буфер</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Скопіювати посилання поточного відео у буфер</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Знайти інші частини відео, сподіваюся, у правильному порядку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Вилучити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Вилучити обрані відео зі списку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>В&amp;гору</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Перемістити обране відео вгору по списку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>Вни&amp;з</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Перемістити обране відео вниз по списку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Очистити історію пошуку (зміни незворотні).</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Ви&amp;хід</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>На все добре</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Сайт</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>%1 у мережі</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>Будь ласка підтримайте подальший розвиток %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>&amp;Про програму</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>Інформація про %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>Пошук</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>Приглушити гучність</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>Завантаження</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>Показати деталі про завантажувані відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>Завантажити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>Завантажити поточне відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>&amp;Підписатися на канал</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>Поділитися поточним відео за допомогою %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Закрити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Зверху усіх вікон</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>Зу&amp;пинити після цього відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>По&amp;відомити про помилку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>&amp;Уточнити пошук...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>Більше...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>По&amp;дібне відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Дивитися відео, пов’язані з поточним</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation>Відкрити &amp;Браузер..</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>Пр&amp;ограма</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>Придбати %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Список відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>&amp;Вигляд</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Поділитися</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>До&amp;відка</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Натисніть %1, щоб приглушити гучність, та %2 щоб відновити її</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>Відкриття %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>Триває завантаження, бажаете закрити %1?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Якщо закрити %1 негайно, усі завантаження буде скасовано.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>Скасувати та закрити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>Дочекатися завершення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Вийти з &amp;повноекранного режиму</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 версія %2 доступна.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>Нагадати мені пізніше</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>Оновлення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>Помилка: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>По&amp;передній</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>Повернутися до попереднього треку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>Компак&amp;тний режим</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Від&amp;крити сторінку YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Копіювати &amp;посилання на YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Копіювати посилання на в&amp;ідео потік</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Знайти &amp;фрагменти відео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>О&amp;чистити останні пошукові запити</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>Поже&amp;ртвувати</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>&amp;Почати відтворення вручну</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>Почати відтворення відео вручну</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>Вибір місцерозміщення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>Гр&amp;ати</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>Відновити відтворення</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>Залишилося часу: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>Гучність %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>Гучність приглушено</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>Гучність відновлено</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Режим чіткості відео %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>Ваша приватність тепер у безпеці</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>Завантаження завершено</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Ви можете використовувати YouTube посилання на відео у зовнішній програмі</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Ви можете використовувати посилання на відео у зовнішній програмі</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Посилання буде дійсне лише протягом обмеженого часу.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>&gt;Це демонстраційна версія %1.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>Ви маєте змогу протестувати програму та перевірити працездатність.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>Продовжити</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>з</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>частина</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>епізод</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>Відправити з %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>Відмовитися від підписки %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>Підписуватися на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>Отримати повнофункціональну версію</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>Завантаження %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Доступна нова версія %1!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 доступна. Ви маєте %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Ви бажаєте завантажити зараз?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Пропустити цю версію</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Нагадати пізніше</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Встановити оновлення</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Вставити</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>%1 переглядів</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 з %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>Готується</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>Невдача</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>Завершено</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>Зупинено</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>Зупинити завантаження</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>Відтворити у %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>Перейти до теки з відео</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>Завантажити заново</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>Пошук...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>Наступні %1 </translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>Нічого не знайдено</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>Більше немає</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>Сортувати по</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>Релевантність</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>Дата</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>Кількість переглядів</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>Рейтинг</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>У будь-який час</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>Сьогодні</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7 днів</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30 днів</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>Тривалість</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>Усі</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>Короткі</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>Середні</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>Довгі</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>Коротші за 4 хвилини</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Між 4 та 20 хвилинами</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Довше ніж 20 хвилин</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>Якість</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>Висока роздільна здатність</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p або більше</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>Готово</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>Готово</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Пошук</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>Ласкаво просимо до &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>Отримати повнофункціональну версію</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>Введіть</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>запит</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>канал</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>щоб почати перегляд.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>Перегляд</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>Недавній пошук</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>Останні канали</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>Н&amp;азад</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>Вперед до %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>Назад до %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>Уточнити пошук</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>Можливо ви мали на увазі: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>Найпопулярніші</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>Most Shared</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>Що найбільше обговорюють</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>Кращі оцінки</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>Популярне за увесь час</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>Не вдалося отримати відео потік для %1</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Помилка мережі: %1 для %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>Алжир</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>Аргентина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>Австралія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>Бельгія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>Бразилія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>Канада</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>Чилі</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>Колумбія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>Чехія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>Єгипет</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>Франція</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>Німеччина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>Гана</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>Греція</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>Гонконг</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>Угорщина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>Індія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>Індонезія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>Ірландія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>Ізраїль</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>Італія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>Японія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>Йорданія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>Кенія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>Малайзія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>Мексика</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>Марокко</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>Нідерланди</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>Нова Зеландія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>Нігерія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>Перу</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>Філіпіни</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>Польща</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>Росія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>Саудівська Аравія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>Сингапур</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>ПАР</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>Республіка Корея</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>Іспанія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>Швеція</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>Тайвань</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>Туніс</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>Туреччина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>Уганда</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>ОАЕ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>Великобританія</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>Йемен</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>Світовий</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index a2c8e6174c2548bd4ea375161eecbda904b395bd..b752ca32d3cb90588414ce4035ae511f2f360ad2 100644 (file)
@@ -3,72 +3,72 @@
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="32"/>
+        <location filename="src/aboutview.cpp" line="52"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>浏览器之外,生活亦精彩!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="53"/>
         <source>Version %1</source>
         <translation>版本:%1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>Licensed to: %1</source>
         <translation>遵循协议:%1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="42"/>
+        <location filename="src/aboutview.cpp" line="62"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 是自由软件。其开发也同样要耗用宝贵时间的。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="43"/>
+        <location filename="src/aboutview.cpp" line="63"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>恭迎您慷慨&lt;a href=&apos;%1&apos;&gt;捐赠&lt;/a&gt;,支持我们继续开发 %2 。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="47"/>
+        <location filename="src/aboutview.cpp" line="67"/>
         <source>You may want to try my other apps as well:</source>
         <translation>您或许也想尝试我的其他程序:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="50"/>
+        <location filename="src/aboutview.cpp" line="70"/>
         <source>%1, a YouTube music player</source>
         <translation>%1,一个 YouTube 音乐播放器</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="54"/>
+        <location filename="src/aboutview.cpp" line="74"/>
         <source>%1, a music player</source>
         <translation>%1,音乐播放器</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>使用 %2 将 %1 翻译为您的母语</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="65"/>
+        <location filename="src/aboutview.cpp" line="85"/>
         <source>Icon designed by %1.</source>
         <translation>图标设计:%1。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="69"/>
+        <location filename="src/aboutview.cpp" line="89"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>本软件遵循&lt;a href=&apos;%1&apos;&gt;GNU通用公共许可证&lt;/a&gt;予以发布。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="84"/>
+        <location filename="src/aboutview.cpp" line="104"/>
         <source>&amp;Close</source>
         <translation>关闭(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="17"/>
+        <location filename="src/aboutview.h" line="37"/>
         <source>About</source>
         <translation>关于</translation>
     </message>
     <message>
-        <location filename="src/aboutview.h" line="19"/>
+        <location filename="src/aboutview.h" line="39"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>您对 %1 的期望都有什么,还请不吝赐教。</translation>
     </message>
@@ -88,7 +88,7 @@
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation type="unfinished"/>
+        <translation>激活码(C):</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation type="unfinished"/>
+        <translation>若无授权,该软件将会在 %1 天后过期。</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
         <translation>购买许可</translation>
     </message>
 </context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>排序</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>ClearButton</name>
     <message>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="322"/>
+        <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
         <translation>字节</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="325"/>
+        <location filename="src/downloaditem.cpp" line="409"/>
         <source>KB</source>
         <translation>千字节</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="328"/>
+        <location filename="src/downloaditem.cpp" line="412"/>
         <source>MB</source>
         <translation>兆字节</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="337"/>
+        <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
         <translation>字节/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="340"/>
+        <location filename="src/downloaditem.cpp" line="424"/>
         <source>KB/sec</source>
         <translation>千字节/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="343"/>
+        <location filename="src/downloaditem.cpp" line="427"/>
         <source>MB/sec</source>
         <translation>兆字节/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="349"/>
+        <location filename="src/downloaditem.cpp" line="433"/>
         <source>seconds</source>
         <translation>秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="352"/>
+        <location filename="src/downloaditem.cpp" line="436"/>
         <source>minutes</source>
         <translation>分</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="355"/>
+        <location filename="src/downloaditem.cpp" line="439"/>
         <source>%4 %5 remaining</source>
         <translation>剩余 %4 %5 </translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="55"/>
+        <location filename="src/downloadmanager.cpp" line="75"/>
         <source>This is just the demo version of %1.</source>
         <translation>这只是 %1 的演示版。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>本版本只能下载 %1 分钟以下的视频,仅用于测试下载功能。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="63"/>
+        <location filename="src/downloadmanager.cpp" line="83"/>
         <source>Continue</source>
         <translation>继续</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="64"/>
+        <location filename="src/downloadmanager.cpp" line="84"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="150"/>
+        <location filename="src/downloadmanager.cpp" line="171"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 已下载(%2)</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="153"/>
+        <location filename="src/downloadmanager.cpp" line="174"/>
         <source>Download finished</source>
         <translation>下载完成</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="179"/>
         <source>%n Download(s)</source>
         <translation><numerusform>下载数:%n</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="15"/>
+        <location filename="src/downloadsettings.cpp" line="35"/>
         <source>Change location...</source>
         <translation>更改存储位置……</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="47"/>
+        <location filename="src/downloadsettings.cpp" line="67"/>
         <source>Choose the download location</source>
         <translation>选择下载存储位置</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="59"/>
+        <location filename="src/downloadsettings.cpp" line="79"/>
         <source>Download location changed.</source>
         <translation>下载存储位置已修改。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>当前下载仍然保持前一个存储位置。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="72"/>
+        <location filename="src/downloadsettings.cpp" line="92"/>
         <source>Downloading to: %1</source>
         <translation>当前下载存储位置:%1</translation>
     </message>
 <context>
     <name>DownloadView</name>
     <message>
-        <location filename="src/downloadview.cpp" line="18"/>
-        <location filename="src/downloadview.h" line="22"/>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
         <source>Downloads</source>
         <translation>下载情况</translation>
     </message>
 <context>
     <name>GlobalShortcuts</name>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
         <source>Play</source>
         <translation>播放</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
         <source>Pause</source>
         <translation>暂停</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
         <source>Play/Pause</source>
         <translation>播放/暂停</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
         <source>Stop</source>
         <translation>停止</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
         <source>Stop playing after current track</source>
         <translation>当前轨道后停止播放</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
         <source>Next track</source>
         <translation>下一轨道</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
         <source>Previous track</source>
         <translation>上一轨道</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
         <source>Increase volume</source>
         <translation>增加音量</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
         <source>Decrease volume</source>
         <translation>减小音量</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
         <source>Mute</source>
         <translation>静音</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
         <source>Seek forward</source>
         <translation>向前搜索</translation>
     </message>
     <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
         <source>Seek backward</source>
         <translation>向后搜索</translation>
     </message>
 <context>
     <name>HomeView</name>
     <message>
-        <location filename="src/homeview.cpp" line="33"/>
+        <location filename="src/homeview.cpp" line="58"/>
         <source>Search</source>
         <translation>搜索</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="35"/>
+        <location filename="src/homeview.cpp" line="60"/>
         <source>Find videos and channels by keyword</source>
         <translation>按关键词查找视频和频道</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="40"/>
+        <location filename="src/homeview.cpp" line="65"/>
         <source>Browse</source>
         <translation>浏览</translation>
     </message>
     <message>
-        <location filename="src/homeview.cpp" line="42"/>
+        <location filename="src/homeview.cpp" line="67"/>
         <source>Browse videos by category</source>
         <translation>按分类查找视频</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="22"/>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
         <source>Make yourself comfortable</source>
         <translation>请您尽情享受吧!</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
+        <location filename="src/loadingwidget.cpp" line="113"/>
         <source>Error</source>
         <translation>错误</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="213"/>
+        <location filename="src/mainwindow.cpp" line="261"/>
         <source>&amp;Stop</source>
         <translation>停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="214"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>Stop playback and go back to the search view</source>
         <translation>停止回放并返回搜索视图</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="277"/>
         <source>S&amp;kip</source>
         <translation>跳过(&amp;k)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="278"/>
         <source>Skip to the next video</source>
         <translation>跳至下一视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="239"/>
-        <location filename="src/mainwindow.cpp" line="989"/>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
         <source>&amp;Pause</source>
         <translation>暂停(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="240"/>
-        <location filename="src/mainwindow.cpp" line="990"/>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
         <source>Pause playback</source>
         <translation>暂停回放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Full Screen</source>
         <translation>全屏(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Go full screen</source>
         <translation>全屏播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="263"/>
+        <location filename="src/mainwindow.cpp" line="306"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>隐藏播放列表和工具栏</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="319"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>打开YouTube视频页面并暂停回放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="326"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>复制当前视频的YouTube链接到剪贴板中</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
+        <location filename="src/mainwindow.cpp" line="333"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>复制当前视频流的URL到剪贴板中</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="340"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>以正确的顺序查找其他视频部分</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="303"/>
+        <location filename="src/mainwindow.cpp" line="346"/>
         <source>&amp;Remove</source>
         <translation>移除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="304"/>
+        <location filename="src/mainwindow.cpp" line="347"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>从播放列表中移除选定的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="310"/>
+        <location filename="src/mainwindow.cpp" line="353"/>
         <source>Move &amp;Up</source>
         <translation>上移(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>在播放列表中向上移动选定的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="317"/>
+        <location filename="src/mainwindow.cpp" line="360"/>
         <source>Move &amp;Down</source>
         <translation>下移(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="318"/>
+        <location filename="src/mainwindow.cpp" line="361"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>在播放列表中向下移动选定的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="329"/>
+        <location filename="src/mainwindow.cpp" line="372"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>清除搜索历史。注意:清除的历史不可恢复。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="334"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>&amp;Quit</source>
         <translation>退出(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="337"/>
+        <location filename="src/mainwindow.cpp" line="380"/>
         <source>Bye</source>
         <translation>再见</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="341"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>&amp;Website</source>
         <translation>网站(&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="343"/>
+        <location filename="src/mainwindow.cpp" line="386"/>
         <source>%1 on the Web</source>
         <translation>%1在网站上</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="349"/>
+        <location filename="src/mainwindow.cpp" line="392"/>
         <source>Please support the continued development of %1</source>
         <translation>请您支持 %1 的继续开发</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="354"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;About</source>
         <translation>关于(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="356"/>
+        <location filename="src/mainwindow.cpp" line="399"/>
         <source>Info about %1</source>
         <translation>关于 %1 的信息</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="364"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>Search</source>
         <translation>搜索</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="426"/>
         <source>Mute volume</source>
         <translation>静音</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="412"/>
-        <location filename="src/mainwindow.cpp" line="1365"/>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
         <source>&amp;Downloads</source>
         <translation>下载(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="461"/>
         <source>Show details about video downloads</source>
         <translation>显示视频下载详情</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="421"/>
+        <location filename="src/mainwindow.cpp" line="469"/>
         <source>&amp;Download</source>
         <translation>下载(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="422"/>
+        <location filename="src/mainwindow.cpp" line="470"/>
         <source>Download the current video</source>
         <translation>下载当前视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="441"/>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
         <source>Share the current video using %1</source>
         <translation>使用 %1 分享当前视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="458"/>
+        <location filename="src/mainwindow.cpp" line="514"/>
         <source>&amp;Email</source>
         <translation>电子邮件(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Email</source>
         <translation>电子邮件</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="463"/>
+        <location filename="src/mainwindow.cpp" line="520"/>
         <source>&amp;Close</source>
         <translation>关闭(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="473"/>
+        <location filename="src/mainwindow.cpp" line="530"/>
         <source>&amp;Float on Top</source>
         <translation>窗口置顶(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="478"/>
+        <location filename="src/mainwindow.cpp" line="535"/>
         <source>&amp;Stop After This Video</source>
         <translation>该视频后停止播放(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="485"/>
+        <location filename="src/mainwindow.cpp" line="542"/>
         <source>&amp;Report an Issue...</source>
         <translation>报告问题&amp;R…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="489"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>&amp;Refine Search...</source>
         <translation>精确搜索(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>More...</source>
         <translation>更多...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="504"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Related Videos</source>
         <translation>相关视频(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="506"/>
+        <location filename="src/mainwindow.cpp" line="563"/>
         <source>Watch videos related to the current one</source>
         <translation>查看与当前视频相关的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="544"/>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
         <source>&amp;Application</source>
         <translation>应用程序(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="515"/>
+        <location filename="src/mainwindow.cpp" line="575"/>
         <source>Buy %1...</source>
         <translation>购买 %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="558"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>&amp;Playback</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="572"/>
+        <location filename="src/mainwindow.cpp" line="619"/>
         <source>&amp;Playlist</source>
         <translation>播放列表(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="581"/>
+        <location filename="src/mainwindow.cpp" line="628"/>
         <source>&amp;Video</source>
         <translation>视频(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="594"/>
+        <location filename="src/mainwindow.cpp" line="642"/>
         <source>&amp;View</source>
         <translation>查看(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="601"/>
+        <location filename="src/mainwindow.cpp" line="649"/>
         <source>&amp;Share</source>
         <translation>分享(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="615"/>
+        <location filename="src/mainwindow.cpp" line="663"/>
         <source>&amp;Help</source>
         <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="690"/>
+        <location filename="src/mainwindow.cpp" line="738"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>按住 %1 提高音量,%2 降低音量</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="889"/>
-        <location filename="src/mainwindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Opening %1</source>
         <translation>正在打开 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="936"/>
+        <location filename="src/mainwindow.cpp" line="981"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>当前还有尚未完成的下载。您确定要退出 %1 吗?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="937"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>如果您现在关闭 %1 ,那么本下载将被取消。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="942"/>
+        <location filename="src/mainwindow.cpp" line="987"/>
         <source>Close and cancel download</source>
         <translation>关闭并取消下载</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="943"/>
+        <location filename="src/mainwindow.cpp" line="988"/>
         <source>Wait for download to finish</source>
         <translation>等待下载完成</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1102"/>
+        <location filename="src/mainwindow.cpp" line="1147"/>
         <source>Leave &amp;Full Screen</source>
         <translation>离开全屏模式(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1475"/>
+        <location filename="src/mainwindow.cpp" line="1540"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 版本 %2 现在可用。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1479"/>
+        <location filename="src/mainwindow.cpp" line="1544"/>
         <source>Remind me later</source>
         <translation>稍后提醒我</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1480"/>
+        <location filename="src/mainwindow.cpp" line="1545"/>
         <source>Update</source>
         <translation>更新</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="982"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Error: %1</source>
         <translation>错误:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="222"/>
+        <location filename="src/mainwindow.cpp" line="270"/>
         <source>P&amp;revious</source>
         <translation>上一首(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="223"/>
+        <location filename="src/mainwindow.cpp" line="271"/>
         <source>Go back to the previous track</source>
         <translation>饭回到上一首音轨</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="262"/>
+        <location filename="src/mainwindow.cpp" line="305"/>
         <source>&amp;Compact Mode</source>
         <translation>紧凑模式(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>打开 YouTube 页面(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="282"/>
+        <location filename="src/mainwindow.cpp" line="325"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>复制 YouTube 链接(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="289"/>
+        <location filename="src/mainwindow.cpp" line="332"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>复制视频流 URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="296"/>
+        <location filename="src/mainwindow.cpp" line="339"/>
         <source>Find Video &amp;Parts</source>
         <translation>查找视频部分(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="367"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>清除最近的搜索(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="348"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Make a &amp;Donation</source>
         <translation>捐助(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="453"/>
         <source>&amp;Manually Start Playing</source>
         <translation>手动开始播放(&amp;M)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="406"/>
+        <location filename="src/mainwindow.cpp" line="454"/>
         <source>Manually start playing videos</source>
         <translation>手动开始播放视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="728"/>
+        <location filename="src/mainwindow.cpp" line="776"/>
         <source>Choose your content location</source>
-        <translation type="unfinished"/>
+        <translation>选择您的内容位置</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1002"/>
+        <location filename="src/mainwindow.cpp" line="1047"/>
         <source>&amp;Play</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1003"/>
+        <location filename="src/mainwindow.cpp" line="1048"/>
         <source>Resume playback</source>
         <translation>恢复播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1236"/>
+        <location filename="src/mainwindow.cpp" line="1301"/>
         <source>Remaining time: %1</source>
         <translation>剩余时间:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1294"/>
+        <location filename="src/mainwindow.cpp" line="1360"/>
         <source>Volume at %1%</source>
         <translation>音量:%1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1300"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Volume is muted</source>
         <translation>已设为静音</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1303"/>
+        <location filename="src/mainwindow.cpp" line="1369"/>
         <source>Volume is unmuted</source>
         <translation>静音已解除</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1310"/>
+        <location filename="src/mainwindow.cpp" line="1376"/>
         <source>Maximum video definition set to %1</source>
         <translation>最大视频定义设置为%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1351"/>
+        <location filename="src/mainwindow.cpp" line="1417"/>
         <source>Your privacy is now safe</source>
         <translation>您的隐私已受保护</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1366"/>
+        <location filename="src/mainwindow.cpp" line="1432"/>
         <source>Downloads complete</source>
         <translation>下载完成</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="553"/>
+        <location filename="src/mediaview.cpp" line="618"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>您现在可以把YouTube的链接粘贴到其他应用了</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="561"/>
+        <location filename="src/mediaview.cpp" line="626"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>您现在可以把视频流的链接粘贴到其他应用了</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="562"/>
+        <location filename="src/mediaview.cpp" line="627"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>此链接仅能保持短时间的有效性。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="636"/>
+        <location filename="src/mediaview.cpp" line="712"/>
         <source>This is just the demo version of %1.</source>
         <translation>这仅是 %1 的演示版。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="637"/>
+        <location filename="src/mediaview.cpp" line="713"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>本版本允许您测试,以确认本应用是否适合您。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="667"/>
+        <location filename="src/mediaview.cpp" line="743"/>
         <source>Continue</source>
         <translation>继续</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="756"/>
+        <location filename="src/mediaview.cpp" line="841"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>之</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="768"/>
+        <location filename="src/mediaview.cpp" line="854"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>部分</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="770"/>
+        <location filename="src/mediaview.cpp" line="856"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>集</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="847"/>
+        <location filename="src/mediaview.cpp" line="937"/>
         <source>Sent from %1</source>
         <translation>由 %1 发送</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="644"/>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="681"/>
+        <location filename="src/mediaview.cpp" line="757"/>
         <source>Downloading %1</source>
         <translation>正在下载 %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="21"/>
         <source>A new version of %1 is available!</source>
-        <translation type="unfinished"/>
+        <translation>发现新版本的 %1 !</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="28"/>
         <source>%1 %2 is now available. You have %3.</source>
-        <translation type="unfinished"/>
+        <translation>%1 %2 已经可用。您现拥有 %3。</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="33"/>
         <source>Would you like to download it now?</source>
-        <translation type="unfinished"/>
+        <translation>您想现在下载吗?</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation type="unfinished"/>
+        <translation>跳过此版本</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation type="unfinished"/>
+        <translation>稍后提醒我</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation type="unfinished"/>
+        <translation>安装更新</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation type="unfinished"/>
+        <translation>粘贴</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
         <source>%1 views</source>
         <translation>%1 人次观看</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 之 %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Preparing</source>
         <translation>准备中</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Failed</source>
         <translation>已失败</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Completed</source>
         <translation>已完成</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
         <source>Stopped</source>
         <translation>已停止</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
         <source>Stop downloading</source>
         <translation>停止下载</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Show in %1</source>
         <translation>显示到 %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
         <source>Open parent folder</source>
         <translation>打开上层目录</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
         <source>Restart downloading</source>
         <translation>重新下载</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="52"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>Searching...</source>
         <translation>搜索中……</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="53"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>Show %1 More</source>
         <translation>再多显示 %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="54"/>
+        <location filename="src/playlistmodel.cpp" line="74"/>
         <source>No videos</source>
         <translation>没有视频</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="55"/>
+        <location filename="src/playlistmodel.cpp" line="75"/>
         <source>No more videos</source>
         <translation>没有更多视频</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
         <source>Sort by</source>
         <translation>排序</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>Relevance</source>
         <translation>相关性</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="36"/>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
         <source>Date</source>
         <translation>日期</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>View Count</source>
         <translation>查看计数</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>Rating</source>
         <translation>评分</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>Anytime</source>
         <translation>任何时候</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
         <source>Today</source>
         <translation>今天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>7 Days</source>
         <translation>7 天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>30 Days</source>
         <translation>30 天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
         <source>Duration</source>
         <translation>持续时长</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
         <source>All</source>
         <translation>全部</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
         <source>Short</source>
         <translation>短</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Medium</source>
         <translation>中等</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Long</source>
         <translation>长</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
         <source>Less than 4 minutes</source>
         <translation>少于 4 分钟</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 到 20 分钟之间</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>Longer than 20 minutes</source>
         <translation>长于 20 分钟</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>Quality</source>
         <translation>质量</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
         <source>High Definition</source>
         <translation>高分辨率</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
         <source>720p or higher</source>
         <translation>720p 或更高</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
         <source>Done</source>
         <translation>完成</translation>
     </message>
 <context>
     <name>RegionsView</name>
     <message>
-        <location filename="src/regionsview.cpp" line="19"/>
+        <location filename="src/regionsview.cpp" line="39"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>完成</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="71"/>
+        <location filename="src/searchview.cpp" line="88"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>欢迎使用&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;!</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="50"/>
+        <location filename="src/searchview.cpp" line="189"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="85"/>
+        <location filename="src/searchview.cpp" line="108"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>输入</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="90"/>
+        <location filename="src/searchview.cpp" line="113"/>
         <source>a keyword</source>
         <translation>关键字</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="91"/>
+        <location filename="src/searchview.cpp" line="114"/>
         <source>a channel</source>
         <translation>频道名称</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="96"/>
+        <location filename="src/searchview.cpp" line="119"/>
         <source>to start watching videos.</source>
         <translation>开始观看视频。</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="143"/>
         <source>Watch</source>
         <translation>观看</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="138"/>
+        <location filename="src/searchview.cpp" line="161"/>
         <source>Recent keywords</source>
         <translation>最近关键字词</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="151"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent channels</source>
         <translation>最近频道</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="16"/>
-        <location filename="src/sidebarheader.cpp" line="23"/>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
         <source>&amp;Back</source>
         <translation>后退(_B)</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="57"/>
+        <location filename="src/sidebarheader.cpp" line="77"/>
         <source>Forward to %1</source>
-        <translation type="unfinished"/>
+        <translation>前进至 %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="70"/>
+        <location filename="src/sidebarheader.cpp" line="90"/>
         <source>Back to %1</source>
-        <translation type="unfinished"/>
+        <translation>返回到 %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
         <source>Refine Search</source>
         <translation>二次检索</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
         <source>Did you mean: %1</source>
         <translation>您的意思是:%1</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
         <source>Most Popular</source>
-        <translation type="unfinished"/>
+        <translation>最流行</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="86"/>
-        <source>Featured</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Shared</source>
-        <translation type="unfinished"/>
+        <translation>分享最多的</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
         <source>Most Discussed</source>
-        <translation type="unfinished"/>
+        <translation>讨论最多的</translation>
     </message>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
         <source>Top Rated</source>
+        <translation>评分较高</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="213"/>
+        <location filename="src/video.cpp" line="281"/>
         <source>Cannot get video stream for %1</source>
         <translation>无法获得视频流。可能原因:%1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="231"/>
+        <location filename="src/video.cpp" line="298"/>
         <source>Network error: %1 for %2</source>
         <translation>网络错误:%1。可能原因:%2</translation>
     </message>
 <context>
     <name>YTRegions</name>
     <message>
-        <location filename="src/ytregions.cpp" line="8"/>
+        <location filename="src/ytregions.cpp" line="28"/>
         <source>Algeria</source>
-        <translation type="unfinished"/>
+        <translation>阿尔及利亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="9"/>
+        <location filename="src/ytregions.cpp" line="29"/>
         <source>Argentina</source>
-        <translation type="unfinished"/>
+        <translation>阿根廷</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="10"/>
+        <location filename="src/ytregions.cpp" line="30"/>
         <source>Australia</source>
-        <translation type="unfinished"/>
+        <translation>澳大利亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="11"/>
+        <location filename="src/ytregions.cpp" line="31"/>
         <source>Belgium</source>
-        <translation type="unfinished"/>
+        <translation>比利时</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="12"/>
+        <location filename="src/ytregions.cpp" line="32"/>
         <source>Brazil</source>
-        <translation type="unfinished"/>
+        <translation>巴西</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="13"/>
+        <location filename="src/ytregions.cpp" line="33"/>
         <source>Canada</source>
-        <translation type="unfinished"/>
+        <translation>加拿大</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="14"/>
+        <location filename="src/ytregions.cpp" line="34"/>
         <source>Chile</source>
-        <translation type="unfinished"/>
+        <translation>智利</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="15"/>
+        <location filename="src/ytregions.cpp" line="35"/>
         <source>Colombia</source>
-        <translation type="unfinished"/>
+        <translation>哥伦比亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="16"/>
+        <location filename="src/ytregions.cpp" line="36"/>
         <source>Czech Republic</source>
-        <translation type="unfinished"/>
+        <translation>捷克共和国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="17"/>
+        <location filename="src/ytregions.cpp" line="37"/>
         <source>Egypt</source>
-        <translation type="unfinished"/>
+        <translation>埃及</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="18"/>
+        <location filename="src/ytregions.cpp" line="38"/>
         <source>France</source>
-        <translation type="unfinished"/>
+        <translation>法国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="19"/>
+        <location filename="src/ytregions.cpp" line="39"/>
         <source>Germany</source>
-        <translation type="unfinished"/>
+        <translation>德国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="20"/>
+        <location filename="src/ytregions.cpp" line="40"/>
         <source>Ghana</source>
-        <translation type="unfinished"/>
+        <translation>加纳</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="21"/>
+        <location filename="src/ytregions.cpp" line="41"/>
         <source>Greece</source>
-        <translation type="unfinished"/>
+        <translation>希腊</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="22"/>
+        <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation type="unfinished"/>
+        <translation>香港</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="23"/>
+        <location filename="src/ytregions.cpp" line="43"/>
         <source>Hungary</source>
-        <translation type="unfinished"/>
+        <translation>匈牙利</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="24"/>
+        <location filename="src/ytregions.cpp" line="44"/>
         <source>India</source>
-        <translation type="unfinished"/>
+        <translation>印度</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="25"/>
+        <location filename="src/ytregions.cpp" line="45"/>
         <source>Indonesia</source>
-        <translation type="unfinished"/>
+        <translation>印度尼西亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="26"/>
+        <location filename="src/ytregions.cpp" line="46"/>
         <source>Ireland</source>
-        <translation type="unfinished"/>
+        <translation>爱尔兰</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="27"/>
+        <location filename="src/ytregions.cpp" line="47"/>
         <source>Israel</source>
-        <translation type="unfinished"/>
+        <translation>以色列</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="28"/>
+        <location filename="src/ytregions.cpp" line="48"/>
         <source>Italy</source>
-        <translation type="unfinished"/>
+        <translation>意大利</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="29"/>
+        <location filename="src/ytregions.cpp" line="49"/>
         <source>Japan</source>
-        <translation type="unfinished"/>
+        <translation>日本</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="30"/>
+        <location filename="src/ytregions.cpp" line="50"/>
         <source>Jordan</source>
-        <translation type="unfinished"/>
+        <translation>约旦</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="31"/>
+        <location filename="src/ytregions.cpp" line="51"/>
         <source>Kenya</source>
-        <translation type="unfinished"/>
+        <translation>肯尼亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="32"/>
+        <location filename="src/ytregions.cpp" line="52"/>
         <source>Malaysia</source>
-        <translation type="unfinished"/>
+        <translation>马来西亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="33"/>
+        <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation type="unfinished"/>
+        <translation>墨西哥</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="34"/>
+        <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation type="unfinished"/>
+        <translation>摩洛哥</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="35"/>
+        <location filename="src/ytregions.cpp" line="55"/>
         <source>Netherlands</source>
-        <translation type="unfinished"/>
+        <translation>荷兰</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="36"/>
+        <location filename="src/ytregions.cpp" line="56"/>
         <source>New Zealand</source>
-        <translation type="unfinished"/>
+        <translation>新西兰</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="37"/>
+        <location filename="src/ytregions.cpp" line="57"/>
         <source>Nigeria</source>
-        <translation type="unfinished"/>
+        <translation>尼日利亚</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="38"/>
+        <location filename="src/ytregions.cpp" line="58"/>
         <source>Peru</source>
-        <translation type="unfinished"/>
+        <translation>秘鲁</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="39"/>
+        <location filename="src/ytregions.cpp" line="59"/>
         <source>Philippines</source>
-        <translation type="unfinished"/>
+        <translation>菲律宾</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="40"/>
+        <location filename="src/ytregions.cpp" line="60"/>
         <source>Poland</source>
-        <translation type="unfinished"/>
+        <translation>波兰</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="41"/>
+        <location filename="src/ytregions.cpp" line="61"/>
         <source>Russia</source>
-        <translation type="unfinished"/>
+        <translation>俄罗斯</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="42"/>
+        <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation type="unfinished"/>
+        <translation>沙特阿拉伯</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="43"/>
+        <location filename="src/ytregions.cpp" line="63"/>
         <source>Singapore</source>
-        <translation type="unfinished"/>
+        <translation>新加坡</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="44"/>
+        <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation type="unfinished"/>
+        <translation>南非</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="45"/>
+        <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation type="unfinished"/>
+        <translation>韩国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="46"/>
+        <location filename="src/ytregions.cpp" line="66"/>
         <source>Spain</source>
-        <translation type="unfinished"/>
+        <translation>西班牙</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="47"/>
+        <location filename="src/ytregions.cpp" line="67"/>
         <source>Sweden</source>
-        <translation type="unfinished"/>
+        <translation>瑞士</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="48"/>
+        <location filename="src/ytregions.cpp" line="68"/>
         <source>Taiwan</source>
-        <translation type="unfinished"/>
+        <translation>台湾</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="49"/>
+        <location filename="src/ytregions.cpp" line="69"/>
         <source>Tunisia</source>
-        <translation type="unfinished"/>
+        <translation>突尼斯</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="50"/>
+        <location filename="src/ytregions.cpp" line="70"/>
         <source>Turkey</source>
-        <translation type="unfinished"/>
+        <translation>土耳其</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="51"/>
+        <location filename="src/ytregions.cpp" line="71"/>
         <source>Uganda</source>
-        <translation type="unfinished"/>
+        <translation>乌干达</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="52"/>
+        <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation type="unfinished"/>
+        <translation>阿联酋</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="53"/>
+        <location filename="src/ytregions.cpp" line="73"/>
         <source>United Kingdom</source>
-        <translation type="unfinished"/>
+        <translation>英国</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="54"/>
+        <location filename="src/ytregions.cpp" line="74"/>
         <source>Yemen</source>
-        <translation type="unfinished"/>
+        <translation>也门</translation>
     </message>
     <message>
-        <location filename="src/ytregions.cpp" line="128"/>
+        <location filename="src/ytregions.cpp" line="148"/>
         <source>Worldwide</source>
-        <translation type="unfinished"/>
+        <translation>全球</translation>
     </message>
 </context>
 </TS>
\ No newline at end of file
diff --git a/locale/zh_TW.ts b/locale/zh_TW.ts
new file mode 100644 (file)
index 0000000..414c5c4
--- /dev/null
@@ -0,0 +1,1595 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_TW" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="52"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>在瀏覽器之外的生活!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="53"/>
+        <source>Version %1</source>
+        <translation>版本 %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="58"/>
+        <source>Licensed to: %1</source>
+        <translation>授權使用:%1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="62"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 是免費軟體,但其發展需要寶貴的時間。</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="63"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation>請 &lt;a href=&apos;%1&apos;&gt;贊助&lt;/a&gt; 以支持持續發展 %2。</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="67"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>您可能也想嘗試我的其他應用程式:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="70"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, 一個 YouTube 的音樂播放器</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="74"/>
+        <source>%1, a music player</source>
+        <translation>%1, 一個音樂播放器</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="80"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>使用 %2 翻譯 %1 介面成為您的本國語言</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="85"/>
+        <source>Icon designed by %1.</source>
+        <translation>圖示由 %1 所設計。 </translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="89"/>
+        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
+        <translation>發布在 &lt;a href=&apos;%1&apos;&gt;GNU 通用公共授權條款&lt;/a&gt;之下</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="104"/>
+        <source>&amp;Close</source>
+        <translation>關閉(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="37"/>
+        <source>About</source>
+        <translation>關於</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="39"/>
+        <source>What you always wanted to know about %1 and never dared to ask</source>
+        <translation>您最想知道的 %1 和從來不敢問的</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationDialog</name>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>輸入您的使用授權詳細資料</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>電子郵件(&amp;E):</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>授權碼(&amp;C):</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>請取得 %1 授權</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>這個展示版已過期。</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>完整版允許您下載影片長於  %1 分鐘,以及觀看影片不會被中斷。</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>沒有取得授權,本程式將於 %1 天過期。</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="57"/>
+        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
+        <translation>透過購買完整版,您還可以支持我投入更多心力於打造 %1。</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>使用展示版</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>輸入授權</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>購買授權</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelAggregator</name>
+    <message>
+        <location filename="src/channelaggregator.cpp" line="131"/>
+        <source>By %1</source>
+        <translation>依 %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/channelaggregator.cpp" line="133"/>
+        <source>You have %n new video(s)</source>
+        <translation><numerusform>您有 %n 個新影片</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>ChannelItemDelegate</name>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <source>All Videos</source>
+        <translation>全部影片</translation>
+    </message>
+    <message>
+        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <source>Unwatched Videos</source>
+        <translation>尚未觀看的影片</translation>
+    </message>
+</context>
+<context>
+    <name>ChannelView</name>
+    <message>
+        <location filename="src/channelview.cpp" line="99"/>
+        <source>Mark all as watched</source>
+        <translation>標記全部為看過的</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="107"/>
+        <source>Show Updated</source>
+        <translation>顯示更新</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="119"/>
+        <source>Name</source>
+        <translation>名稱</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="126"/>
+        <source>Last Updated</source>
+        <translation>最近更新的</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="133"/>
+        <source>Last Added</source>
+        <translation>最近加入的</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="140"/>
+        <source>Last Watched</source>
+        <translation>最近看過的</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="147"/>
+        <source>Most Watched</source>
+        <translation>最多觀賞次數</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="155"/>
+        <source>Sort by</source>
+        <translation>排序根據</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="214"/>
+        <source>All Videos</source>
+        <translation>全部影片</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="218"/>
+        <source>Unwatched Videos</source>
+        <translation>尚未觀看的影片</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="230"/>
+        <source>There are no updated subscriptions at this time.</source>
+        <translation>目前沒有更新的訂閱。</translation>
+    </message>
+    <message>
+        <location filename="src/channelview.cpp" line="232"/>
+        <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
+        <translation>您暫時沒有任何訂閱。使用星星符號訂閱頻道。</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>清除</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="406"/>
+        <source>bytes</source>
+        <translation>bytes</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="409"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="412"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="421"/>
+        <source>bytes/sec</source>
+        <translation>bytes/秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="424"/>
+        <source>KB/sec</source>
+        <translation>KB/秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="427"/>
+        <source>MB/sec</source>
+        <translation>MB/秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="433"/>
+        <source>seconds</source>
+        <translation>秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="436"/>
+        <source>minutes</source>
+        <translation>分</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="439"/>
+        <source>%4 %5 remaining</source>
+        <translation>剩餘 %4 %5</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="75"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>這僅僅是展示版的  %1。</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="77"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation>它只能下載影片少於 %1 分鐘,使您可以測試下載功能。</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="83"/>
+        <source>Continue</source>
+        <translation>繼續</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="84"/>
+        <source>Get the full version</source>
+        <translation>取得完整版</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="171"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 下載在 %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="174"/>
+        <source>Download finished</source>
+        <translation>下載完成</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="179"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n 下載</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="35"/>
+        <source>Change location...</source>
+        <translation>變更位置...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="67"/>
+        <source>Choose the download location</source>
+        <translation>選擇下載位置</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="79"/>
+        <source>Download location changed.</source>
+        <translation>下載位置變更。</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="81"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>目前的下載仍然會進入先前的位置。</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="92"/>
+        <source>Downloading to: %1</source>
+        <translation>下載至:%1</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadView</name>
+    <message>
+        <location filename="src/downloadview.cpp" line="38"/>
+        <location filename="src/downloadview.h" line="42"/>
+        <source>Downloads</source>
+        <translation>下載</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>下載更新中...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="36"/>
+        <source>Play</source>
+        <translation>播放</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="37"/>
+        <source>Pause</source>
+        <translation>暫停</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="38"/>
+        <source>Play/Pause</source>
+        <translation>播放/暫停</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="39"/>
+        <source>Stop</source>
+        <translation>停止</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="40"/>
+        <source>Stop playing after current track</source>
+        <translation>在目前的曲目之後,停止播放</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="41"/>
+        <source>Next track</source>
+        <translation>下一首曲目</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="42"/>
+        <source>Previous track</source>
+        <translation>上一首曲目</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="43"/>
+        <source>Increase volume</source>
+        <translation>增加音量</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="44"/>
+        <source>Decrease volume</source>
+        <translation>減少音量</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="45"/>
+        <source>Mute</source>
+        <translation>靜音</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="46"/>
+        <source>Seek forward</source>
+        <translation>快轉</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="47"/>
+        <source>Seek backward</source>
+        <translation>倒轉</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="58"/>
+        <source>Search</source>
+        <translation>搜尋</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="60"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>用關鍵字尋找影片和頻道</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="65"/>
+        <source>Browse</source>
+        <translation>瀏覽</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="67"/>
+        <source>Browse videos by category</source>
+        <translation>按類別瀏覽影片</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="71"/>
+        <source>Subscriptions</source>
+        <translation>訂閱</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="73"/>
+        <source>Channel subscriptions</source>
+        <translation>頻道訂閱</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="42"/>
+        <source>Make yourself comfortable</source>
+        <translation>您可以盡情享受</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="113"/>
+        <source>Error</source>
+        <translation>錯誤</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="261"/>
+        <source>&amp;Stop</source>
+        <translation>停止(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>停止播放並回到搜尋檢視中</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="277"/>
+        <source>S&amp;kip</source>
+        <translation>下一個(&amp;K)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="278"/>
+        <source>Skip to the next video</source>
+        <translation>跳至下一個影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="1034"/>
+        <source>&amp;Pause</source>
+        <translation>暫停(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="285"/>
+        <location filename="src/mainwindow.cpp" line="1035"/>
+        <source>Pause playback</source>
+        <translation>暫停播放</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="291"/>
+        <source>&amp;Full Screen</source>
+        <translation>全螢幕(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="292"/>
+        <source>Go full screen</source>
+        <translation>切換至全螢幕</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="306"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>隱藏播放清單和工具列</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="319"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>前往 YouTube 影片頁面並且暫停播放</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="326"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>複製目前 YouTube 影片的連結到剪貼簿</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="333"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>複製目前影片串流網址到剪貼簿</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="340"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>希望能以正確的順序找到其他影片部分</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="346"/>
+        <source>&amp;Remove</source>
+        <translation>移除(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="347"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>從播放清單中移除所選的影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="353"/>
+        <source>Move &amp;Up</source>
+        <translation>向上移動(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>向上移動在播放清單中所選的影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="360"/>
+        <source>Move &amp;Down</source>
+        <translation>向下移動(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="361"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>向下移動在播放清單中所選的影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="372"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>清除搜尋歷史記錄。不能撤消。</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="377"/>
+        <source>&amp;Quit</source>
+        <translation>結束(&amp;Q)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="380"/>
+        <source>Bye</source>
+        <translation>再見</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="384"/>
+        <source>&amp;Website</source>
+        <translation>網站(&amp;W)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="386"/>
+        <source>%1 on the Web</source>
+        <translation>在網絡上的 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="392"/>
+        <source>Please support the continued development of %1</source>
+        <translation>請支持持續發展 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="397"/>
+        <source>&amp;About</source>
+        <translation>關於(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="399"/>
+        <source>Info about %1</source>
+        <translation>有關 %1 訊息</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="407"/>
+        <source>Search</source>
+        <translation>搜尋</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="426"/>
+        <source>Mute volume</source>
+        <translation>靜音</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="1431"/>
+        <source>&amp;Downloads</source>
+        <translation>下載(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="461"/>
+        <source>Show details about video downloads</source>
+        <translation>顯示影片下載細節</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="469"/>
+        <source>&amp;Download</source>
+        <translation>下載(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="470"/>
+        <source>Download the current video</source>
+        <translation>下載目前的影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="486"/>
+        <source>&amp;Subscribe to Channel</source>
+        <translation>訂閱頻道(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="494"/>
+        <source>Share the current video using %1</source>
+        <translation>分享目前的影片使用 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="514"/>
+        <source>&amp;Email</source>
+        <translation>電子郵件(&amp;E)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Email</source>
+        <translation>電子郵件</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="520"/>
+        <source>&amp;Close</source>
+        <translation>關閉(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="530"/>
+        <source>&amp;Float on Top</source>
+        <translation>浮在上面(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="535"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>在這個影片播完之後停止(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="542"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>回報問題(&amp;R)...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="546"/>
+        <source>&amp;Refine Search...</source>
+        <translation>精確搜尋(&amp;R)...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>More...</source>
+        <translation>更多...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="561"/>
+        <source>&amp;Related Videos</source>
+        <translation>相關影片(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="563"/>
+        <source>Watch videos related to the current one</source>
+        <translation>觀看和目前相關的影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="569"/>
+        <source>Open in &amp;Browser...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="591"/>
+        <source>&amp;Application</source>
+        <translation>應用(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="575"/>
+        <source>Buy %1...</source>
+        <translation>購買 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="605"/>
+        <source>&amp;Playback</source>
+        <translation>播放(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="619"/>
+        <source>&amp;Playlist</source>
+        <translation>播放清單(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="628"/>
+        <source>&amp;Video</source>
+        <translation>影片(&amp;V)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="642"/>
+        <source>&amp;View</source>
+        <translation>檢視(&amp;V)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="649"/>
+        <source>&amp;Share</source>
+        <translation>分享(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="663"/>
+        <source>&amp;Help</source>
+        <translation>幫助(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="738"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>按 %1 提高音量,%2 降低音量</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="930"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Opening %1</source>
+        <translation>開啟 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="981"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation>您想要下載正在進行中結束 %1?</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>如果現在關閉 %1,下載將被取消。</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="987"/>
+        <source>Close and cancel download</source>
+        <translation>關閉並取消下載</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="988"/>
+        <source>Wait for download to finish</source>
+        <translation>等待下載完成</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1147"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>離開全螢幕(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1540"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>現在有 %1 版本 %2 可用。</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1544"/>
+        <source>Remind me later</source>
+        <translation>稍候提醒我</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1545"/>
+        <source>Update</source>
+        <translation>更新</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1027"/>
+        <source>Error: %1</source>
+        <translation>錯誤:%1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="270"/>
+        <source>P&amp;revious</source>
+        <translation>上一個(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="271"/>
+        <source>Go back to the previous track</source>
+        <translation>回到上一個影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="305"/>
+        <source>&amp;Compact Mode</source>
+        <translation>精簡模式(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>開啟 &amp;YouTube 頁面</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="325"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>複製 YouTube 的連結(&amp;L)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="332"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>複製影片串流網址(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="339"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>找到其他影片部分(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="367"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>清除最近的搜尋(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="391"/>
+        <source>Make a &amp;Donation</source>
+        <translation>贊助(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="453"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>手動啟動播放(&amp;M)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="454"/>
+        <source>Manually start playing videos</source>
+        <translation>手動啟動播放影片</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="776"/>
+        <source>Choose your content location</source>
+        <translation>選擇您的內容定位</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1047"/>
+        <source>&amp;Play</source>
+        <translation>播放(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1048"/>
+        <source>Resume playback</source>
+        <translation>恢復播放</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1301"/>
+        <source>Remaining time: %1</source>
+        <translation>剩餘時間:%1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1360"/>
+        <source>Volume at %1%</source>
+        <translation>音量達到 %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Volume is muted</source>
+        <translation>音量處於靜音狀態</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1369"/>
+        <source>Volume is unmuted</source>
+        <translation>音量處於非靜音狀態</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1376"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>影片最大解析度設定為 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1417"/>
+        <source>Your privacy is now safe</source>
+        <translation>您的隱私現在是安全的</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1432"/>
+        <source>Downloads complete</source>
+        <translation>下載完成</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="618"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>您現在可以貼上 YouTube 的連結到另一個應用程式中</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="626"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>現在,您可以貼上影片串流網址到其他應用中</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="627"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>這個連結將只在有限的時間內有效。</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="712"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>這僅僅是展示版的  %1。</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="713"/>
+        <source>It allows you to test the application and see if it works for you.</source>
+        <translation>它可以讓您測試應用程式,看它是否適合您。</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="743"/>
+        <source>Continue</source>
+        <translation>繼續</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="841"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>/</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="854"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation>部分</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="856"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation>集</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="937"/>
+        <source>Sent from %1</source>
+        <translation>從 %1 發送</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="968"/>
+        <source>Unsubscribe from %1</source>
+        <translation>取消訂閱 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="972"/>
+        <source>Subscribe to %1</source>
+        <translation>訂閱 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="720"/>
+        <source>Get the full version</source>
+        <translation>取得完整版</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="757"/>
+        <source>Downloading %1</source>
+        <translation>正在下載 %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>有新版本的 %1 可用</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 現在可用。您有 %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>您想現在就下載嗎?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>跳過此版本</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>稍候提醒我</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>安裝更新</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>貼上</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <source>%1 views</source>
+        <translation>瀏覽次數:%1 次</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="311"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 / %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
+        <source>Preparing</source>
+        <translation>準備</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
+        <source>Failed</source>
+        <translation>失敗</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
+        <source>Completed</source>
+        <translation>已完成</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="324"/>
+        <source>Stopped</source>
+        <translation>停止</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="360"/>
+        <source>Stop downloading</source>
+        <translation>停止下載</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
+        <source>Show in %1</source>
+        <translation>顯示在 %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="372"/>
+        <source>Open parent folder</source>
+        <translation>開啟檔案所在資料夾</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <source>Restart downloading</source>
+        <translation>重新啟動下載</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="72"/>
+        <source>Searching...</source>
+        <translation>搜尋中...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="73"/>
+        <source>Show %1 More</source>
+        <translation>顯示再多 %1個影片</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="74"/>
+        <source>No videos</source>
+        <translation>沒有影片</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="75"/>
+        <source>No more videos</source>
+        <translation>沒有更多的影片</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <source>Sort by</source>
+        <translation>排序根據</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <source>Relevance</source>
+        <translation>相關性</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <source>Date</source>
+        <translation>日期</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>View Count</source>
+        <translation>觀看次數</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>Rating</source>
+        <translation>評價</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <source>Anytime</source>
+        <translation>任何時間</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <source>Today</source>
+        <translation>今天</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>7 Days</source>
+        <translation>7天</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>30 Days</source>
+        <translation>30天</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <source>Duration</source>
+        <translation>長短</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="97"/>
+        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <source>All</source>
+        <translation>所有</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <source>Short</source>
+        <translation>短</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <source>Medium</source>
+        <translation>中</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Long</source>
+        <translation>長</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <source>Less than 4 minutes</source>
+        <translation>不到4分鐘</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>介於4和20分鐘</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>Longer than 20 minutes</source>
+        <translation>超過20分鐘</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <source>Quality</source>
+        <translation>品質</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <source>High Definition</source>
+        <translation>高畫質</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <source>720p or higher</source>
+        <translation>720p或更高</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <source>Done</source>
+        <translation>完成</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="39"/>
+        <source>Done</source>
+        <translation>完成</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>搜尋</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="88"/>
+        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
+        <translation>歡迎使用 &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="189"/>
+        <source>Get the full version</source>
+        <translation>取得完整版</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="108"/>
+        <source>Enter</source>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
+        <translation>輸入</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="113"/>
+        <source>a keyword</source>
+        <translation>一個關鍵字</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="114"/>
+        <source>a channel</source>
+        <translation>一個頻道</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="119"/>
+        <source>to start watching videos.</source>
+        <translation>以開始觀看影片。</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="143"/>
+        <source>Watch</source>
+        <translation>觀看</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="161"/>
+        <source>Recent keywords</source>
+        <translation>最近的關鍵字</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="174"/>
+        <source>Recent channels</source>
+        <translation>最近的頻道</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="39"/>
+        <location filename="src/sidebarheader.cpp" line="46"/>
+        <source>&amp;Back</source>
+        <translation>後退(&amp;B)</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="77"/>
+        <source>Forward to %1</source>
+        <translation>向前到 %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="90"/>
+        <source>Back to %1</source>
+        <translation>退後到 %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="68"/>
+        <source>Refine Search</source>
+        <translation>精確搜尋</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <source>Did you mean: %1</source>
+        <translation>您的意思是:%1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <source>Most Popular</source>
+        <translation>最熱門</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
+        <source>Most Shared</source>
+        <translation>分享最多</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="108"/>
+        <source>Most Discussed</source>
+        <translation>討論最多</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="109"/>
+        <source>Top Rated</source>
+        <translation>評分最高</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="110"/>
+        <source>All Time Popular</source>
+        <translation>總是受歡迎</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="281"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>無法為 %1 獲得影片串流</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="298"/>
+        <source>Network error: %1 for %2</source>
+        <translation>網路錯誤:%1 為了 %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Algeria</source>
+        <translation>阿爾及利亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Argentina</source>
+        <translation>阿根廷</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Australia</source>
+        <translation>澳大利亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Belgium</source>
+        <translation>比利時</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Brazil</source>
+        <translation>巴西</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Canada</source>
+        <translation>加拿大</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Chile</source>
+        <translation>智利</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Colombia</source>
+        <translation>哥倫比亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>Czech Republic</source>
+        <translation>捷克共和國</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Egypt</source>
+        <translation>埃及</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>France</source>
+        <translation>法國</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Germany</source>
+        <translation>德國</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Ghana</source>
+        <translation>加納</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Greece</source>
+        <translation>希臘</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Hong Kong</source>
+        <translation>香港</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Hungary</source>
+        <translation>匈牙利</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>India</source>
+        <translation>印度</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>Indonesia</source>
+        <translation>印尼</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Ireland</source>
+        <translation>愛爾蘭</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Israel</source>
+        <translation>以色列</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Italy</source>
+        <translation>意大利</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Japan</source>
+        <translation>日本</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Jordan</source>
+        <translation>約旦</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Kenya</source>
+        <translation>肯亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>Malaysia</source>
+        <translation>馬來西亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>Mexico</source>
+        <translation>墨西哥</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Morocco</source>
+        <translation>摩洛哥</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="55"/>
+        <source>Netherlands</source>
+        <translation>荷蘭</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="56"/>
+        <source>New Zealand</source>
+        <translation>紐西蘭</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="57"/>
+        <source>Nigeria</source>
+        <translation>奈及利亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="58"/>
+        <source>Peru</source>
+        <translation>秘魯</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="59"/>
+        <source>Philippines</source>
+        <translation>菲律賓</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="60"/>
+        <source>Poland</source>
+        <translation>波蘭</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="61"/>
+        <source>Russia</source>
+        <translation>俄羅斯</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="62"/>
+        <source>Saudi Arabia</source>
+        <translation>沙烏地阿拉伯</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="63"/>
+        <source>Singapore</source>
+        <translation>新加坡</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="64"/>
+        <source>South Africa</source>
+        <translation>南非</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="65"/>
+        <source>South Korea</source>
+        <translation>南韓</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="66"/>
+        <source>Spain</source>
+        <translation>西班牙</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="67"/>
+        <source>Sweden</source>
+        <translation>瑞典</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="68"/>
+        <source>Taiwan</source>
+        <translation>台灣</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="69"/>
+        <source>Tunisia</source>
+        <translation>突尼西亞</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="70"/>
+        <source>Turkey</source>
+        <translation>土耳其</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="71"/>
+        <source>Uganda</source>
+        <translation>烏干達</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="72"/>
+        <source>United Arab Emirates</source>
+        <translation>阿拉伯聯合大公國</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="73"/>
+        <source>United Kingdom</source>
+        <translation>英國</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="74"/>
+        <source>Yemen</source>
+        <translation>葉門</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="148"/>
+        <source>Worldwide</source>
+        <translation>全世界</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index 836142d9cf3713a39c61db1bc6e05b8250e1c95d..40fb16d4fbbf54ecd6ccf610b505806fa91068fb 100644 (file)
@@ -1,6 +1,6 @@
 CONFIG += release
 TEMPLATE = app
-VERSION = 2.0
+VERSION = 2.1.3
 DEFINES += APP_VERSION="$$VERSION"
 
 APP_NAME = Minitube
@@ -9,12 +9,12 @@ DEFINES += APP_NAME="$$APP_NAME"
 APP_UNIX_NAME = minitube
 DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME"
 
-DEFINES += QT_USE_FAST_CONCATENATION
-DEFINES += QT_USE_FAST_OPERATOR_PLUS
+DEFINES *= QT_NO_DEBUG_OUTPUT
+DEFINES *= QT_USE_QSTRINGBUILDER
 DEFINES += QT_STRICT_ITERATORS
 
 TARGET = minitube
-QT += network xml phonon
+QT += network xml phonon sql script
 include(src/qtsingleapplication/qtsingleapplication.pri)
 HEADERS += \
     src/video.h \
@@ -56,7 +56,6 @@ HEADERS += \
     src/mediaview.h \
     src/searchview.h \
     src/view.h \
-    src/userview.h \
     src/playlistmodel.h \
     src/videosource.h \
     src/ytsearch.h \
@@ -71,7 +70,18 @@ HEADERS += \
     src/ytsinglevideosource.h \
     src/sidebarheader.h \
     src/utils.h \
-    src/diskcache.h
+    src/diskcache.h \
+    src/gridwidget.h \
+    src/painterutils.h \
+    src/database.h \
+    src/ytuser.h \
+    src/channelaggregator.h \
+    src/channelmodel.h \
+    src/aggregatevideosource.h \
+    src/channelview.h \
+    src/channelitemdelegate.h \
+    src/jsfunctions.h \
+    src/seekslider.h
 SOURCES += src/main.cpp \
     src/searchlineedit.cpp \
     src/urllineedit.cpp \
@@ -108,7 +118,6 @@ SOURCES += src/main.cpp \
     src/mediaview.cpp \
     src/aboutview.cpp \
     src/searchview.cpp \
-    src/userview.cpp \
     src/playlistitemdelegate.cpp \
     src/playlistmodel.cpp \
     src/videosource.cpp \
@@ -124,7 +133,18 @@ SOURCES += src/main.cpp \
     src/ytsinglevideosource.cpp \
     src/sidebarheader.cpp \
     src/utils.cpp \
-    src/diskcache.cpp
+    src/diskcache.cpp \
+    src/gridwidget.cpp \
+    src/painterutils.cpp \
+    src/database.cpp \
+    src/ytuser.cpp \
+    src/channelaggregator.cpp \
+    src/channelmodel.cpp \
+    src/aggregatevideosource.cpp \
+    src/channelview.cpp \
+    src/channelitemdelegate.cpp \
+    src/jsfunctions.cpp \
+    src/seekslider.cpp
 RESOURCES += resources.qrc
 DESTDIR = build/target/
 OBJECTS_DIR = build/obj/
@@ -185,4 +205,4 @@ unix:!mac {
     icon512.path = $$DATADIR/icons/hicolor/512x512/apps
     icon512.files += data/512x512/minitube.png
 }
-mac|win32:include(local/local.pri)
+mac|win32|contains(DEFINES, APP_UBUNTU):include(local/local.pri)
index cf89be985a72482bd27aefddc035350ffb524f87..2f15768cf2ba22cf74e3bebc699987307302b10b 100644 (file)
         <file>flags/ye.png</file>
         <file>style.css</file>
         <file>images/worldwide.png</file>
+        <file>images/show-updated.png</file>
+        <file>images/sort.png</file>
+        <file>images/mark-watched.png</file>
+        <file>images/channels.png</file>
+        <file>images/unwatched.png</file>
+        <file>images/badge.png</file>
+        <file>images/badge3.png</file>
+        <file>images/badge4.png</file>
     </qresource>
 </RCC>
index ad39f92dba8814eb680972480281716534fc1937..e14492f1320ff11ecefa6720033d064d563a12a3 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SUGGESTER_H
 #define SUGGESTER_H
 
index 4ab0fb96cdda9bd9740acea394c9037bc4b23465..f173a385c1fbfbcff29dc4302ea76b9b96fa89b5 100644 (file)
@@ -1,6 +1,26 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "aboutview.h"
 #include "constants.h"
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 #ifdef APP_ACTIVATION
@@ -38,7 +58,7 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) {
         info += "<p>" + tr("Licensed to: %1").arg("<b>" + Activation::instance().getEmail() + "</b>");
 #endif
 
-#ifdef Q_WS_X11
+#ifndef APP_EXTRA
     info += "<p>" +  tr("%1 is Free Software but its development takes precious time.").arg(Constants::NAME) + "<br/>"
             + tr("Please <a href='%1'>donate</a> to support the continued development of %2.")
             .arg(QString(Constants::WEBSITE).append("#donate"), Constants::NAME) + "</p>";
@@ -65,7 +85,7 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) {
             + tr("Icon designed by %1.").arg("<a href='http://www.kolorguild.com/'>David Nel</a>")
             + "</p>"
 
-        #ifdef Q_WS_X11
+        #ifndef APP_EXTRA
             "<p>" + tr("Released under the <a href='%1'>GNU General Public License</a>")
             .arg("http://www.gnu.org/licenses/gpl.html") + "</p>"
         #endif
@@ -81,10 +101,9 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) {
     buttonLayout->setSpacing(0);
     buttonLayout->setAlignment(Qt::AlignLeft);
 
-    QPushButton *closeButton = new QPushButton(tr("&Close"), this);
+    closeButton = new QPushButton(tr("&Close"));
     closeButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
     closeButton->setDefault(true);
-    closeButton->setFocus(Qt::OtherFocusReason);
     connect(closeButton, SIGNAL(clicked()), parent, SLOT(goBack()));
     buttonLayout->addWidget(closeButton);
 
@@ -111,4 +130,5 @@ void AboutView::appear() {
     mac::CheckForUpdates();
 #endif
 #endif
+    closeButton->setFocus();
 }
index 912c63c4e9c79f43030cec4d4afd8805dd7822c2..14c0bd12c3051f2896e3682d33743171e51da0b8 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef ABOUTVIEW_H
 #define ABOUTVIEW_H
 
@@ -24,5 +44,8 @@ public:
 protected:
     void paintEvent(QPaintEvent *);
 
+private:
+    QPushButton *closeButton;
+
 };
 #endif
diff --git a/src/aggregatevideosource.cpp b/src/aggregatevideosource.cpp
new file mode 100644 (file)
index 0000000..55e72dc
--- /dev/null
@@ -0,0 +1,79 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "aggregatevideosource.h"
+#include "video.h"
+#include "database.h"
+#include <QtSql>
+
+AggregateVideoSource::AggregateVideoSource(QObject *parent) :
+    VideoSource(parent),
+    unwatched(false) { }
+
+void AggregateVideoSource::loadVideos(int max, int skip) {
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    QString sql = "select v.video_id,"
+            "v.published,"
+            "v.title,"
+            "v.author,"
+            "v.user_id,"
+            "v.description,"
+            "v.url,"
+            "v.thumb_url,"
+            "v.views,"
+            "v.duration";
+    if (unwatched)
+        sql += " from subscriptions_videos v, subscriptions s where v.channel_id=s.id "
+                "and v.added>s.watched and v.published>s.watched and v.watched=0 "
+                "order by v.published desc ";
+    else
+        sql += " from subscriptions_videos v order by published desc ";
+    sql += "limit ?,?";
+    query.prepare(sql);
+    query.bindValue(0, skip - 1);
+    query.bindValue(1, max);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    QList<Video*> videos;
+    while (query.next()) {
+        Video *video = new Video();
+        video->setId(query.value(0).toString());
+        video->setPublished(QDateTime::fromTime_t(query.value(1).toUInt()));
+        video->setTitle(query.value(2).toString());
+        video->setAuthor(query.value(3).toString());
+        video->setUserId(query.value(4).toString());
+        video->setDescription(query.value(5).toString());
+        video->setWebpage(query.value(6).toString());
+        video->setThumbnailUrl(query.value(7).toString());
+        video->setViewCount(query.value(8).toInt());
+        video->setDuration(query.value(9).toInt());
+        videos << video;
+    }
+    emit gotVideos(videos);
+    emit finished(videos.size());
+}
+
+const QStringList & AggregateVideoSource::getSuggestions() {
+    QStringList *l = new QStringList();
+    return *l;
+}
+
+void AggregateVideoSource::abort() { }
diff --git a/src/aggregatevideosource.h b/src/aggregatevideosource.h
new file mode 100644 (file)
index 0000000..49de4a0
--- /dev/null
@@ -0,0 +1,46 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef AGGREGATEVIDEOSOURCE_H
+#define AGGREGATEVIDEOSOURCE_H
+
+#include <QtCore>
+#include "videosource.h"
+
+class AggregateVideoSource : public VideoSource {
+
+    Q_OBJECT
+
+public:
+    AggregateVideoSource(QObject *parent = 0);
+    void loadVideos(int max, int skip);
+    virtual void abort();
+    virtual const QStringList & getSuggestions();
+    QString getName() { return name; }
+    void setName(QString name) { this->name = name; }
+    void setUnwatched(bool enable) { unwatched = enable; }
+
+private:
+    QString name;
+    bool unwatched;
+
+};
+
+#endif // AGGREGATEVIDEOSOURCE_H
index ac09e9c5510b90bd08a4b4e2491b61982bb5b4ea..f91540892d972d5266c323821b4c555f080fbb3b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "autocomplete.h"
 #include "suggester.h"
 #ifdef APP_MAC
index 0f0e267c3f0b3276e49e27ffe1037b91d4af01f4..17a59530bf82c76d7678b6ed24705176b72360b0 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SUGGESTCOMPLETION_H
 #define SUGGESTCOMPLETION_H
 
diff --git a/src/channelaggregator.cpp b/src/channelaggregator.cpp
new file mode 100644 (file)
index 0000000..f27f23e
--- /dev/null
@@ -0,0 +1,279 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "channelaggregator.h"
+#include "ytuser.h"
+#include "ytsearch.h"
+#include "searchparams.h"
+#include "database.h"
+#include "video.h"
+#ifdef APP_MAC
+#include "macutils.h"
+#endif
+
+ChannelAggregator::ChannelAggregator(QObject *parent) : QObject(parent),
+    unwatchedCount(-1),
+    running(false),
+    stopped(false) {
+    QSettings settings;
+    checkInterval = settings.value("subscriptionsCheckInterval", 1800).toUInt();
+
+    timer = new QTimer(this);
+    timer->setInterval(60000 * 5);
+    connect(timer, SIGNAL(timeout()), SLOT(run()));
+}
+
+ChannelAggregator* ChannelAggregator::instance() {
+    static ChannelAggregator* i = new ChannelAggregator();
+    return i;
+}
+
+void ChannelAggregator::start() {
+    updateUnwatchedCount();
+    QTimer::singleShot(0, this, SLOT(run()));
+    timer->start();
+}
+
+void ChannelAggregator::stop() {
+    timer->stop();
+    stopped = true;
+}
+
+YTUser* ChannelAggregator::getChannelToCheck() {
+    if (stopped) return 0;
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("select user_id from subscriptions where checked<? "
+                  "order by checked limit 1");
+    query.bindValue(0, QDateTime::currentDateTime().toTime_t() - checkInterval);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (query.next())
+        return YTUser::forId(query.value(0).toString());
+    return 0;
+}
+
+void ChannelAggregator::run() {
+    if (running) return;
+    if (stopped) return;
+    if (!Database::exists()) return;
+    running = true;
+    newVideoCount = 0;
+    updatedChannels.clear();
+    if (!Database::instance().getConnection().transaction())
+        qWarning() << "Transaction failed" << __PRETTY_FUNCTION__;
+    processNextChannel();
+}
+
+void ChannelAggregator::processNextChannel() {
+    if (stopped) return;
+    qApp->processEvents();
+    YTUser* user = getChannelToCheck();
+    if (user) {
+        SearchParams *params = new SearchParams();
+        params->setAuthor(user->getUserId());
+        params->setSortBy(SearchParams::SortByNewest);
+        params->setTransient(true);
+        YTSearch *videoSource = new YTSearch(params, this);
+        connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
+                SLOT(videosLoaded(QList<Video*>)));
+        videoSource->loadVideos(10, 1);
+        user->updateChecked();
+    } else finish();
+}
+
+void ChannelAggregator::finish() {
+    foreach (YTUser *user, updatedChannels)
+        if (user->updateNotifyCount())
+            emit channelChanged(user);
+
+    updateUnwatchedCount();
+
+    QSqlDatabase db = Database::instance().getConnection();
+    if (!db.commit())
+        qWarning() << "Commit failed" << __PRETTY_FUNCTION__;
+    /*
+    QByteArray b = db.databaseName().right(20).toLocal8Bit();
+    const char* s = b.constData();
+    const int l = strlen(s);
+    int t = 1;
+    for (int i = 0; i < l; i++)
+        t += t % 2 ? s[i] / l : s[i] / t;
+    if (t != s[0]) return;
+    */
+
+#ifdef Q_WS_MAC
+    if (newVideoCount > 0 && unwatchedCount > 0 && mac::canNotify()) {
+        QString channelNames;
+        const int total = updatedChannels.size();
+        for (int i = 0; i < total; ++i) {
+            YTUser *user = updatedChannels.at(i);
+            channelNames += user->getDisplayName();
+            if (i < total-1) channelNames.append(", ");
+        }
+        channelNames = tr("By %1").arg(channelNames);
+        int actualNewVideoCount = qMin(newVideoCount, unwatchedCount);
+        mac::notify(tr("You have %n new video(s)", "", actualNewVideoCount),
+                    channelNames, QString());
+    }
+#endif
+
+    running = false;
+}
+
+void ChannelAggregator::videosLoaded(QList<Video *> videos) {
+    sender()->deleteLater();
+    foreach (Video* video, videos) {
+        qApp->processEvents();
+        addVideo(video);
+        video->deleteLater();
+    }
+    processNextChannel();
+}
+
+void ChannelAggregator::updateUnwatchedCount() {
+    if (!Database::exists()) return;
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("select sum(notify_count) from subscriptions");
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (!query.next()) return;
+    int newUnwatchedCount = query.value(0).toInt();
+    if (newUnwatchedCount != unwatchedCount) {
+        unwatchedCount = newUnwatchedCount;
+        emit unwatchedCountChanged(unwatchedCount);
+    }
+}
+
+void ChannelAggregator::addVideo(Video *video) {
+    QSqlDatabase db = Database::instance().getConnection();
+
+    QSqlQuery query(db);
+    query.prepare("select count(*) from subscriptions_videos where video_id=?");
+    query.bindValue(0, video->id());
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (!query.next()) return;
+    int count = query.value(0).toInt();
+    if (count > 0) return;
+
+    // qDebug() << "Inserting" << video->author() << video->title();
+
+    QString userId = video->userId();
+    YTUser *user = YTUser::forId(userId);
+    if (!updatedChannels.contains(user))
+        updatedChannels << user;
+    int channelId = user->getId();
+
+    uint now = QDateTime::currentDateTime().toTime_t();
+    uint published = video->published().toTime_t();
+    if (published > now) {
+        qDebug() << "fixing publish time";
+        published = now;
+    }
+
+    query = QSqlQuery(db);
+    query.prepare("insert into subscriptions_videos "
+                  "(video_id,channel_id,published,added,watched,"
+                  "title,author,user_id,description,url,thumb_url,views,duration) "
+                  "values (?,?,?,?,?,?,?,?,?,?,?,?,?)");
+    query.bindValue(0, video->id());
+    query.bindValue(1, channelId);
+    query.bindValue(2, published);
+    query.bindValue(3, now);
+    query.bindValue(4, 0);
+    query.bindValue(5, video->title());
+    query.bindValue(6, video->author());
+    query.bindValue(7, video->userId());
+    query.bindValue(8, video->description());
+    query.bindValue(9, video->webpage());
+    query.bindValue(10, video->thumbnailUrl());
+    query.bindValue(11, video->viewCount());
+    query.bindValue(12, video->duration());
+    success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+
+    newVideoCount++;
+
+    query = QSqlQuery(db);
+    query.prepare("update subscriptions set updated=? where user_id=?");
+    query.bindValue(0, published);
+    query.bindValue(1, userId);
+    success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+}
+
+void ChannelAggregator::markAllAsWatched() {
+    uint now = QDateTime::currentDateTime().toTime_t();
+
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("update subscriptions set watched=?, notify_count=0");
+    query.bindValue(0, now);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    unwatchedCount = 0;
+
+    foreach (YTUser *user, YTUser::getCachedUsers()) {
+        user->setWatched(now);
+        user->setNotifyCount(0);
+    }
+
+    emit unwatchedCountChanged(0);
+}
+
+void ChannelAggregator::videoWatched(Video *video) {
+    if (!Database::exists()) return;
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("update subscriptions_videos set watched=? where video_id=?");
+    query.bindValue(0, QDateTime::currentDateTime().toTime_t());
+    query.bindValue(1, video->id());
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (query.numRowsAffected() > 0) {
+        YTUser *user = YTUser::forId(video->userId());
+        user->updateNotifyCount();
+    }
+}
+
+void ChannelAggregator::cleanup() {
+    static const int maxVideos = 1000;
+    static const int maxDeletions = 1000;
+    if (!Database::exists()) return;
+    QSqlDatabase db = Database::instance().getConnection();
+
+    QSqlQuery query(db);
+    bool success = query.exec("select count(*) from subscriptions_videos");
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (!query.next()) return;
+    int count = query.value(0).toInt();
+    if (count <= maxVideos) return;
+
+    query = QSqlQuery(db);
+    query.prepare("delete from subscriptions_videos where id in "
+                  "(select id from subscriptions_videos "
+                  "order by published desc limit ?,?)");
+    query.bindValue(0, maxVideos);
+    query.bindValue(1, maxDeletions);
+    success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+}
diff --git a/src/channelaggregator.h b/src/channelaggregator.h
new file mode 100644 (file)
index 0000000..966fa70
--- /dev/null
@@ -0,0 +1,71 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef CHANNELAGGREGATOR_H
+#define CHANNELAGGREGATOR_H
+
+#include <QtCore>
+
+class YTUser;
+class Video;
+
+class ChannelAggregator : public QObject {
+
+    Q_OBJECT
+
+public:
+    static ChannelAggregator* instance();
+    int getUnwatchedCount() { return unwatchedCount; }
+    void markAllAsWatched();
+    void videoWatched(Video *video);
+    void cleanup();
+
+public slots:
+    void start();
+    void stop();
+    void run();
+
+signals:
+    void channelChanged(YTUser*);
+    void unwatchedCountChanged(int count);
+
+private slots:
+    void videosLoaded(QList<Video*> videos);
+
+private:
+    ChannelAggregator(QObject *parent = 0);
+    YTUser* getChannelToCheck();
+    void processNextChannel();
+    void addVideo(Video* video);
+    void updateUnwatchedCount();
+    void finish();
+
+    uint checkInterval;
+    int unwatchedCount;
+    bool running;
+
+    int newVideoCount;
+    QList<YTUser*> updatedChannels;
+
+    QTimer *timer;
+    bool stopped;
+};
+
+#endif // CHANNELAGGREGATOR_H
diff --git a/src/channelitemdelegate.cpp b/src/channelitemdelegate.cpp
new file mode 100644 (file)
index 0000000..b06e861
--- /dev/null
@@ -0,0 +1,167 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "channelitemdelegate.h"
+#include "channelmodel.h"
+#include "ytuser.h"
+#include "fontutils.h"
+#include "channelaggregator.h"
+#include "painterutils.h"
+
+static const int ITEM_WIDTH = 128;
+static const int ITEM_HEIGHT = 128;
+static const int THUMB_WIDTH = 88;
+static const int THUMB_HEIGHT = 88;
+
+ChannelItemDelegate::ChannelItemDelegate(QObject *parent) : QStyledItemDelegate(parent) {
+
+}
+
+QSize ChannelItemDelegate::sizeHint(const QStyleOptionViewItem& /*option*/,
+                                     const QModelIndex& /*index*/ ) const {
+    return QSize(ITEM_WIDTH, ITEM_HEIGHT);
+}
+
+void ChannelItemDelegate::paint( QPainter* painter,
+                                  const QStyleOptionViewItem& option,
+                                  const QModelIndex& index ) const {
+    const int itemType = index.data(ChannelModel::ItemTypeRole).toInt();
+    if (itemType == ChannelModel::ItemChannel)
+        paintChannel(painter, option, index);
+    else if (itemType == ChannelModel::ItemAggregate)
+        paintAggregate(painter, option, index);
+    else if (itemType == ChannelModel::ItemUnwatched)
+        paintUnwatched(painter, option, index);
+    else
+        QStyledItemDelegate::paint(painter, option, index);
+}
+
+void ChannelItemDelegate::paintAggregate(QPainter* painter,
+                                          const QStyleOptionViewItem& option,
+                                          const QModelIndex& index) const {
+    painter->save();
+
+    painter->translate(option.rect.topLeft());
+    const QRect line(0, 0, option.rect.width(), option.rect.height());
+
+    static const QPixmap thumbnail = QPixmap(":/images/channels.png");
+
+    QString name = tr("All Videos");
+
+    drawItem(painter, line, thumbnail, name);
+
+    painter->restore();
+}
+
+void ChannelItemDelegate::paintUnwatched(QPainter* painter,
+                                          const QStyleOptionViewItem& option,
+                                          const QModelIndex& index) const {
+    painter->save();
+
+    painter->translate(option.rect.topLeft());
+    const QRect line(0, 0, option.rect.width(), option.rect.height());
+
+    static const QPixmap thumbnail = QPixmap(":/images/unwatched.png");
+
+    QString name = tr("Unwatched Videos");
+
+    drawItem(painter, line, thumbnail, name);
+
+    int notifyCount = ChannelAggregator::instance()->getUnwatchedCount();
+    QString notifyText = QString::number(notifyCount);
+    if (notifyCount > 0) paintBadge(painter, line, notifyText);
+
+    painter->restore();
+}
+
+void ChannelItemDelegate::paintChannel(QPainter* painter,
+                                        const QStyleOptionViewItem& option,
+                                        const QModelIndex& index) const {
+    const QVariant dataObject = index.data(ChannelModel::DataObjectRole);
+    const YTUserPointer channelPointer = dataObject.value<YTUserPointer>();
+    YTUser *user = channelPointer.data();
+    if (!user) return;
+
+    painter->save();
+
+    painter->translate(option.rect.topLeft());
+    const QRect line(0, 0, option.rect.width(), option.rect.height());
+
+    // const bool isActive = index.data( ActiveItemRole ).toBool();
+    // const bool isHovered = index.data(ChannelsModel::HoveredItemRole ).toBool();
+    // const bool isSelected = option.state & QStyle::State_Selected;
+
+    QPixmap thumbnail = user->getThumbnail();
+    if (thumbnail.isNull()) {
+        user->loadThumbnail();
+        painter->restore();
+        return;
+    }
+
+    QString name = user->getDisplayName();
+    drawItem(painter, line, thumbnail, name);
+
+    int notifyCount = user->getNotifyCount();
+    if (notifyCount > 0)
+        paintBadge(painter, line, QString::number(notifyCount));
+
+    painter->restore();
+}
+
+void ChannelItemDelegate::drawItem(QPainter *painter,
+                                    const QRect &line,
+                                    const QPixmap &thumbnail,
+                                    const QString &name) const {
+    painter->drawPixmap((line.width() - THUMB_WIDTH) / 2, 8, thumbnail);
+
+    QRect nameBox = line;
+    nameBox.adjust(0, 0, 0, -THUMB_HEIGHT - 16);
+    nameBox.translate(0, line.height() - nameBox.height());
+    bool tooBig = false;
+
+    QRect textBox = painter->boundingRect(nameBox,
+                                          Qt::AlignTop | Qt::AlignHCenter | Qt::TextWordWrap,
+                                          name);
+    if (textBox.height() > nameBox.height() || textBox.width() > nameBox.width()) {
+        painter->setFont(FontUtils::small());
+        textBox = painter->boundingRect(nameBox,
+                                        Qt::AlignTop | Qt::AlignHCenter | Qt::TextWordWrap,
+                                        name);
+        if (textBox.height() > nameBox.height()) {
+            painter->setClipRect(nameBox);
+            tooBig = true;
+        }
+    }
+    if (tooBig)
+        painter->drawText(nameBox, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, name);
+    else
+        painter->drawText(textBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+}
+
+void ChannelItemDelegate::paintBadge(QPainter *painter,
+                                              const QRect &line,
+                                              const QString &text) const {
+    const int topLeft = (line.width() + THUMB_WIDTH) / 2;
+    painter->save();
+    painter->translate(topLeft, 0);
+    painter->setClipping(false);
+    PainterUtils::paintBadge(painter, text, true);
+    painter->restore();
+}
diff --git a/src/channelitemdelegate.h b/src/channelitemdelegate.h
new file mode 100644 (file)
index 0000000..6e5543a
--- /dev/null
@@ -0,0 +1,45 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef CHANNELITEMDELEGATE_H
+#define CHANNELITEMDELEGATE_H
+
+#include <QtGui>
+
+class ChannelItemDelegate : public QStyledItemDelegate {
+
+    Q_OBJECT
+
+public:
+    ChannelItemDelegate(QObject* parent = 0);
+    QSize sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const;
+    void paint(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const;
+
+private:
+    void paintChannel(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const;
+    void paintAggregate(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const;
+    void paintUnwatched(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const;
+    void paintBadge(QPainter *painter, const QRect &line, const QString &text) const;
+    void drawItem(QPainter *painter, const QRect &line,
+                  const QPixmap &thumbnail, const QString &name) const;
+
+};
+
+#endif // CHANNELITEMDELEGATE_H
diff --git a/src/channelmodel.cpp b/src/channelmodel.cpp
new file mode 100644 (file)
index 0000000..2aa6c43
--- /dev/null
@@ -0,0 +1,129 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "channelmodel.h"
+#include "ytuser.h"
+
+static const int channelOffset = 2;
+
+ChannelModel::ChannelModel(QObject *parent) :
+    QAbstractListModel(parent),
+    hoveredRow(-1) { }
+
+
+int ChannelModel::rowCount(const QModelIndex &) const {
+    return channels.isEmpty() ? 0 : channelOffset + channels.size();
+}
+
+QVariant ChannelModel::data(const QModelIndex &index, int role) const {
+    switch (role) {
+
+    case ChannelModel::ItemTypeRole:
+        return typeForIndex(index);
+
+    case ChannelModel::DataObjectRole:
+        if (typeForIndex(index) == ChannelModel::ItemChannel)
+            return QVariant::fromValue(QPointer<YTUser>(userForIndex(index)));
+        break;
+
+    case ChannelModel::HoveredItemRole:
+        return hoveredRow == index.row();
+
+    case Qt::StatusTipRole:
+        if (typeForIndex(index) == ChannelModel::ItemChannel)
+            return userForIndex(index)->getDescription();
+
+    }
+
+    return QVariant();
+}
+
+YTUser* ChannelModel::userForIndex(const QModelIndex &index) const {
+    return channels.at(index.row() - channelOffset);
+}
+
+ChannelModel::ItemTypes ChannelModel::typeForIndex(const QModelIndex &index) const {
+    switch (index.row()) {
+    case 0:
+        return ChannelModel::ItemAggregate;
+    case 1:
+        return ChannelModel::ItemUnwatched;
+    default:
+        return ChannelModel::ItemChannel;
+    }
+}
+
+void ChannelModel::setQuery(const QString &query, const QSqlDatabase &db) {
+    channels.clear();
+    sqlError = QSqlError();
+
+    QSqlQuery q(db);
+    q.prepare(query);
+    bool success = q.exec();
+    if (!success) {
+        qWarning() << q.lastQuery() << q.lastError().text();
+        sqlError = q.lastError();
+    }
+    while (q.next()) {
+        YTUser *user = YTUser::forId(q.value(0).toString());
+        connect(user, SIGNAL(thumbnailLoaded()), SLOT(updateSender()), Qt::UniqueConnection);
+        channels << user;
+    }
+
+    reset();
+}
+
+QSqlError ChannelModel::lastError() const {
+    return sqlError;
+}
+
+void ChannelModel::updateSender() {
+    YTUser *user = static_cast<YTUser*>(sender());
+    if (!user) {
+        qWarning() << "Cannot get sender" << __PRETTY_FUNCTION__;
+        return;
+    }
+    updateChannel(user);
+}
+
+void ChannelModel::updateChannel(YTUser *user) {
+    int row = channels.indexOf(user);
+    if (row == -1) return;
+    row += channelOffset;
+    QModelIndex i = createIndex(row, 0);
+    emit dataChanged(i, i);
+}
+
+void ChannelModel::updateUnwatched() {
+    QModelIndex i = createIndex(1, 0);
+    emit dataChanged(i, i);
+}
+
+void ChannelModel::setHoveredRow(int row) {
+    int oldRow = hoveredRow;
+    hoveredRow = row;
+    emit dataChanged( createIndex( oldRow, 0 ), createIndex( oldRow, 0 ) );
+    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, 0 ) );
+}
+
+void ChannelModel::clearHover() {
+    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, 0 ) );
+    hoveredRow = -1;
+}
diff --git a/src/channelmodel.h b/src/channelmodel.h
new file mode 100644 (file)
index 0000000..3d89d4d
--- /dev/null
@@ -0,0 +1,70 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef CHANNELMODEL_H
+#define CHANNELMODEL_H
+
+#include <QtCore>
+#include <QtSql>
+
+class YTUser;
+
+class ChannelModel : public QAbstractListModel {
+
+    Q_OBJECT
+
+public:
+    ChannelModel(QObject *parent = 0);
+
+    enum DataRoles {
+        ItemTypeRole = Qt::UserRole,
+        DataObjectRole,
+        HoveredItemRole
+    };
+
+    enum ItemTypes {
+        ItemChannel = 1,
+        ItemAggregate,
+        ItemUnwatched
+    };
+
+    void setQuery(const QString &query, const QSqlDatabase &db);
+    QSqlError lastError() const;
+    ItemTypes typeForIndex(const QModelIndex &index) const;
+    YTUser* userForIndex(const QModelIndex &index) const;
+    void setHoveredRow(int row);
+
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    QVariant data(const QModelIndex &index, int role) const;
+
+public slots:
+    void clearHover();
+    void updateSender();
+    void updateChannel(YTUser *user);
+    void updateUnwatched();
+
+private:
+    QList<YTUser*> channels;
+    int hoveredRow;
+    QSqlError sqlError;
+
+};
+
+#endif // CHANNELMODEL_H
index 757c5348e5ddc23f4589f589a2e737c9340a5140..6d0d1ff265ba3afa311f33e66f1f8b0c1b20985b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "channelsuggest.h"
 #include "networkaccess.h"
 
index 85cbef993b255ccbe7018cbfe7daf94ccc515bcc..c4bdec9a53e1f9a97e4a5e84022af1e1ba61fa01 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef CHANNELSUGGEST_H
 #define CHANNELSUGGEST_H
 
diff --git a/src/channelview.cpp b/src/channelview.cpp
new file mode 100644 (file)
index 0000000..eba0591
--- /dev/null
@@ -0,0 +1,301 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "channelview.h"
+#include "ytuser.h"
+#include "ytsearch.h"
+#include "searchparams.h"
+#include "channelmodel.h"
+#include "channelitemdelegate.h"
+#include "database.h"
+#include "ytsearch.h"
+#include "channelaggregator.h"
+#include "aggregatevideosource.h"
+#include "painterutils.h"
+#include "mainwindow.h"
+#include "utils.h"
+#ifdef APP_EXTRA
+#include "extra.h"
+#endif
+
+static const char *sortByKey = "subscriptionsSortBy";
+static const char *showUpdatedKey = "subscriptionsShowUpdated";
+
+ChannelView::ChannelView(QWidget *parent) : QListView(parent),
+    showUpdated(false),
+    sortBy(SortByName) {
+
+    setItemDelegate(new ChannelItemDelegate(this));
+    setSelectionMode(QAbstractItemView::NoSelection);
+
+    // layout
+    setSpacing(15);
+    setFlow(QListView::LeftToRight);
+    setWrapping(true);
+    setResizeMode(QListView::Adjust);
+    setMovement(QListView::Static);
+    setUniformItemSizes(true);
+
+    // cosmetics
+    setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
+    setFrameShape(QFrame::NoFrame);
+    setAttribute(Qt::WA_MacShowFocusRect, false);
+
+    QPalette p = palette();
+    /*
+    p.setColor(QPalette::Base, p.window().color());
+    p.setColor(QPalette::Text, p.windowText().color());
+    */
+    p.setColor(QPalette::Disabled, QPalette::Base, p.base().color());
+    p.setColor(QPalette::Disabled, QPalette::Text, p.text().color());
+    setPalette(p);
+
+    verticalScrollBar()->setPageStep(3);
+    verticalScrollBar()->setSingleStep(1);
+
+    setMouseTracking(true);
+
+    connect(this, SIGNAL(clicked(const QModelIndex &)),
+            SLOT(itemActivated(const QModelIndex &)));
+    connect(this, SIGNAL(entered(const QModelIndex &)),
+            SLOT(itemEntered(const QModelIndex &)));
+
+    channelsModel = new ChannelModel(this);
+    setModel(channelsModel);
+    connect(this, SIGNAL(viewportEntered()),
+            channelsModel, SLOT(clearHover()));
+
+    setupActions();
+
+    connect(ChannelAggregator::instance(), SIGNAL(channelChanged(YTUser*)),
+            channelsModel, SLOT(updateChannel(YTUser*)));
+    connect(ChannelAggregator::instance(), SIGNAL(unwatchedCountChanged(int)),
+            SLOT(unwatchedCountChanged(int)));
+
+    unwatchedCountChanged(ChannelAggregator::instance()->getUnwatchedCount());
+}
+
+void ChannelView::setupActions() {
+    QSettings settings;
+
+    markAsWatchedAction = new QAction(
+                Utils::icon("mark-watched"), tr("Mark all as watched"), this);
+    markAsWatchedAction->setEnabled(false);
+    markAsWatchedAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_W));
+    connect(markAsWatchedAction, SIGNAL(triggered()), SLOT(markAllAsWatched()));
+    statusActions << markAsWatchedAction;
+
+    showUpdated = settings.value(showUpdatedKey, false).toBool();
+    QAction *showUpdatedAction = new QAction(
+                Utils::icon("show-updated"), tr("Show Updated"), this);
+    showUpdatedAction->setCheckable(true);
+    showUpdatedAction->setChecked(showUpdated);
+    showUpdatedAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_U));
+    connect(showUpdatedAction, SIGNAL(toggled(bool)), SLOT(toggleShowUpdated(bool)));
+    statusActions << showUpdatedAction;
+
+    SortBy sortBy = static_cast<SortBy>(settings.value(sortByKey, SortByName).toInt());
+
+    QMenu *sortMenu = new QMenu(this);
+    QActionGroup *sortGroup = new QActionGroup(this);
+
+    QAction *sortByNameAction = new QAction(tr("Name"), this);
+    sortByNameAction->setActionGroup(sortGroup);
+    sortByNameAction->setCheckable(true);
+    if (sortBy == SortByName) sortByNameAction->setChecked(true);
+    connect(sortByNameAction, SIGNAL(triggered()), SLOT(setSortByName()));
+    sortMenu->addAction(sortByNameAction);
+
+    QAction *sortByUpdatedAction = new QAction(tr("Last Updated"), this);
+    sortByUpdatedAction->setActionGroup(sortGroup);
+    sortByUpdatedAction->setCheckable(true);
+    if (sortBy == SortByUpdated) sortByUpdatedAction->setChecked(true);
+    connect(sortByUpdatedAction, SIGNAL(triggered()), SLOT(setSortByUpdated()));
+    sortMenu->addAction(sortByUpdatedAction);
+
+    QAction *sortByAddedAction = new QAction(tr("Last Added"), this);
+    sortByAddedAction->setActionGroup(sortGroup);
+    sortByAddedAction->setCheckable(true);
+    if (sortBy == SortByAdded) sortByAddedAction->setChecked(true);
+    connect(sortByAddedAction, SIGNAL(triggered()), SLOT(setSortByAdded()));
+    sortMenu->addAction(sortByAddedAction);
+
+    QAction *sortByLastWatched = new QAction(tr("Last Watched"), this);
+    sortByLastWatched->setActionGroup(sortGroup);
+    sortByLastWatched->setCheckable(true);
+    if (sortBy == SortByLastWatched) sortByLastWatched->setChecked(true);
+    connect(sortByLastWatched, SIGNAL(triggered()), SLOT(setSortByLastWatched()));
+    sortMenu->addAction(sortByLastWatched);
+
+    QAction *sortByMostWatched = new QAction(tr("Most Watched"), this);
+    sortByMostWatched->setActionGroup(sortGroup);
+    sortByMostWatched->setCheckable(true);
+    if (sortBy == SortByMostWatched) sortByMostWatched->setChecked(true);
+    connect(sortByMostWatched, SIGNAL(triggered()), SLOT(setSortByMostWatched()));
+    sortMenu->addAction(sortByMostWatched);
+
+    QToolButton *sortButton = new QToolButton(this);
+    sortButton->setText(tr("Sort by"));
+    sortButton->setIcon(Utils::icon("sort"));
+    sortButton->setIconSize(QSize(16, 16));
+    sortButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+    sortButton->setPopupMode(QToolButton::InstantPopup);
+    sortButton->setMenu(sortMenu);
+    QWidgetAction *widgetAction = new QWidgetAction(this);
+    widgetAction->setDefaultWidget(sortButton);
+    widgetAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_O));
+    statusActions << widgetAction;
+
+    foreach (QAction *action, statusActions) {
+        window()->addAction(action);
+        Utils::setupAction(action);
+    }
+}
+
+void ChannelView::appear() {
+    updateQuery();
+    foreach (QAction* action, statusActions)
+        MainWindow::instance()->showActionInStatusBar(action, true);
+    setFocus();
+    ChannelAggregator::instance()->run();
+}
+
+void ChannelView::disappear() {
+    foreach (QAction* action, statusActions)
+        MainWindow::instance()->showActionInStatusBar(action, false);
+}
+
+void ChannelView::mouseMoveEvent(QMouseEvent *event) {
+    QListView::mouseMoveEvent(event);
+    const QModelIndex index = indexAt(event->pos());
+    if (index.isValid()) setCursor(Qt::PointingHandCursor);
+    else unsetCursor();
+}
+
+void ChannelView::leaveEvent(QEvent *event) {
+    QListView::leaveEvent(event);
+    // channelsModel->clearHover();
+}
+
+void ChannelView::itemEntered(const QModelIndex &index) {
+    // channelsModel->setHoveredRow(index.row());
+}
+
+void ChannelView::itemActivated(const QModelIndex &index) {
+    ChannelModel::ItemTypes itemType = channelsModel->typeForIndex(index);
+    if (itemType == ChannelModel::ItemChannel) {
+        YTUser *user = channelsModel->userForIndex(index);
+        SearchParams *params = new SearchParams();
+        params->setAuthor(user->getUserId());
+        params->setSortBy(SearchParams::SortByNewest);
+        params->setTransient(true);
+        YTSearch *videoSource = new YTSearch(params, this);
+        emit activated(videoSource);
+        user->updateWatched();
+    } else if (itemType == ChannelModel::ItemAggregate) {
+        AggregateVideoSource *videoSource = new AggregateVideoSource(this);
+        videoSource->setName(tr("All Videos"));
+        emit activated(videoSource);
+    } else if (itemType == ChannelModel::ItemUnwatched) {
+        AggregateVideoSource *videoSource = new AggregateVideoSource(this);
+        videoSource->setName(tr("Unwatched Videos"));
+        videoSource->setUnwatched(true);
+        emit activated(videoSource);
+    }
+}
+
+void ChannelView::paintEvent(QPaintEvent *event) {
+    if (model()->rowCount() < 3) {
+        QString msg;
+        if (!errorMessage.isEmpty())
+            msg = errorMessage;
+        else if (showUpdated)
+            msg = tr("There are no updated subscriptions at this time.");
+        else
+            msg = tr("You have no subscriptions. "
+                     "Use the star symbol to subscribe to channels.");
+        PainterUtils::centeredMessage(msg, viewport());
+    } else QListView::paintEvent(event);
+    PainterUtils::topShadow(viewport());
+}
+
+void ChannelView::toggleShowUpdated(bool enable) {
+    showUpdated = enable;
+    updateQuery(true);
+    QSettings settings;
+    settings.setValue(showUpdatedKey, showUpdated);
+}
+
+void ChannelView::updateQuery(bool transition) {
+    errorMessage.clear();
+    if (!Database::exists()) return;
+
+    QString sql = "select user_id from subscriptions";
+    if (showUpdated)
+        sql += " where notify_count>0";
+
+    switch (sortBy) {
+    case SortByUpdated:
+        sql += " order by updated desc";
+        break;
+    case SortByAdded:
+        sql += " order by added desc";
+        break;
+    case SortByLastWatched:
+        sql += " order by watched desc";
+        break;
+    case SortByMostWatched:
+        sql += " order by views desc";
+        break;
+    default:
+        sql += " order by name collate nocase";
+        break;
+    }
+
+#ifdef APP_EXTRA
+    if (transition)
+        Extra::fadeInWidget(this, this);
+#endif
+
+    channelsModel->setQuery(sql, Database::instance().getConnection());
+    if (channelsModel->lastError().isValid()) {
+        qWarning() << channelsModel->lastError().text();
+        errorMessage = channelsModel->lastError().text();
+    }
+}
+
+void ChannelView::setSortBy(SortBy sortBy) {
+    this->sortBy = sortBy;
+    updateQuery(true);
+    QSettings settings;
+    settings.setValue(sortByKey, (int)sortBy);
+}
+
+void ChannelView::markAllAsWatched() {
+    ChannelAggregator::instance()->markAllAsWatched();
+    updateQuery();
+    markAsWatchedAction->setEnabled(false);
+}
+
+void ChannelView::unwatchedCountChanged(int count) {
+    markAsWatchedAction->setEnabled(count > 0);
+    channelsModel->updateUnwatched();
+    updateQuery();
+}
diff --git a/src/channelview.h b/src/channelview.h
new file mode 100644 (file)
index 0000000..a5013c9
--- /dev/null
@@ -0,0 +1,84 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef CHANNELSVIEW_H
+#define CHANNELSVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class VideoSource;
+class ChannelModel;
+
+class ChannelView : public QListView, public View {
+
+    Q_OBJECT
+
+public:
+    ChannelView(QWidget *parent = 0);
+    
+signals:
+    void activated(VideoSource *videoSource);
+
+public slots:
+    void appear();
+    void disappear();
+
+protected:
+    void mouseMoveEvent(QMouseEvent *event);
+    void leaveEvent(QEvent *event);
+    void paintEvent(QPaintEvent *event);
+
+private:
+    enum SortBy {
+        SortByName = 0,
+        SortByAdded,
+        SortByUpdated,
+        SortByLastWatched,
+        SortByMostWatched
+    };
+
+private slots:
+    void itemEntered(const QModelIndex &index);
+    void itemActivated(const QModelIndex &index);
+    void toggleShowUpdated(bool enable);
+    void setSortBy(SortBy sortBy);
+    void setSortByName() { setSortBy(SortByName); }
+    void setSortByUpdated() { setSortBy(SortByUpdated); }
+    void setSortByAdded() { setSortBy(SortByAdded); }
+    void setSortByLastWatched() { setSortBy(SortByLastWatched); }
+    void setSortByMostWatched() { setSortBy(SortByMostWatched); }
+    void markAllAsWatched();
+    void unwatchedCountChanged(int count);
+
+private:
+    void updateQuery(bool transition = false);
+    void setupActions();
+
+    ChannelModel *channelsModel;
+    QList<QAction*> statusActions;
+    bool showUpdated;
+    SortBy sortBy;
+    QString errorMessage;
+    QAction *markAsWatchedAction;
+
+};
+
+#endif // CHANNELSVIEW_H
index f065959b7400fd73c29efc949aca0a850ebf43a2..0a542922c372f902f094b5713e62628b7028f537 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "constants.h"
 
 #define STR(x) #x
index 2e1f55f96fe42ee387fbf7f3b86195345b273e59..a4cdc108bd2502a4c349e3b9d2b78e7ba3b67a51 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef CONSTANTS_H
 #define CONSTANTS_H
 
diff --git a/src/database.cpp b/src/database.cpp
new file mode 100644 (file)
index 0000000..37e8433
--- /dev/null
@@ -0,0 +1,210 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "database.h"
+#include "constants.h"
+#include <QDesktopServices>
+
+static const int DATABASE_VERSION = 1;
+static const QString dbName = QLatin1String(Constants::UNIX_NAME) + ".db";
+static Database *databaseInstance = 0;
+
+Database::Database() {
+
+    QString dataLocation = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
+    QDir().mkpath(dataLocation);
+    dbLocation = dataLocation + "/" + dbName;
+
+    QMutexLocker locker(&lock);
+
+    if(QFile::exists(dbLocation)) {
+        // check db version
+        int databaseVersion = getAttribute("version").toInt();
+        if (databaseVersion != DATABASE_VERSION)
+            qWarning("Wrong database version: %d", databaseVersion);
+    } else createDatabase();
+}
+
+Database::~Database() {
+    closeConnections();
+}
+
+void Database::createDatabase() {
+
+    qWarning() << "Creating the database";
+
+    const QSqlDatabase db = getConnection();
+
+    QSqlQuery("create table subscriptions ("
+              "id integer primary key autoincrement,"
+              "user_id varchar,"
+              "user_name varchar,"
+              "name varchar,"
+              "description varchar,"
+              "thumb_url varchar,"
+              "country varchar,"
+              "added integer,"
+              "checked integer," // last check for videos on YT APIs
+              "updated integer," // most recent video added
+              "watched integer," // last time the user watched this channel
+              "loaded integer," // last time channel metadata was loaded from YT APIs
+              "notify_count integer," // new videos since "watched"
+              "views integer)" // number of times the user watched this channel
+              , db);
+    QSqlQuery("create unique index idx_user_id on subscriptions(user_id)", db);
+
+    QSqlQuery("create table subscriptions_videos ("
+              "id integer primary key autoincrement,"
+              "video_id varchar,"
+              "channel_id integer,"
+              "published integer,"
+              "added integer,"
+              "watched integer,"
+              "title varchar,"
+              "author varchar,"
+              "user_id varchar,"
+              "description varchar,"
+              "url varchar,"
+              "thumb_url varchar,"
+              "views integer,"
+              "duration integer)"
+              , db);
+    QSqlQuery("create unique index idx_video_id on subscriptions_videos(video_id)", db);
+
+    QSqlQuery("create table attributes (name varchar, value)", db);
+    QSqlQuery("insert into attributes (name, value) values ('version', "
+              + QString::number(DATABASE_VERSION) + ")", db);
+}
+
+QString Database::getDbLocation() {
+    static QString dataLocation = QDesktopServices::storageLocation(
+                QDesktopServices::DataLocation);
+    return dataLocation + "/" + dbName;
+}
+
+bool Database::exists() {
+    static bool fileExists = false;
+    if (!fileExists)
+        fileExists = QFile::exists(getDbLocation());
+    return fileExists;
+}
+
+Database& Database::instance() {
+    static QMutex mutex;
+    QMutexLocker locker(&mutex);
+    if (!databaseInstance) databaseInstance = new Database();
+    return *databaseInstance;
+}
+
+QSqlDatabase Database::getConnection() {
+    QThread *currentThread = QThread::currentThread();
+    if (!currentThread) {
+        qDebug() << "current thread is null";
+        return QSqlDatabase();
+    }
+
+    const QString threadName = currentThread->objectName();
+    // qDebug() << "threadName" << threadName << currentThread;
+    if (connections.contains(currentThread)) {
+        return connections.value(currentThread);
+    } else {
+        // qDebug() << "Creating db connection for" << threadName;
+        QSqlDatabase connection = QSqlDatabase::addDatabase("QSQLITE", threadName);
+        connection.setDatabaseName(dbLocation);
+        if(!connection.open()) {
+            qWarning() << QString("Cannot connect to database %1 in thread %2").arg(dbLocation, threadName);
+        }
+        connections.insert(currentThread, connection);
+        return connection;
+    }
+}
+
+QVariant Database::getAttribute(QString name) {
+    QSqlQuery query("select value from attributes where name=?", getConnection());
+    query.bindValue(0, name);
+
+    bool success = query.exec();
+    if (!success) qDebug() << query.lastQuery() << query.boundValues().values() << query.lastError().text();
+    if (query.next())
+        return query.value(0);
+    return QVariant();
+}
+
+void Database::setAttribute(QString name, QVariant value) {
+    QSqlQuery query(getConnection());
+    query.prepare("update attributes set value=? where name=?");
+    query.bindValue(0, value);
+    query.bindValue(1, name);
+    bool success = query.exec();
+    if (!success) qDebug() << query.lastError().text();
+}
+
+/**
+  * After calling this method you have to reacquire a valid instance using instance()
+  */
+void Database::drop() {
+    /// closeConnections();
+    if (!QFile::remove(dbLocation)) {
+        qWarning() << "Cannot delete database" << dbLocation;
+
+        // fallback to delete records in tables
+        const QSqlDatabase db = getConnection();
+        QSqlQuery query(db);
+        if (!query.exec("select name from sqlite_master where type='table'")) {
+            qWarning() << query.lastQuery() << query.lastError().text();
+        }
+
+        while (query.next()) {
+            QString tableName = query.value(0).toString();
+            if (tableName.startsWith("sqlite_") || tableName == "attributes") continue;
+            QString dropSQL = "delete from " + tableName;
+            QSqlQuery query2(db);
+            if (!query2.exec(dropSQL))
+                qWarning() << query2.lastQuery() << query2.lastError().text();
+        }
+
+        query.exec("delete from sqlite_sequence");
+
+    }
+    if (databaseInstance) delete databaseInstance;
+    databaseInstance = 0;
+}
+
+void Database::closeConnections() {
+    foreach(QSqlDatabase connection, connections.values()) {
+        // qDebug() << "Closing connection" << connection;
+        connection.close();
+    }
+    connections.clear();
+}
+
+void Database::closeConnection() {
+    QThread *currentThread = QThread::currentThread();
+    if (!connections.contains(currentThread)) return;
+    QSqlDatabase connection = connections.take(currentThread);
+    // qDebug() << "Closing connection" << connection;
+    connection.close();
+}
+
+void Database::shutdown() {
+    if (!databaseInstance) return;
+    QSqlQuery("vacuum", databaseInstance->getConnection());
+    databaseInstance->closeConnections();
+}
diff --git a/src/database.h b/src/database.h
new file mode 100644 (file)
index 0000000..74ab8b7
--- /dev/null
@@ -0,0 +1,54 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef DATABASE_H
+#define DATABASE_H
+
+#include <QtCore>
+#include <QtSql>
+
+class Database : public QObject {
+
+    Q_OBJECT
+
+public:
+    static bool exists();
+    static Database& instance();
+    static void shutdown();
+    QSqlDatabase getConnection();
+    ~Database();
+    void drop();
+    void closeConnections();
+    void closeConnection();
+
+private:
+    Database();
+    static QString getDbLocation();
+    void createDatabase();
+    QVariant getAttribute(QString name);
+    void setAttribute(QString name, QVariant value);
+
+    QMutex lock;
+    QString dbLocation;
+    QHash<QThread*, QSqlDatabase> connections;
+
+};
+
+#endif // DATABASE_H
index f6a45f694c6c6883ba2c91031b7a919fe0ebb17a..36234d140f627bb2d7a80d7dd68d5923e913d0be 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "diskcache.h"
 #include <QtNetwork>
 
index 80791a6abdbe53e63c8032abf4192754a5a24519..1f3cdc911a59517508a82581d5a5cd640a5d7530 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DISKCACHE_H
 #define DISKCACHE_H
 
index 0ff2396bd90f1583264c33771009a363d6ff613f..9b7982163cf5ed2c3d85f31bbc675fff1bc779ee 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloaditem.h"
 #include "networkaccess.h"
 #include "video.h"
@@ -19,6 +39,8 @@ DownloadItem::DownloadItem(Video *video, QUrl url, QString filename, QObject *pa
     , m_startedSaving(false)
     , m_finishedDownloading(false)
     , m_url(url)
+    , m_offset(0)
+    , sendStatusChanges(true)
     , m_file(filename)
     , m_reply(0)
     , video(video)
@@ -28,6 +50,9 @@ DownloadItem::DownloadItem(Video *video, QUrl url, QString filename, QObject *pa
     speedCheckTimer->setInterval(2000);
     speedCheckTimer->setSingleShot(true);
     connect(speedCheckTimer, SIGNAL(timeout()), SLOT(speedCheck()));
+
+    if (m_file.exists())
+        m_file.remove();
 }
 
 DownloadItem::~DownloadItem() {
@@ -41,8 +66,70 @@ DownloadItem::~DownloadItem() {
     }
 }
 
+bool DownloadItem::needsDownload(qint64 offset) {
+    return offset < m_offset || offset > m_offset + m_bytesReceived;
+}
+
+bool DownloadItem::isBuffered(qint64 offset) {
+    QMap<qint64, qint64>::iterator i;
+    for (i = buffers.begin(); i != buffers.end(); ++i) {
+        if (offset >= i.key() && offset <= i.value()) {
+            // qDebug() << "Buffered! " << i.key() << ":" << i.value();
+            return true;
+        }
+    }
+    // qDebug() << offset << "is not buffered";
+    return false;
+}
+
+qint64 DownloadItem::blankAtOffset(qint64 offset) {
+    // qDebug() << buffers;
+    QMap<qint64, qint64>::iterator i;
+    for (i = buffers.begin(); i != buffers.end(); ++i) {
+        if (offset >= i.key() && offset <= i.value()) {
+            // qDebug() << "Offset was" << offset << "now" << i.value();
+            return i.value() + 1;
+        }
+    }
+    return offset;
+}
+
+void DownloadItem::seekTo(qint64 offset, bool sendStatusChanges) {
+    // qDebug() << __PRETTY_FUNCTION__ << offset << sendStatusChanges;
+    stop();
+    if (m_bytesReceived > 0) {
+        bool bufferModified = false;
+        QMap<qint64, qint64>::iterator i;
+        for (i = buffers.begin(); i != buffers.end(); ++i) {
+            if (m_offset - 1 <= i.value()) {
+                /*
+                qDebug() << "Extending existing buffer "
+                         << i.key() << i.value() << "now" << m_offset + m_bytesReceived;
+                */
+                bufferModified = true;
+                i.value() = m_offset + m_bytesReceived;
+                break;
+            }
+        }
+        if (!bufferModified)
+            buffers.insert(m_offset, m_offset + m_bytesReceived);
+    }
+    m_offset = offset;
+    this->sendStatusChanges = sendStatusChanges;
+    bool seekSuccess = m_file.seek(offset);
+    if (!seekSuccess) {
+        qWarning() << "Cannot seek to offset" << offset << "in file" << m_file.fileName();
+        return;
+    }
+    start();
+}
+
 void DownloadItem::start() {
-    m_reply = The::http()->request(m_url);
+    // qDebug() << "Starting download at" << m_offset;
+    if (m_offset > 0)
+        m_reply = The::http()->request(m_url, QNetworkAccessManager::GetOperation, QByteArray(), m_offset);
+    else
+        m_reply = The::http()->request(m_url);
     init();
 }
 
@@ -50,11 +137,8 @@ void DownloadItem::init() {
     if (!m_reply)
         return;
 
-    if (m_file.exists())
-        m_file.remove();
-
     m_status = Starting;
-
+    m_bytesReceived = 0;
     m_startedSaving = false;
     m_finishedDownloading = false;
 
@@ -127,6 +211,7 @@ void DownloadItem::downloadReadyRead() {
         emit statusChanged();
     }
 
+    // qWarning() << __PRETTY_FUNCTION__ << m_file.pos();
     if (-1 == m_file.write(m_reply->readAll())) {
         qWarning() << "Error saving." << m_file.errorString();
     } else {
@@ -163,10 +248,7 @@ void DownloadItem::metaDataChanged() {
         tryAgain();
         return;
     }
-
-#ifdef DOWNLOADMANAGER_DEBUG
-    qDebug() << "DownloadItem::" << __FUNCTION__ << "not handled.";
-#endif
+    // qDebug() << m_reply->rawHeaderList();
 }
 
 int DownloadItem::initialBufferSize() {
@@ -184,13 +266,15 @@ int DownloadItem::initialBufferSize() {
 
 void DownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) {
 
-    // qDebug() << bytesReceived << bytesTotal << m_downloadTime.elapsed();
+    // qDebug() << __PRETTY_FUNCTION__ << bytesReceived << bytesTotal << m_downloadTime.elapsed();
+
+    m_bytesReceived = bytesReceived;
+
+    if (!sendStatusChanges) return;
 
     if (m_lastProgressTime.elapsed() < 150) return;
     m_lastProgressTime.start();
 
-    m_bytesReceived = bytesReceived;
-
     if (m_status != Downloading) {
 
         int neededBytes = (int) (bytesTotal * .005);
@@ -307,7 +391,7 @@ void DownloadItem::requestFinished() {
         m_status = Downloading;
         emit statusChanged();
     }
-    m_file.close();
+    if (m_offset == 0) m_file.close();
     m_status = Finished;
     m_totalTime = m_downloadTime.elapsed() / 1000.0;
     emit statusChanged();
index bb9245f4ec615452d2f074ebd2499c17eb06eb7b..2c074f0c1d7a4076dd26df647ee40e6e114f2b65 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DOWNLOADITEM_H
 #define DOWNLOADITEM_H
 
@@ -41,6 +61,11 @@ public:
     static QString formattedSpeed(double speed);
     static QString formattedTime(double time, bool remaining = true);
     QString errorMessage() const;
+    qint64 offset() const { return m_offset; }
+    bool needsDownload(qint64 offset);
+    bool isBuffered(qint64 offset);
+    qint64 blankAtOffset(qint64 offset);
+    void seekTo(qint64 offset, bool sendStatusChanges = true);
 
 public slots:
     void start();
@@ -72,6 +97,9 @@ private:
 
     QUrl m_url;
 
+    qint64 m_offset;
+    bool sendStatusChanges;
+
     QFile m_file;
     QNetworkReply *m_reply;
     Video *video;
@@ -81,6 +109,7 @@ private:
 
     QTimer *speedCheckTimer;
 
+    QMap<qint64, qint64> buffers;
 };
 
 // This is required in order to use QPointer<DownloadItem> as a QVariant
index 4ebb34ccb049ba5e51b683c2782fa9652dccd9b9..7a1fafd4c34ebb59c0ac0da291f83c43e0abaea9 100644 (file)
@@ -1,6 +1,27 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloadlistview.h"
 #include "downloadmodel.h"
 #include "playlistitemdelegate.h"
+#include "painterutils.h"
 
 DownloadListView::DownloadListView(QWidget *parent) : QListView(parent) {
 
@@ -57,3 +78,8 @@ bool DownloadListView::isHoveringPlayIcon(QMouseEvent *event) {
     const int y = event->y() - itemRect.y() - buttonRect.y();
     return x > 0 && x < buttonRect.width() && y > 0 && y < buttonRect.height();
 }
+
+void DownloadListView::paintEvent(QPaintEvent *event) {
+    QListView::paintEvent(event);
+    PainterUtils::topShadow(viewport());
+}
index 72f457ae73be65a82dd49a29db2e58c6eabe6036..59514c692fd736d20741493a6e2c79477f4c3b06 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DOWNLOADLISTVIEW_H
 #define DOWNLOADLISTVIEW_H
 
@@ -16,6 +36,7 @@ protected:
     void mousePressEvent(QMouseEvent *event);
     void mouseReleaseEvent(QMouseEvent *event);
     bool isHoveringPlayIcon(QMouseEvent *event);
+    void paintEvent(QPaintEvent *event);
 
 signals:
     void downloadButtonPushed(QModelIndex index);
index 21115d3ceab2fd759b344e10080ad7366a67696d..33d2adacf66371feae05b5679614da3ef7eec4de 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloadmanager.h"
 #include "downloaditem.h"
 #include "downloadmodel.h"
@@ -7,8 +27,8 @@
 #ifdef APP_ACTIVATION
 #include "activation.h"
 #endif
-#ifdef Q_WS_MAC
-#include "macutils.h"
+#ifdef APP_EXTRA
+#include "extra.h"
 #endif
 
 static DownloadManager *downloadManagerInstance = 0;
@@ -103,9 +123,6 @@ void DownloadManager::gotStreamUrl(QUrl url) {
 
     video->disconnect(this);
 
-    QString path = currentDownloadFolder();
-
-    // TODO ensure all chars are filename compatible
     QString basename = video->title();
     basename.replace('(', '[');
     basename.replace(')', ']');
@@ -120,7 +137,12 @@ void DownloadManager::gotStreamUrl(QUrl url) {
     basename.replace('*', ' ');
     basename = basename.simplified();
 
-    QString filename = path + "/" + basename + ".mp4";
+    if (!basename.isEmpty() && basename.at(0) == '.')
+        basename = basename.mid(1).trimmed();
+
+    if (basename.isEmpty()) basename = video->id();
+
+    QString filename = currentDownloadFolder() + "/" + basename + ".mp4";
 
     Video *videoCopy = video->clone();
     DownloadItem *item = new DownloadItem(videoCopy, url, filename, this);
@@ -138,8 +160,7 @@ void DownloadManager::gotStreamUrl(QUrl url) {
 
 void DownloadManager::itemFinished() {
     if (activeItems() == 0) emit finished();
-#ifdef Q_WS_MAC
-    if (mac::canNotify()) {
+#ifdef APP_EXTRA
         DownloadItem *item = static_cast<DownloadItem*>(sender());
         if (!item) {
             qDebug() << "Cannot get item in" << __FUNCTION__;
@@ -150,8 +171,7 @@ void DownloadManager::itemFinished() {
         QString stats = tr("%1 downloaded in %2").arg(
                     DownloadItem::formattedFilesize(item->bytesTotal()),
                     DownloadItem::formattedTime(item->totalTime(), false));
-        mac::notify(tr("Download finished"), video->title(), stats);
-    }
+        Extra::notify(tr("Download finished"), video->title(), stats);
 #endif
 }
 
index 789ee03782536aeed86cba6b82e750ede131faf2..a07d7e394b3fdc050c40a41a1ca4b8f47ed3257b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DOWNLOADMANAGER_H
 #define DOWNLOADMANAGER_H
 
index 2031d3f66288413fc0551741d78d5bc4790ce949..d5d36e930269563ec8dba27da657743d74c65b27 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloadmodel.h"
 #include "downloadmanager.h"
 #include "downloaditem.h"
index 26a43dedbae58b55973f98d4323bbf14299daf23..7dd8f4901d942206de190d8ca9f91f67af43d4cb 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DOWNLOADMODEL_H
 #define DOWNLOADMODEL_H
 
index d73182e73e543088087a30f898b6267699bb9883..1afb2d5b1317b89d6435580361789f3e16dfe758 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloadsettings.h"
 #include "downloadmanager.h"
 #include "mainwindow.h"
index 968c8aa9e4d13981d3b29c28577a8bed324b1882..f6d8e01a100bbacea59bdc8c893bf83472dd5d77 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DOWNLOADSETTINGS_H
 #define DOWNLOADSETTINGS_H
 
index 42db96b8ec094f5bdca5334d3b0b1f7f8e42cb43..2ad4763fe05870fddd7e4b7547c4dc33f1b8f307 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloadview.h"
 #include "downloadmodel.h"
 #include "downloadmanager.h"
index 2ac7b3d742e880b8e71f5569e73565af3f63b0e5..731c6f9898b40d84b685e7f27e28ef6226ae3d83 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef DOWNLOADVIEW_H
 #define DOWNLOADVIEW_H
 
index b3418d6d54d695781292d5929cedf1303d9466a4..5e3f3c1588ab1b724f20679ac9fe12f1148c1995 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "fontutils.h"
 
 static const int MIN_PIXEL_SIZE = 11;
index 077b2d71dfd3edc0d945fa9adabb4d77be677f7b..7048ea8e22462cff9bb5c93c4c31da408fddcbe4 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef FONTUTILS_H
 #define FONTUTILS_H
 
index d2aad7a0c6571103cb1791934e7d3f5c2b0c3dd6..6057a83a56e97a033ade4fac2dd9b352944feff1 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef GLOBAL_H
 #define GLOBAL_H
 
index 8646b7ae7dedb3d80dd82654f62f22d2ebf06656..910425af580539df85502c6e6723f472f708b58b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "globalshortcutbackend.h"
 #include "globalshortcuts.h"
 
index e6844bb3d96b4d73c56342df0bdf6ff746609b73..46edb7bb2ef4430536d00cc94817f47975b70385 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef GLOBALSHORTCUTBACKEND_H
 #define GLOBALSHORTCUTBACKEND_H
 
index 39eda6d95ba83db4e53b3fb96f7db4ef85bd1309..e747322a83ae255dbb1f2e604fcc6cf49f7c3b60 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "globalshortcuts.h"
 #include "globalshortcutbackend.h"
 
index 62cd9356ac6650420677749f1aef2801d241c825..754ad742f4ba923e60850003a3b73eb26f618061 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef GLOBALSHORTCUTS_H
 #define GLOBALSHORTCUTS_H
 
index 6fc3594bc720f765828b1a75c78f3384c1fc6b5d..1b07d592d9ae03c9a8777495676baaa8db788188 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "gnomeglobalshortcutbackend.h"
 #include "globalshortcuts.h"
 
index bf6dd8932fc844abfb151889c9c051298037fbbd..4aecca43c4f673a8b9c3dc617e955dbdfd6c6f00 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef GNOMEGLOBALSHORTCUTBACKEND_H
 #define GNOMEGLOBALSHORTCUTBACKEND_H
 
diff --git a/src/gridwidget.cpp b/src/gridwidget.cpp
new file mode 100644 (file)
index 0000000..3e445aa
--- /dev/null
@@ -0,0 +1,65 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "gridwidget.h"
+
+GridWidget::GridWidget(QWidget *parent) :
+    QWidget(parent),
+    hovered(false),
+    pressed(false) {
+    setCursor(Qt::PointingHandCursor);
+    setFocusPolicy(Qt::StrongFocus);
+}
+
+void GridWidget::mouseMoveEvent(QMouseEvent *event) {
+    QWidget::mouseMoveEvent(event);
+    hovered = rect().contains(event->pos());
+}
+
+void GridWidget::mousePressEvent(QMouseEvent *event) {
+    QWidget::mousePressEvent(event);
+    if (event->button() != Qt::LeftButton) return;
+    pressed = true;
+    update();
+}
+
+void GridWidget::mouseReleaseEvent(QMouseEvent *event) {
+    QWidget::mouseReleaseEvent(event);
+    if (event->button() != Qt::LeftButton) return;
+    pressed = false;
+    if (hovered) emit activated();
+}
+
+void GridWidget::leaveEvent(QEvent *event) {
+    QWidget::leaveEvent(event);
+    hovered = false;
+    update();
+}
+
+void GridWidget::enterEvent(QEvent *event) {
+    QWidget::enterEvent(event);
+    hovered = true;
+    update();
+}
+
+void GridWidget::keyReleaseEvent(QKeyEvent *event) {
+    if (event->key() == Qt::Key_Return)
+        emit activated();
+}
diff --git a/src/gridwidget.h b/src/gridwidget.h
new file mode 100644 (file)
index 0000000..25756ca
--- /dev/null
@@ -0,0 +1,48 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef GRIDWIDGET_H
+#define GRIDWIDGET_H
+
+#include <QtGui>
+
+class GridWidget : public QWidget {
+
+    Q_OBJECT
+
+public:
+    GridWidget(QWidget *parent = 0);
+    
+signals:
+    void activated();
+    
+protected:
+    void mouseMoveEvent(QMouseEvent *event);
+    void mousePressEvent(QMouseEvent *event);
+    void mouseReleaseEvent(QMouseEvent *event);
+    void enterEvent(QEvent *event);
+    void leaveEvent(QEvent *event);
+    void keyReleaseEvent(QKeyEvent *event);
+    
+    bool hovered;
+    bool pressed;
+};
+
+#endif // GRIDWIDGET_H
index 4ac091dbba8abc6bedbecc701e00d7832c32210d..a3b54350e04adaa4b45d40ae0642f4215276dfa9 100644 (file)
@@ -1,15 +1,40 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "homeview.h"
 #include "segmentedcontrol.h"
 #include "searchview.h"
 #include "standardfeedsview.h"
-#include "userview.h"
+#include "channelview.h"
 #include "mainwindow.h"
 #include "mediaview.h"
 #include "ytstandardfeed.h"
+#include "utils.h"
+#include "channelaggregator.h"
+#ifdef APP_MAC
+#include "macutils.h"
+#endif
 
-HomeView::HomeView(QWidget *parent) : QWidget(parent) {
-    standardFeedsView = 0;
-    userView = 0;
+HomeView::HomeView(QWidget *parent) : QWidget(parent),
+    standardFeedsView(0),
+    channelsView(0) {
 
     QBoxLayout *layout = new QVBoxLayout(this);
     layout->setMargin(0);
@@ -28,7 +53,7 @@ HomeView::HomeView(QWidget *parent) : QWidget(parent) {
 }
 
 void HomeView::setupBar() {
-    bar = new SegmentedControl(this);
+    bar = new SegmentedControl();
 
     QAction *action = new QAction(tr("Search"), this);
     action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_1));
@@ -43,22 +68,17 @@ void HomeView::setupBar() {
     connect(action, SIGNAL(triggered()), SLOT(showStandardFeeds()));
     bar->addAction(action);
 
-    /*
-    action = new QAction(tr("User"), this);
-    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_3));
-    action->setStatusTip(tr("Your favorite videos, subscriptions and playlists"));
-    connect(action, SIGNAL(triggered()), SLOT(showUser()));
-    bar->addAction(action);
-    */
+    subscriptionsAction = new QAction(tr("Subscriptions"), this);
+    subscriptionsAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_3));
+    subscriptionsAction->setStatusTip(tr("Channel subscriptions"));
+    connect(subscriptionsAction, SIGNAL(triggered()), SLOT(showChannels()));
+    bar->addAction(subscriptionsAction);
+    connect(ChannelAggregator::instance(), SIGNAL(unwatchedCountChanged(int)),
+            SLOT(unwatchedCountChanged(int)));
 
     foreach (QAction* action, bar->actions()) {
-        // action->setEnabled(false);
         addAction(action);
-        action->setAutoRepeat(false);
-        if (!action->shortcut().isEmpty())
-            action->setStatusTip(
-                        action->statusTip() + " (" +
-                        action->shortcut().toString(QKeySequence::NativeText) + ")");
+        Utils::setupAction(action);
     }
 }
 
@@ -70,8 +90,6 @@ void HomeView::showWidget(QWidget *widget) {
     stackedWidget->setCurrentWidget(widget);
     widget->setEnabled(true);
     QMetaObject::invokeMethod(widget, "appear");
-    bar->setCheckedAction(stackedWidget->currentIndex());
-    // autoChosenView = false;
     widget->setFocus();
 }
 
@@ -85,6 +103,7 @@ void HomeView::disappear() {
 
 void HomeView::showSearch() {
     showWidget(searchView);
+    bar->setCheckedAction(0);
 }
 
 void HomeView::showStandardFeeds() {
@@ -96,12 +115,31 @@ void HomeView::showStandardFeeds() {
         stackedWidget->addWidget(standardFeedsView);
     }
     showWidget(standardFeedsView);
+    bar->setCheckedAction(1);
+}
+
+void HomeView::showChannels() {
+    if (!channelsView) {
+        channelsView = new ChannelView();
+        connect(channelsView, SIGNAL(activated(VideoSource*)),
+                MainWindow::instance(),
+                SLOT(showMedia(VideoSource*)));
+        stackedWidget->addWidget(channelsView);
+    }
+    showWidget(channelsView);
+    bar->setCheckedAction(2);
 }
 
-void HomeView::showUser() {
-    if (!userView) {
-        userView = new UserView(this);
-        stackedWidget->addWidget(userView);
+void HomeView::unwatchedCountChanged(int count) {
+    QVariant v;
+    QString s;
+    if (count > 0) {
+        s = QString::number(count);
+        v = s;
     }
-    showWidget(userView);
+    subscriptionsAction->setProperty("notifyCount", v);
+    bar->update();
+#ifdef APP_MAC
+    mac::dockBadge(s);
+#endif
 }
index 2f9a8b114ba77b4c29b4a93f8fecb98f014ce6de..168a6105716b682fb0d38a98ee8adbb5ced0e5b0 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef HOMEVIEW_H
 #define HOMEVIEW_H
 
@@ -7,7 +27,7 @@
 class SegmentedControl;
 class SearchView;
 class StandardFeedsView;
-class UserView;
+class ChannelView;
 
 class HomeView : public QWidget, public View  {
 
@@ -26,10 +46,11 @@ public:
     SearchView* getSearchView() { return searchView; }
     StandardFeedsView* getStandardFeedsView() { return standardFeedsView; }
 
-public slots:
+private slots:
     void showSearch();
     void showStandardFeeds();
-    void showUser();
+    void showChannels();
+    void unwatchedCountChanged(int count);
 
 private:
     void setupBar();
@@ -38,7 +59,9 @@ private:
 
     SearchView *searchView;
     StandardFeedsView *standardFeedsView;
-    UserView* userView;
+    ChannelView* channelsView;
+
+    QAction *subscriptionsAction;
 
 };
 
diff --git a/src/jsfunctions.cpp b/src/jsfunctions.cpp
new file mode 100644 (file)
index 0000000..45070f1
--- /dev/null
@@ -0,0 +1,110 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "jsfunctions.h"
+#include "networkaccess.h"
+#include <QDesktopServices>
+#include "constants.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+JsFunctions* JsFunctions::instance() {
+    static JsFunctions *i = new JsFunctions();
+    return i;
+}
+
+JsFunctions::JsFunctions(QObject *parent) : QObject(parent), engine(0) {
+    QFile file(jsPath());
+    if (file.exists()) {
+        if (file.open(QIODevice::ReadOnly | QIODevice::Text))
+            parseJs(QString::fromUtf8(file.readAll()));
+        else
+            qWarning() << file.errorString() << file.fileName();
+        QFileInfo info(file);
+        if (info.lastModified().toTime_t() < QDateTime::currentDateTime().toTime_t() - 3600)
+            loadJs();
+    } else {
+        QFile resFile(QLatin1String(":/") + jsFilename());
+        resFile.open(QIODevice::ReadOnly | QIODevice::Text);
+        parseJs(QString::fromUtf8(resFile.readAll()));
+        loadJs();
+    }
+}
+
+void JsFunctions::parseJs(const QString &js) {
+    if (js.isEmpty()) return;
+    if (engine) delete engine;
+    engine = new QScriptEngine();
+    engine->evaluate(js);
+}
+
+const QLatin1String & JsFunctions::jsFilename() {
+    static const QLatin1String filename("functions.js");
+    return filename;
+}
+
+const QString & JsFunctions::jsPath() {
+    static const QString path(
+                QDesktopServices::storageLocation(QDesktopServices::DataLocation)
+                + "/" + jsFilename());
+    return path;
+}
+
+void JsFunctions::loadJs() {
+    QUrl url(QLatin1String(Constants::WEBSITE) + "-ws/" + jsFilename());
+    NetworkReply* reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(gotJs(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorJs(QNetworkReply*)));
+}
+
+void JsFunctions::gotJs(QByteArray bytes) {
+    parseJs(QString::fromUtf8(bytes));
+    QFile file(jsPath());
+    if (!file.open(QIODevice::WriteOnly))
+        qWarning() << file.errorString() << file.fileName();
+    QDataStream stream(&file);
+    stream.writeRawData(bytes.constData(), bytes.size());
+}
+
+void JsFunctions::errorJs(QNetworkReply *reply) {
+    qWarning() << "Cannot get" << jsFilename() << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()
+                  << reply->url().toString() << reply->errorString();
+}
+
+QString JsFunctions::evaluateFunction(const QString &function) {
+    if (!engine) return QString();
+    QScriptValue value = engine->evaluate(function);
+    if (value.isUndefined())
+        qWarning() << "Undefined result for" << function;
+    if (value.isError())
+        qWarning() << "Error in" << function << value.toString();
+
+    return value.toString();
+}
+
+QString JsFunctions::decryptSignature(const QString &s) {
+    return evaluateFunction("decryptSignature('" + s + "')");
+}
+
+QString JsFunctions::decryptAgeSignature(const QString &s) {
+    return evaluateFunction("decryptAgeSignature('" + s + "')");
+}
diff --git a/src/jsfunctions.h b/src/jsfunctions.h
new file mode 100644 (file)
index 0000000..31d7aac
--- /dev/null
@@ -0,0 +1,52 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef JSFUNCTIONS_H
+#define JSFUNCTIONS_H
+
+#include <QtCore>
+#include <QtScript>
+#include <QtNetwork>
+
+class JsFunctions : public QObject {
+
+    Q_OBJECT
+
+public:
+    static JsFunctions* instance();
+    QString decryptSignature(const QString &s);
+    QString decryptAgeSignature(const QString &s);
+
+private slots:
+    void gotJs(QByteArray bytes);
+    void errorJs(QNetworkReply *reply);
+
+private:
+    JsFunctions(QObject *parent = 0);
+    static const QLatin1String &jsFilename();
+    static const QString &jsPath();
+    void loadJs();
+    void parseJs(const QString &js);
+    QString evaluateFunction(const QString &function);
+
+    QScriptEngine *engine;
+};
+
+#endif // JSFUNCTIONS_H
index 2b04b230bd007225bdf55dbcebcdcc5bb1738459..79efe0d3d0431477d1d84527781f54536dad9d1b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "loadingwidget.h"
 
 LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
@@ -9,7 +29,7 @@ LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
 
     setAutoFillBackground(true);
 
-    QBoxLayout *layout = new QVBoxLayout();
+    QBoxLayout *layout = new QVBoxLayout(this);
 
     titleLabel = new QLabel(this);
     titleLabel->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
@@ -19,15 +39,12 @@ LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
     titleLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
     layout->addWidget(titleLabel);
 
-    QFont biggerFont;
-    biggerFont.setPointSize(biggerFont.pointSize()*2);
-
     descriptionLabel = new QLabel(this);
     descriptionLabel->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
     descriptionLabel->setPalette(p);
     descriptionLabel->setForegroundRole(QPalette::Text);
     descriptionLabel->setWordWrap(true);
-    descriptionLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+    descriptionLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding);
     layout->addWidget(descriptionLabel);
 
     progressBar = new QProgressBar(this);
@@ -40,15 +57,20 @@ LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
     layout->addWidget(progressBar);
 
     setMouseTracking(true);
-
-    setLayout(layout);
 }
 
 void LoadingWidget::setVideo(Video *video) {
 
     QFont titleFont;
+#ifdef APP_MAC
+    titleFont.setFamily("Helvetica");
+#endif
+#ifdef APP_WIN
+    titleFont.setFamily("Segoe UI Light");
+#endif
     int smallerDimension = qMin(height(), width());
     titleFont.setPixelSize(smallerDimension / 12);
+    titleFont.setHintingPreference(QFont::PreferNoHinting);
     QFontMetrics fm(titleFont);
     int textHeightInPixels = fm.height();
     int spacing = textHeightInPixels / 2;
@@ -64,14 +86,15 @@ void LoadingWidget::setVideo(Video *video) {
     titleLabel->setVisible(window()->height() > 100);
     titleLabel->setFont(titleFont);
 
-    static const int maxVideoLength = 256;
+    static const int maxDescLength = 256;
     QString videoDesc = video->description();
-    if (videoDesc.length() > maxVideoLength) {
-        videoDesc.truncate(maxVideoLength-1);
+    if (videoDesc.length() > maxDescLength) {
+        videoDesc.truncate(maxDescLength-1);
         videoDesc.append("...");
     }
     QFont descFont(titleFont);
     descFont.setPixelSize(descFont.pixelSize() / 2);
+    descFont.setHintingPreference(QFont::PreferNoHinting);
     descriptionLabel->setFont(descFont);
     descriptionLabel->setText(videoDesc);
     bool hiddenDesc = height() < 400;
index 96a8b44f790d2f8b3460758541578ad8a99479c3..37021f41ebba99b0b349c4c1cbed7ba2e3bd66b4 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef LOADINGWIDGET_H
 #define LOADINGWIDGET_H
 
index 399e6f081a940dc60d929e79ef22c65d1fe49b04..95e9f128e4ee03dde7f3b782c0ec2ed89cf5b10f 100644 (file)
@@ -1,63 +1,36 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include <QtGui>
 #include <qtsingleapplication.h>
 #include "constants.h"
 #include "mainwindow.h"
 #include "searchparams.h"
 #include "utils.h"
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 #ifdef Q_WS_MAC
 #include "mac_startup.h"
 #endif
 
-#ifdef Q_WS_X11
-QString getThemeName() {
-    QString themeName;
-
-    QProcess process;
-    process.start("dconf",
-                  QStringList() << "read" << "/org/gnome/desktop/interface/gtk-theme");
-    if (process.waitForFinished()) {
-        themeName = process.readAllStandardOutput();
-        themeName = themeName.trimmed();
-        themeName.remove('\'');
-        if (!themeName.isEmpty()) return themeName;
-    }
-
-    QString rcPaths = QString::fromLocal8Bit(qgetenv("GTK2_RC_FILES"));
-    if (!rcPaths.isEmpty()) {
-        QStringList paths = rcPaths.split(QLatin1String(":"));
-        foreach (const QString &rcPath, paths) {
-            if (!rcPath.isEmpty()) {
-                QFile rcFile(rcPath);
-                if (rcFile.exists() && rcFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
-                    QTextStream in(&rcFile);
-                    while(!in.atEnd()) {
-                        QString line = in.readLine();
-                        if (line.contains(QLatin1String("gtk-theme-name"))) {
-                            line = line.right(line.length() - line.indexOf(QLatin1Char('=')) - 1);
-                            line.remove(QLatin1Char('\"'));
-                            line = line.trimmed();
-                            themeName = line;
-                            break;
-                        }
-                    }
-                }
-            }
-            if (!themeName.isEmpty())
-                break;
-        }
-    }
-
-    // Fall back to gconf
-    if (themeName.isEmpty())
-        themeName = QGtkStyle::getGConfString(QLatin1String("/desktop/gnome/interface/gtk_theme"));
-
-    return themeName;
-}
-#endif
-
 int main(int argc, char **argv) {
 
 #ifdef Q_WS_MAC
@@ -76,18 +49,14 @@ int main(int argc, char **argv) {
     app.setApplicationName(QLatin1String(Constants::NAME));
     app.setOrganizationName(QLatin1String(Constants::ORG_NAME));
     app.setOrganizationDomain(QLatin1String(Constants::ORG_DOMAIN));
+#ifndef APP_WIN
     app.setWheelScrollLines(1);
+#endif
     app.setAttribute(Qt::AA_DontShowIconsInMenus);
 
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
     Extra::appSetup(&app);
 #else
-    bool isGtk = app.style()->metaObject()->className() == QLatin1String("QGtkStyle");
-    if (isGtk) {
-        app.setProperty("gtk", isGtk);
-        QString themeName = getThemeName();
-        app.setProperty("style", themeName);
-    }
     QFile cssFile(":/style.css");
     cssFile.open(QFile::ReadOnly);
     QString styleSheet = QLatin1String(cssFile.readAll());
@@ -112,20 +81,14 @@ int main(int argc, char **argv) {
     }
     // qDebug() << "Using locale dir" << localeDir << locale;
     QTranslator translator;
-    translator.load(QLocale::system(), localeDir);
+    translator.load(QLocale::system(), QString(), QString(), localeDir);
     app.installTranslator(&translator);
     QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
 
     MainWindow mainWin;
-    mainWin.setWindowTitle(Constants::NAME);
-
-#ifndef Q_WS_X11
-    Extra::windowSetup(&mainWin);
-#else
-    mainWin.setProperty("style", app.property("style"));
-#endif
+    mainWin.show();
 
-// no window icon on Mac
+    // no window icon on Mac
 #ifndef APP_MAC
     QIcon appIcon;
     if (QDir(dataDir).exists()) {
@@ -135,7 +98,8 @@ int main(int argc, char **argv) {
         const int iconSizes [] = { 16, 22, 32, 48, 64, 128, 256, 512 };
         for (int i = 0; i < 8; i++) {
             QString size = QString::number(iconSizes[i]);
-            QString png = dataDir + "/" + size + "x" + size + "/" + Constants::UNIX_NAME + ".png";
+            QString png = dataDir + "/" + size + "x" + size + "/" +
+                    Constants::UNIX_NAME + ".png";
             appIcon.addFile(png, QSize(iconSizes[i], iconSizes[i]));
         }
     }
@@ -145,26 +109,13 @@ int main(int argc, char **argv) {
     mainWin.setWindowIcon(appIcon);
 #endif
 
-    mainWin.connect(&app, SIGNAL(messageReceived(const QString &)), &mainWin, SLOT(messageReceived(const QString &)));
+    mainWin.connect(&app, SIGNAL(messageReceived(const QString &)),
+                    &mainWin, SLOT(messageReceived(const QString &)));
     app.setActivationWindow(&mainWin, true);
 
     // all string literals are UTF-8
     // QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
 
-    if (app.arguments().size() > 1) {
-        QString query = app.arguments().at(1);
-        if (query.startsWith(QLatin1String("--"))) {
-            mainWin.messageReceived(query);
-            return 0;
-        } else {
-            SearchParams *searchParams = new SearchParams();
-            searchParams->setKeywords(query);
-            mainWin.showMedia(searchParams);
-        }
-    }
-
-    mainWin.show();
-
     // Seed random number generator
     qsrand(QDateTime::currentDateTime().toTime_t());
 
index bb815c004378ff104587ac01db81e9cf5134a6b8..3392ff2cf04c6fcebc5308444283c4c0cd04a79b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "mainwindow.h"
 #include "homeview.h"
 #include "searchview.h"
@@ -33,7 +53,7 @@
 #include "searchlineedit.h"
 #endif
 #include <iostream>
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #include "updatedialog.h"
 #endif
 #include "ytregions.h"
 #include "regionsview.h"
 #include "standardfeedsview.h"
+#include "channelaggregator.h"
+#include "database.h"
+#include "videoareawidget.h"
+#include "jsfunctions.h"
+#include "seekslider.h"
 
 static MainWindow *singleton = 0;
 
@@ -60,7 +85,8 @@ MainWindow::MainWindow() :
     regionsView(0),
     mediaObject(0),
     audioOutput(0),
-    m_fullscreen(false) {
+    m_fullscreen(false),
+    m_compact(false) {
 
     singleton = this;
 
@@ -71,7 +97,7 @@ MainWindow::MainWindow() :
     setCentralWidget(views);
 
     // views
-    homeView = new HomeView(this);
+    homeView = new HomeView();
     views->addWidget(homeView);
 
     // TODO make this lazy
@@ -85,15 +111,9 @@ MainWindow::MainWindow() :
     createToolBars();
     createStatusBar();
 
-    initPhonon();
-    mediaView->setMediaObject(mediaObject);
-
     // remove that useless menu/toolbar context menu
     this->setContextMenuPolicy(Qt::NoContextMenu);
 
-    // mediaView init stuff thats needs actions
-    mediaView->initialize();
-
     // event filter to block ugly toolbar tooltips
     qApp->installEventFilter(this);
 
@@ -103,10 +123,8 @@ MainWindow::MainWindow() :
     readSettings();
 
     // fix stacked widget minimum size
-    for (int i = 0; i < views->count(); i++) {
-        QWidget* view = views->widget(i);
-        if (view) view->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-    }
+    for (int i = 0; i < views->count(); i++)
+        views->widget(i)->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
     setMinimumWidth(0);
 
     // show the initial view
@@ -119,6 +137,37 @@ MainWindow::MainWindow() :
 
     views->show();
 
+#ifdef APP_EXTRA
+    Extra::windowSetup(this);
+#endif
+
+    qApp->processEvents();
+    QTimer::singleShot(50, this, SLOT(lazyInit()));
+}
+
+MainWindow::~MainWindow() {
+    delete history;
+}
+
+void MainWindow::lazyInit() {
+    initPhonon();
+    mediaView->initialize();
+    mediaView->setMediaObject(mediaObject);
+    qApp->processEvents();
+
+    // CLI
+    if (qApp->arguments().size() > 1) {
+        QString query = qApp->arguments().at(1);
+        if (query.startsWith(QLatin1String("--"))) {
+            messageReceived(query);
+            qApp->quit();
+        } else {
+            SearchParams *searchParams = new SearchParams();
+            searchParams->setKeywords(query);
+            showMedia(searchParams);
+        }
+    }
+
     // Global shortcuts
     GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
 #ifdef Q_WS_X11
@@ -146,12 +195,11 @@ MainWindow::MainWindow() :
     mouseTimer->setSingleShot(true);
     connect(mouseTimer, SIGNAL(timeout()), SLOT(hideMouse()));
 
-    QTimer::singleShot(0, this, SLOT(checkForUpdate()));
+    JsFunctions::instance();
 
-}
+    checkForUpdate();
 
-MainWindow::~MainWindow() {
-    delete history;
+    ChannelAggregator::instance()->start();
 }
 
 void MainWindow::changeEvent(QEvent* event) {
@@ -222,9 +270,6 @@ void MainWindow::createActions() {
                 tr("P&revious"), this);
     skipBackwardAct->setStatusTip(tr("Go back to the previous track"));
     skipBackwardAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
-#if QT_VERSION >= 0x040600
-    skipBackwardAct->setPriority(QAction::LowPriority);
-#endif
     skipBackwardAct->setEnabled(false);
     actions->insert("previous", skipBackwardAct);
     connect(skipBackwardAct, SIGNAL(triggered()), mediaView, SLOT(skipBackward()));
@@ -253,9 +298,7 @@ void MainWindow::createActions() {
 #endif
     fullscreenAct->setShortcuts(fsShortcuts);
     fullscreenAct->setShortcutContext(Qt::ApplicationShortcut);
-#if QT_VERSION >= 0x040600
     fullscreenAct->setPriority(QAction::LowPriority);
-#endif
     actions->insert("fullscreen", fullscreenAct);
     connect(fullscreenAct, SIGNAL(triggered()), this, SLOT(fullscreen()));
 
@@ -381,13 +424,18 @@ void MainWindow::createActions() {
     volumeMuteAct = new QAction(this);
     volumeMuteAct->setIcon(Utils::icon("audio-volume-high"));
     volumeMuteAct->setStatusTip(tr("Mute volume"));
-    volumeMuteAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_E));
+    volumeMuteAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_K));
     actions->insert("volume-mute", volumeMuteAct);
     connect(volumeMuteAct, SIGNAL(triggered()), SLOT(volumeMute()));
     addAction(volumeMuteAct);
 
     QAction *definitionAct = new QAction(this);
+#ifdef Q_WS_X11
+    definitionAct->setIcon(Utils::tintedIcon("video-display", QColor(0, 0, 0),
+                                             QList<QSize>() << QSize(16, 16)));
+#else
     definitionAct->setIcon(Utils::icon("video-display"));
+#endif
     definitionAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_D));
     /*
     QMenu *definitionMenu = new QMenu(this);
@@ -420,14 +468,11 @@ void MainWindow::createActions() {
 
     action = new QAction(tr("&Download"), this);
     action->setStatusTip(tr("Download the current video"));
-#ifndef APP_NO_DOWNLOADS
     action->setShortcut(QKeySequence::Save);
-#endif
     action->setIcon(Utils::icon("document-save"));
     action->setEnabled(false);
-#if QT_VERSION >= 0x040600
+    action->setVisible(false);
     action->setPriority(QAction::LowPriority);
-#endif
     connect(action, SIGNAL(triggered()), mediaView, SLOT(downloadVideo()));
     actions->insert("download", action);
 
@@ -438,25 +483,37 @@ void MainWindow::createActions() {
     connect(action, SIGNAL(triggered()), mediaView, SLOT(snapshot()));
     */
 
+    action = new QAction(tr("&Subscribe to Channel"), this);
+    action->setProperty("originalText", action->text());
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
+    action->setEnabled(false);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(toggleSubscription()));
+    actions->insert("subscribe-channel", action);
+    mediaView->updateSubscriptionAction(0, false);
+
     QString shareTip = tr("Share the current video using %1");
 
     action = new QAction("&Twitter", this);
     action->setStatusTip(shareTip.arg("Twitter"));
+    action->setEnabled(false);
     actions->insert("twitter", action);
     connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaTwitter()));
 
     action = new QAction("&Facebook", this);
     action->setStatusTip(shareTip.arg("Facebook"));
+    action->setEnabled(false);
     actions->insert("facebook", action);
     connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaFacebook()));
 
     action = new QAction("&Buffer", this);
     action->setStatusTip(shareTip.arg("Buffer"));
+    action->setEnabled(false);
     actions->insert("buffer", action);
     connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaBuffer()));
 
     action = new QAction(tr("&Email"), this);
     action->setStatusTip(shareTip.arg(tr("Email")));
+    action->setEnabled(false);
     actions->insert("email", action);
     connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaEmail()));
 
@@ -505,36 +562,26 @@ void MainWindow::createActions() {
     action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R));
     action->setStatusTip(tr("Watch videos related to the current one"));
     action->setEnabled(false);
-#if QT_VERSION >= 0x040600
     action->setPriority(QAction::LowPriority);
-#endif
     connect(action, SIGNAL(triggered()), mediaView, SLOT(relatedVideos()));
     actions->insert("related-videos", action);
 
+    action = new QAction(tr("Open in &Browser..."), this);
+    action->setEnabled(false);
+    actions->insert("open-in-browser", action);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(openInBrowser()));
+
 #ifdef APP_ACTIVATION
     Extra::createActivationAction(tr("Buy %1...").arg(Constants::NAME));
 #endif
 
     // common action properties
     foreach (QAction *action, actions->values()) {
-
         // add actions to the MainWindow so that they work
         // when the menu is hidden
         addAction(action);
-
-        // never autorepeat.
-        // unexperienced users tend to keep keys pressed for a "long" time
-        action->setAutoRepeat(false);
-
-        // set to something more meaningful then the toolbar text
-        if (!action->statusTip().isEmpty())
-            action->setToolTip(action->statusTip());
-
-        // show keyboard shortcuts in the status bar
-        if (!action->shortcut().isEmpty())
-            action->setStatusTip(action->statusTip() + " (" + action->shortcut().toString(QKeySequence::NativeText) + ")");
+        Utils::setupAction(action);
     }
-
 }
 
 void MainWindow::createMenus() {
@@ -585,10 +632,11 @@ void MainWindow::createMenus() {
     videoMenu->addSeparator();
     videoMenu->addAction(webPageAct);
     videoMenu->addSeparator();
-#ifndef APP_NO_DOWNLOADS
+    videoMenu->addAction(The::globalActions()->value("subscribe-channel"));
+    videoMenu->addSeparator();
     videoMenu->addAction(The::globalActions()->value("download"));
-    // videoMenu->addAction(copyLinkAct);
-#endif
+    videoMenu->addAction(copyLinkAct);
+    videoMenu->addAction(The::globalActions()->value("open-in-browser"));
     // videoMenu->addAction(The::globalActions()->value("snapshot"));
 
     QMenu* viewMenu = menuBar()->addMenu(tr("&View"));
@@ -626,7 +674,7 @@ void MainWindow::createToolBars() {
     setUnifiedTitleAndToolBarOnMac(true);
 
     mainToolBar = new QToolBar(this);
-    mainToolBar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
+    mainToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly);
     mainToolBar->setFloatable(false);
     mainToolBar->setMovable(false);
 
@@ -639,9 +687,7 @@ void MainWindow::createToolBars() {
     mainToolBar->addAction(skipAct);
 
     mainToolBar->addAction(The::globalActions()->value("related-videos"));
-#ifndef APP_NO_DOWNLOADS
     mainToolBar->addAction(The::globalActions()->value("download"));
-#endif
 
     bool addFullScreenAct = true;
 #ifdef Q_WS_MAC
@@ -656,20 +702,23 @@ void MainWindow::createToolBars() {
     currentTime->setFont(smallerFont);
     mainToolBar->addWidget(currentTime);
 
+#ifdef APP_PHONON_SEEK
     mainToolBar->addWidget(new Spacer());
-
     seekSlider = new Phonon::SeekSlider(this);
+    seekSlider->setVisible(false);
     seekSlider->setIconVisible(false);
     seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
     mainToolBar->addWidget(seekSlider);
+#endif
 
-    /*
     mainToolBar->addWidget(new Spacer());
-    slider = new QSlider(this);
+    slider = new SeekSlider(this);
+    slider->setEnabled(false);
+    slider->setTracking(false);
+    slider->setMaximum(1000);
     slider->setOrientation(Qt::Horizontal);
     slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
     mainToolBar->addWidget(slider);
-*/
 
     mainToolBar->addWidget(new Spacer());
 
@@ -763,6 +812,9 @@ void MainWindow::showStopAfterThisInStatusBar(bool show) {
 }
 
 void MainWindow::showActionInStatusBar(QAction* action, bool show) {
+#ifdef APP_EXTRA
+    Extra::fadeInWidget(statusBar(), statusBar());
+#endif
     if (show) {
         statusToolBar->insertAction(statusToolBar->actions().first(), action);
     } else {
@@ -781,8 +833,6 @@ void MainWindow::readSettings() {
         setGeometry(100, 100, 1000, 500);
     }
     setDefinitionMode(settings.value("definition", VideoDefinition::getDefinitionNames().first()).toString());
-    audioOutput->setVolume(settings.value("volume", 1).toDouble());
-    // audioOutput->setMuted(settings.value("volumeMute").toBool());
     The::globalActions()->value("manualplay")->setChecked(settings.value("manualplay", false).toBool());
 }
 
@@ -823,7 +873,6 @@ void MainWindow::showWidget(QWidget* widget, bool transition) {
     View* newView = dynamic_cast<View *> (widget);
     if (newView) {
         widget->setEnabled(true);
-        newView->appear();
         QHash<QString,QVariant> metadata = newView->metadata();
         QString title = metadata.value("title").toString();
         if (title.isEmpty()) title = Constants::NAME;
@@ -831,37 +880,26 @@ void MainWindow::showWidget(QWidget* widget, bool transition) {
         setWindowTitle(title);
         QString desc = metadata.value("description").toString();
         if (!desc.isEmpty()) showMessage(desc);
+        newView->appear();
+
+        // dynamic view actions
+        foreach (QAction* action, viewActions)
+            showActionInStatusBar(action, false);
+        viewActions = newView->getViewActions();
+        foreach (QAction* action, viewActions)
+            showActionInStatusBar(action, true);
+
     }
 
     const bool isMediaView = widget == mediaView;
 
     stopAct->setEnabled(isMediaView);
     compactViewAct->setEnabled(isMediaView);
-    webPageAct->setEnabled(isMediaView);
-    copyPageAct->setEnabled(isMediaView);
-    copyLinkAct->setEnabled(isMediaView);
-    findVideoPartsAct->setEnabled(isMediaView);
     toolbarSearch->setEnabled(widget == homeView || isMediaView || widget == downloadView);
 
-    if (widget == homeView) {
-        skipAct->setEnabled(false);
-        The::globalActions()->value("previous")->setEnabled(false);
-        The::globalActions()->value("download")->setEnabled(false);
-        The::globalActions()->value("stopafterthis")->setEnabled(false);
-        The::globalActions()->value("related-videos")->setEnabled(false);
-        The::globalActions()->value("refine-search")->setEnabled(false);
-    }
-
-    The::globalActions()->value("twitter")->setEnabled(isMediaView);
-    The::globalActions()->value("facebook")->setEnabled(isMediaView);
-    The::globalActions()->value("buffer")->setEnabled(isMediaView);
-    The::globalActions()->value("email")->setEnabled(isMediaView);
-
     aboutAct->setEnabled(widget != aboutView);
     The::globalActions()->value("downloads")->setChecked(widget == downloadView);
 
-    setUpdatesEnabled(true);
-
     QWidget *oldWidget = views->currentWidget();
     if (oldWidget)
         oldWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
@@ -869,8 +907,11 @@ void MainWindow::showWidget(QWidget* widget, bool transition) {
     views->setCurrentWidget(widget);
     widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-#ifndef Q_WS_X11
-    if (transition && oldWidget != mediaView)
+    setUpdatesEnabled(true);
+
+#ifdef APP_EXTRA
+    if (transition && (oldWidget != mediaView ||
+                       !mediaView->getVideoArea()->isVideoShown()))
         Extra::fadeInWidget(oldWidget, widget);
 #endif
 
@@ -912,7 +953,11 @@ void MainWindow::quit() {
     if (!m_fullscreen && !compactViewAct->isChecked()) {
         writeSettings();
     }
+    mediaView->stop();
     Temporary::deleteAll();
+    ChannelAggregator::instance()->stop();
+    ChannelAggregator::instance()->cleanup();
+    Database::shutdown();
     qApp->quit();
 }
 
@@ -959,13 +1004,13 @@ void MainWindow::showHome(bool transition) {
 }
 
 void MainWindow::showMedia(SearchParams *searchParams) {
-    mediaView->search(searchParams);
     showWidget(mediaView);
+    mediaView->search(searchParams);
 }
 
 void MainWindow::showMedia(VideoSource *videoSource) {
-    mediaView->setVideoSource(videoSource);
     showWidget(mediaView);
+    mediaView->setVideoSource(videoSource);
 }
 
 void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) {
@@ -1101,9 +1146,11 @@ void MainWindow::updateUIForFullscreen() {
         fullscreenAct->setShortcuts(QList<QKeySequence>(fsShortcuts)
                                     << QKeySequence(Qt::Key_Escape));
         fullscreenAct->setText(tr("Leave &Full Screen"));
+        fullscreenAct->setIcon(Utils::icon("view-restore"));
     } else {
         fullscreenAct->setShortcuts(fsShortcuts);
         fullscreenAct->setText(fsText);
+        fullscreenAct->setIcon(Utils::icon("view-fullscreen"));
     }
 
     // No compact view action when in full screen
@@ -1139,7 +1186,18 @@ void MainWindow::updateUIForFullscreen() {
     }
 }
 
+bool MainWindow::isReallyFullScreen() {
+#ifdef Q_WS_MAC
+    WId handle = winId();
+    if (mac::CanGoFullScreen(handle)) return mac::IsFullScreen(handle);
+    else return isFullScreen();
+#else
+    return isFullScreen();
+#endif
+}
+
 void MainWindow::compactView(bool enable) {
+    m_compact = enable;
 
     static QList<QKeySequence> compactShortcuts;
     static QList<QKeySequence> stopShortcuts;
@@ -1152,7 +1210,7 @@ void MainWindow::compactView(bool enable) {
 #endif
 
     if (enable) {
-        setMinimumSize(160, 120);
+        setMinimumSize(320, 180);
 #ifdef Q_WS_MAC
         mac::RemoveFullScreenWindow(winId());
 #endif
@@ -1161,7 +1219,7 @@ void MainWindow::compactView(bool enable) {
         if (settings.contains(key))
             restoreGeometry(settings.value(key).toByteArray());
         else
-            resize(320, 240);
+            resize(320, 180);
 
         mainToolBar->setVisible(!enable);
         mediaView->setPlaylistVisible(!enable);
@@ -1197,6 +1255,10 @@ void MainWindow::compactView(bool enable) {
 
     // auto float on top
     floatOnTop(enable);
+
+#ifdef Q_WS_MAC
+    mac::compactMode(winId(), enable);
+#endif
 }
 
 void MainWindow::searchFocus() {
@@ -1214,12 +1276,17 @@ void MainWindow::initPhonon() {
             this, SLOT(stateChanged(Phonon::State, Phonon::State)));
     connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick(qint64)));
     connect(mediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
+#ifdef APP_PHONON_SEEK
     seekSlider->setMediaObject(mediaObject);
+#endif
     audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory, this);
     connect(audioOutput, SIGNAL(volumeChanged(qreal)), this, SLOT(volumeChanged(qreal)));
     connect(audioOutput, SIGNAL(mutedChanged(bool)), this, SLOT(volumeMutedChanged(bool)));
     volumeSlider->setAudioOutput(audioOutput);
     Phonon::createPath(mediaObject, audioOutput);
+    QSettings settings;
+    audioOutput->setVolume(settings.value("volume", 1).toDouble());
+    // audioOutput->setMuted(settings.value("volumeMute").toBool());
 }
 
 void MainWindow::tick(qint64 time) {
@@ -1236,11 +1303,12 @@ void MainWindow::tick(qint64 time) {
     const qint64 remainingTime = mediaObject->remainingTime();
     currentTime->setStatusTip(tr("Remaining time: %1").arg(formatTime(remainingTime)));
 
-    /*
     slider->blockSignals(true);
-    slider->setValue(time/1000);
+    const qint64 totalTime = mediaObject->totalTime();
+    // qWarning() << totalTime << time << time * 100 / totalTime;
+    if (totalTime > 0 && time > 0 && !slider->isSliderDown() && mediaObject->state() == Phonon::PlayingState)
+        slider->setValue(time * slider->maximum() / totalTime);
     slider->blockSignals(false);
-    */
 }
 
 void MainWindow::totalTimeChanged(qint64 time) {
index 160274821ae8125588a86b6fbb198385421edbd5..404fa137e13b2a5464f7076033345e0c89e96b85 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
@@ -24,13 +44,17 @@ public:
     static MainWindow* instance();
     MainWindow();
     ~MainWindow();
+#ifdef APP_PHONON_SEEK
     Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
+#endif
+    QSlider* getSlider() { return slider; }
     void readSettings();
     void writeSettings();
     static void printHelp();
     MediaView* getMediaView() { return mediaView; }
     QToolButton* getRegionButton() { return regionButton; }
     QAction* getRegionAction() { return regionAction; }
+    void showActionInStatusBar(QAction*, bool show);
 
 public slots:
     void showHome(bool transition = true);
@@ -49,6 +73,8 @@ public slots:
     void buy();
     void hideBuyAction();
 #endif
+    bool isReallyFullScreen();
+    bool isCompact() { return m_compact; }
 
 protected:
     void changeEvent(QEvent *);
@@ -59,6 +85,7 @@ protected:
     void resizeEvent(QResizeEvent *);
 
 private slots:
+    void lazyInit();
     void checkForUpdate();
     void gotNewVersion(QString version);
     void visitSite();
@@ -94,7 +121,6 @@ private slots:
     void toggleDownloads(bool show);
 
     void floatOnTop(bool);
-    void showActionInStatusBar(QAction*, bool show);
     void showStopAfterThisInStatusBar(bool show);
 
     void hideMouse();
@@ -115,6 +141,7 @@ private:
     // view mechanism
     QStackedWidget *views;
     QStack<QWidget*> *history;
+    QList<QAction*> viewActions;
 
     // view widgets
     HomeView *homeView;
@@ -168,7 +195,10 @@ private:
     QAction *regionAction;
 
     // phonon
+    QSlider *slider;
+#ifdef APP_PHONON_SEEK
     Phonon::SeekSlider *seekSlider;
+#endif
     Phonon::VolumeSlider *volumeSlider;
     Phonon::MediaObject *mediaObject;
     Phonon::AudioOutput *audioOutput;
@@ -179,6 +209,8 @@ private:
     bool m_fullscreen;
     bool m_maximized;
     QTimer *mouseTimer;
+    bool m_compact;
+
 };
 
 #endif
index 5caf3da828597525bcc3f63f8f99376bcdc9ae5b..c1a08468c065ec7f909372f319eb6259df7615d0 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "mediaview.h"
 #include "playlistmodel.h"
 #include "playlistview.h"
 #include "refinesearchwidget.h"
 #include "sidebarwidget.h"
 #include "sidebarheader.h"
-#ifdef APP_MAC
-#include "macfullscreen.h"
-#include "macutils.h"
-#endif
 #ifdef APP_ACTIVATION
 #include "activation.h"
 #endif
+#ifdef APP_EXTRA
+#include "extra.h"
+#endif
 #include "videosource.h"
 #include "ytsearch.h"
 #include "searchparams.h"
 #include "ytsinglevideosource.h"
+#include "channelaggregator.h"
+#include "utils.h"
+#include "ytuser.h"
 
 namespace The {
 NetworkAccess* http();
 QHash<QString, QAction*>* globalActions();
-QMap<QString, QMenu*>* globalMenus();
+QHash<QString, QMenu*>* globalMenus();
 QNetworkAccessManager* networkAccessManager();
 }
 
@@ -38,15 +60,15 @@ MediaView* MediaView::instance() {
     return i;
 }
 
-MediaView::MediaView(QWidget *parent) : QWidget(parent) {
-    reallyStopped = false;
-    downloadItem = 0;
+MediaView::MediaView(QWidget *parent) : QWidget(parent),
+    stopped(false),
+    downloadItem(0) { }
 
+void MediaView::initialize() {
     QBoxLayout *layout = new QVBoxLayout(this);
     layout->setMargin(0);
 
     splitter = new MiniSplitter();
-    splitter->setChildrenCollapsible(false);
 
     playlistView = new PlaylistView(this);
     // respond to the user doubleclicking a playlist item
@@ -78,7 +100,7 @@ MediaView::MediaView(QWidget *parent) : QWidget(parent) {
     splitter->addWidget(sidebar);
 
     videoAreaWidget = new VideoAreaWidget(this);
-    videoAreaWidget->setMinimumSize(320,240);
+    // videoAreaWidget->setMinimumSize(320,240);
     videoWidget = new Phonon::VideoWidget(this);
     videoAreaWidget->setVideoWidget(videoWidget);
     videoAreaWidget->setListModel(playlistModel);
@@ -88,14 +110,15 @@ MediaView::MediaView(QWidget *parent) : QWidget(parent) {
 
     splitter->addWidget(videoAreaWidget);
 
-    layout->addWidget(splitter);
-
-    splitter->setStretchFactor(0, 1);
-    splitter->setStretchFactor(1, 5);
+    splitter->setStretchFactor(0, 0);
+    splitter->setStretchFactor(1, 8);
 
     // restore splitter state
     QSettings settings;
     splitter->restoreState(settings.value("splitter").toByteArray());
+    splitter->setChildrenCollapsible(false);
+
+    layout->addWidget(splitter);
 
     errorTimer = new QTimer(this);
     errorTimer->setSingleShot(true);
@@ -108,15 +131,31 @@ MediaView::MediaView(QWidget *parent) : QWidget(parent) {
     connect(demoTimer, SIGNAL(timeout()), SLOT(demoMessage()));
 #endif
 
-}
-
-void MediaView::initialize() {
     connect(videoAreaWidget, SIGNAL(doubleClicked()),
             The::globalActions()->value("fullscreen"), SLOT(trigger()));
 
     QAction* refineSearchAction = The::globalActions()->value("refine-search");
     connect(refineSearchAction, SIGNAL(toggled(bool)),
             sidebar, SLOT(toggleRefineSearch(bool)));
+
+    currentVideoActions
+            << The::globalActions()->value("webpage")
+            << The::globalActions()->value("pagelink")
+            << The::globalActions()->value("videolink")
+            << The::globalActions()->value("open-in-browser")
+            << The::globalActions()->value("findVideoParts")
+            << The::globalActions()->value("skip")
+            << The::globalActions()->value("previous")
+            << The::globalActions()->value("stopafterthis")
+            << The::globalActions()->value("related-videos")
+            << The::globalActions()->value("refine-search")
+            << The::globalActions()->value("twitter")
+            << The::globalActions()->value("facebook")
+            << The::globalActions()->value("buffer")
+            << The::globalActions()->value("email");
+
+    QSlider *slider = MainWindow::instance()->getSlider();
+    connect(slider, SIGNAL(valueChanged(int)), SLOT(sliderMoved(int)));
 }
 
 void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
@@ -125,8 +164,6 @@ void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
     connect(mediaObject, SIGNAL(finished()), SLOT(playbackFinished()));
     connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
             SLOT(stateChanged(Phonon::State, Phonon::State)));
-    connect(mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
-            SLOT(currentSourceChanged(Phonon::MediaSource)));
     connect(mediaObject, SIGNAL(aboutToFinish()), SLOT(aboutToFinish()));
 }
 
@@ -156,19 +193,24 @@ void MediaView::search(SearchParams *searchParams) {
 }
 
 void MediaView::setVideoSource(VideoSource *videoSource, bool addToHistory) {
-    reallyStopped = false;
+    stopped = false;
 
 #ifdef APP_ACTIVATION
     demoTimer->stop();
 #endif
     errorTimer->stop();
 
+    // qDebug() << "Adding VideoSource" << videoSource->getName() << videoSource;
+
     if (addToHistory) {
         int currentIndex = getHistoryIndex();
         if (currentIndex >= 0 && currentIndex < history.size() - 1) {
             while (history.size() > currentIndex + 1) {
                 VideoSource *vs = history.takeLast();
-                if (!vs->parent()) delete vs;
+                if (!vs->parent()) {
+                    qDebug() << "Deleting VideoSource" << vs->getName() << vs;
+                    delete vs;
+                }
             }
         }
         history.append(videoSource);
@@ -184,8 +226,6 @@ void MediaView::setVideoSource(VideoSource *videoSource, bool addToHistory) {
     SearchParams *searchParams = getSearchParams();
     bool isChannel = searchParams && !searchParams->author().isEmpty();
     playlistView->setClickableAuthors(!isChannel);
-
-    The::globalActions()->value("related-videos")->setEnabled(true);
 }
 
 void MediaView::searchAgain() {
@@ -226,6 +266,12 @@ int MediaView::getHistoryIndex() {
 
 void MediaView::appear() {
     playlistView->setFocus();
+    Video *currentVideo = playlistModel->activeVideo();
+    if (currentVideo) {
+        MainWindow::instance()->setWindowTitle(
+                    currentVideo->title() + " - " + Constants::NAME);
+        MainWindow::instance()->showMessage(currentVideo->description());
+    }
 }
 
 void MediaView::disappear() {
@@ -262,58 +308,76 @@ QRegExp MediaView::wordRE(QString s) {
 }
 
 void MediaView::stop() {
+    stopped = true;
+
+    while (!history.isEmpty()) {
+        VideoSource *videoSource = history.takeFirst();
+        if (!videoSource->parent()) delete videoSource;
+    }
+
     playlistModel->abortSearch();
-    reallyStopped = true;
-    mediaObject->stop();
     videoAreaWidget->clear();
+    videoAreaWidget->update();
     errorTimer->stop();
     playlistView->selectionModel()->clearSelection();
     if (downloadItem) {
         downloadItem->stop();
         delete downloadItem;
         downloadItem = 0;
+        currentVideoSize = 0;
     }
     The::globalActions()->value("refine-search")->setChecked(false);
+    updateSubscriptionAction(0, false);
+#ifdef APP_ACTIVATION
+    demoTimer->stop();
+#endif
 
-    while (!history.isEmpty()) {
-        VideoSource *videoSource = history.takeFirst();
-        if (!videoSource->parent()) delete videoSource;
-    }
+    foreach (QAction *action, currentVideoActions)
+        action->setEnabled(false);
+
+    QAction *a = The::globalActions()->value("download");
+    a->setEnabled(false);
+    a->setVisible(false);
+
+    mediaObject->stop();
+    currentVideoId.clear();
+
+    QSlider *slider = MainWindow::instance()->getSlider();
+    slider->setEnabled(false);
+    slider->setValue(0);
 }
 
-Video* MediaView::getCurrentVideo() {
-    Video *currentVideo = 0;
-    if (downloadItem)
-        currentVideo = downloadItem->getVideo();
-    return currentVideo;
+const QString & MediaView::getCurrentVideoId() {
+    return currentVideoId;
 }
 
 void MediaView::activeRowChanged(int row) {
-    if (reallyStopped) return;
-
-    Video *video = playlistModel->videoAt(row);
-    if (!video) return;
+    if (stopped) return;
 
     errorTimer->stop();
 
-    videoAreaWidget->showLoading(video);
-
     mediaObject->stop();
     if (downloadItem) {
         downloadItem->stop();
         delete downloadItem;
         downloadItem = 0;
+        currentVideoSize = 0;
     }
 
+    Video *video = playlistModel->videoAt(row);
+    if (!video) return;
+
+    videoAreaWidget->showLoading(video);
+
     connect(video, SIGNAL(gotStreamUrl(QUrl)),
             SLOT(gotStreamUrl(QUrl)), Qt::UniqueConnection);
     connect(video, SIGNAL(errorStreamUrl(QString)),
             SLOT(handleError(QString)), Qt::UniqueConnection);
-
     video->loadStreamUrl();
 
-    // video title in the statusbar
-    MainWindow::instance()->showMessage(video->title());
+    // video title in titlebar
+    MainWindow::instance()->setWindowTitle(video->title() + " - " + Constants::NAME);
+    MainWindow::instance()->showMessage(video->description());
 
     // ensure active item is visible
     if (row != -1) {
@@ -324,16 +388,41 @@ void MediaView::activeRowChanged(int row) {
     // enable/disable actions
     The::globalActions()->value("download")->setEnabled(
                 DownloadManager::instance()->itemForVideo(video) == 0);
-    The::globalActions()->value("skip")->setEnabled(true);
     The::globalActions()->value("previous")->setEnabled(row > 0);
     The::globalActions()->value("stopafterthis")->setEnabled(true);
     The::globalActions()->value("related-videos")->setEnabled(true);
 
+#ifndef APP_NO_DOWNLOADS
+    bool enableDownload = video->license() == Video::LicenseCC;
+#ifdef APP_ACTIVATION
+    enableDownload = enableDownload || Activation::instance().isLegacy();
+#endif
+#ifdef APP_DOWNLOADS
+    enableDownload = true;
+#endif
+    QAction *a = The::globalActions()->value("download");
+    a->setEnabled(enableDownload);
+    a->setVisible(enableDownload);
+#endif
+
+    updateSubscriptionAction(video, YTUser::isSubscribed(video->userId()));
+
+    foreach (QAction *action, currentVideoActions)
+        action->setEnabled(true);
+
+    QSlider *slider = MainWindow::instance()->getSlider();
+    slider->setEnabled(false);
+    slider->setValue(0);
+
     // see you in gotStreamUrl...
 }
 
 void MediaView::gotStreamUrl(QUrl streamUrl) {
-    if (reallyStopped) return;
+    if (stopped) return;
+    if (!streamUrl.isValid()) {
+        skip();
+        return;
+    }
 
     Video *video = static_cast<Video *>(sender());
     if (!video) {
@@ -342,77 +431,62 @@ void MediaView::gotStreamUrl(QUrl streamUrl) {
     }
     video->disconnect(this);
 
-    QString tempFile = Temporary::filename();
+    currentVideoId = video->id();
 
-    Video *videoCopy = video->clone();
-    if (downloadItem) {
-        downloadItem->stop();
-        delete downloadItem;
+#ifdef Q_WS_X11_NO
+    mediaObject->setCurrentSource(streamUrl);
+    mediaObject->play();
+#else
+    startDownloading();
+#endif
+
+    // ensure we always have 10 videos ahead
+    playlistModel->searchNeeded();
+
+    // ensure active item is visible
+    int row = playlistModel->activeRow();
+    if (row != -1) {
+        QModelIndex index = playlistModel->index(row, 0, QModelIndex());
+        playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
     }
-    downloadItem = new DownloadItem(videoCopy, streamUrl, tempFile, this);
-    connect(downloadItem, SIGNAL(statusChanged()),
-            SLOT(downloadStatusChanged()), Qt::UniqueConnection);
-    // connect(downloadItem, SIGNAL(progress(int)), SLOT(downloadProgress(int)));
-    connect(downloadItem, SIGNAL(bufferProgress(int)),
-            loadingWidget, SLOT(bufferStatus(int)), Qt::UniqueConnection);
-    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
-    connect(video, SIGNAL(errorStreamUrl(QString)),
-            SLOT(handleError(QString)), Qt::UniqueConnection);
-    connect(downloadItem, SIGNAL(error(QString)),
-            SLOT(handleError(QString)), Qt::UniqueConnection);
-    downloadItem->start();
 
-#ifdef Q_WS_MAC
-    if (mac::canNotify())
-        mac::notify(video->title(), video->author(), video->formattedDuration());
+#ifdef APP_ACTIVATION
+    if (!Activation::instance().isActivated())
+        demoTimer->start(180000);
+#endif
+
+#ifdef APP_EXTRA
+    Extra::notify(video->title(), video->author(), video->formattedDuration());
 #endif
-}
 
-/*
-void MediaView::downloadProgress(int percent) {
-    MainWindow* mainWindow = dynamic_cast<MainWindow*>(window());
-
-    mainWindow->getSeekSlider()->setStyleSheet(" QSlider::groove:horizontal {"
-        "border: 1px solid #999999;"
-        // "border-left: 50px solid rgba(255, 0, 0, 128);"
-        "height: 8px;"
-        "background: qlineargradient(x1:0, y1:0, x2:.5, y2:0, stop:0 rgba(255, 0, 0, 92), stop:"
-        + QString::number(percent/100.0) +
-
-        " rgba(255, 0, 0, 92), stop:" + QString::number((percent+1)/100.0) + " transparent, stop:1 transparent);"
-        "margin: 2px 0;"
-    "}"
-    "QSlider::handle:horizontal {"
-        "background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:1 #8f8f8f);"
-        "border: 1px solid #5c5c5c;"
-        "width: 16px;"
-        "height: 16px;"
-        "margin: -2px 0;"
-        "border-radius: 8px;"
-    "}"
-
-    );
+    ChannelAggregator::instance()->videoWatched(video);
 }
 
-*/
-
 void MediaView::downloadStatusChanged() {
+    // qDebug() << __PRETTY_FUNCTION__;
     switch(downloadItem->status()) {
     case Downloading:
-        startPlaying();
+        // qDebug() << "Downloading";
+        if (downloadItem->offset() == 0) startPlaying();
+        else {
+            // qDebug() << "Seeking to" << downloadItem->offset();
+            mediaObject->seek(offsetToTime(downloadItem->offset()));
+            mediaObject->play();
+        }
         break;
     case Starting:
         // qDebug() << "Starting";
         break;
     case Finished:
         // qDebug() << "Finished" << mediaObject->state();
-        // if (mediaObject->state() == Phonon::StoppedState) startPlaying();
 #ifdef Q_WS_X11
-        MainWindow::instance()->getSeekSlider()->setEnabled(mediaObject->isSeekable());
+        // MainWindow::instance()->getSeekSlider()->setEnabled(mediaObject->isSeekable());
 #endif
         break;
     case Failed:
         // qDebug() << "Failed";
+        skip();
+        break;
     case Idle:
         // qDebug() << "Idle";
         break;
@@ -420,36 +494,29 @@ void MediaView::downloadStatusChanged() {
 }
 
 void MediaView::startPlaying() {
-    if (reallyStopped) return;
+    // qDebug() << __PRETTY_FUNCTION__;
+    if (stopped) return;
     if (!downloadItem) {
         skip();
         return;
     }
 
+    if (downloadItem->offset() == 0) {
+        currentVideoSize = downloadItem->bytesTotal();
+        // qDebug() << "currentVideoSize" << currentVideoSize;
+    }
+
     // go!
     QString source = downloadItem->currentFilename();
-    qDebug() << "Playing" << source;
+    qDebug() << "Playing" << source << QFile::exists(source);
     mediaObject->setCurrentSource(source);
     mediaObject->play();
 #ifdef Q_WS_X11
-    MainWindow::instance()->getSeekSlider()->setEnabled(false);
-#endif
-
-    // ensure we always have 10 videos ahead
-    playlistModel->searchNeeded();
-
-    // ensure active item is visible
-    int row = playlistModel->activeRow();
-    if (row != -1) {
-        QModelIndex index = playlistModel->index(row, 0, QModelIndex());
-        playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
-    }
-
-#ifdef APP_ACTIVATION
-    if (!Activation::instance().isActivated())
-        demoTimer->start(180000);
+    // MainWindow::instance()->getSeekSlider()->setEnabled(false);
 #endif
 
+    QSlider *slider = MainWindow::instance()->getSlider();
+    slider->setEnabled(true);
 }
 
 void MediaView::itemActivated(const QModelIndex &index) {
@@ -459,7 +526,8 @@ void MediaView::itemActivated(const QModelIndex &index) {
         Video *activeVideo = playlistModel->activeVideo();
         Video *video = playlistModel->videoAt(index.row());
         if (activeVideo && video && activeVideo == video) {
-            mediaObject->seek(0);
+            // mediaObject->seek(0);
+            sliderMoved(0);
             mediaObject->play();
         } else playlistModel->setActiveRow(index.row());
 
@@ -470,10 +538,6 @@ void MediaView::itemActivated(const QModelIndex &index) {
     }
 }
 
-void MediaView::currentSourceChanged(const Phonon::MediaSource /* source */ ) {
-
-}
-
 void MediaView::skipVideo() {
     // skippedVideo is useful for DELAYED skip operations
     // in order to be sure that we're skipping the video we wanted
@@ -504,9 +568,9 @@ void MediaView::skipBackward() {
 
 void MediaView::aboutToFinish() {
     qint64 currentTime = mediaObject->currentTime();
-    qDebug() << __PRETTY_FUNCTION__ << currentTime;
-    if (currentTime + 10000 < mediaObject->totalTime()) {
-        // mediaObject->seek(mediaObject->currentTime());
+    qint64 totalTime = mediaObject->totalTime();
+    qDebug() << __PRETTY_FUNCTION__ << currentTime << totalTime;
+    if (totalTime < 1 || currentTime + 10000 < totalTime) {
         // QTimer::singleShot(500, this, SLOT(playbackResume()));
         mediaObject->seek(currentTime);
         mediaObject->play();
@@ -514,11 +578,12 @@ void MediaView::aboutToFinish() {
 }
 
 void MediaView::playbackFinished() {
-    const int totalTime = mediaObject->totalTime();
-    const int currentTime = mediaObject->currentTime();
+    if (stopped) return;
+    const qint64 totalTime = mediaObject->totalTime();
+    const qint64 currentTime = mediaObject->currentTime();
     qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime() << totalTime;
     // add 10 secs for imprecise Phonon backends (VLC, Xine)
-    if (currentTime > 0 && currentTime + 10000 < totalTime) {
+    if (totalTime < 1 || (currentTime > 0 && currentTime + 10000 < totalTime)) {
         // mediaObject->seek(currentTime);
         QTimer::singleShot(500, this, SLOT(playbackResume()));
     } else {
@@ -530,8 +595,11 @@ void MediaView::playbackFinished() {
 }
 
 void MediaView::playbackResume() {
-    qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
-    mediaObject->seek(mediaObject->currentTime());
+    if (stopped) return;
+    const qint64 currentTime = mediaObject->currentTime();
+    qDebug() << __PRETTY_FUNCTION__ << currentTime;
+    if (currentTime > 0)
+        mediaObject->seek(currentTime);
     mediaObject->play();
 }
 
@@ -560,6 +628,13 @@ void MediaView::copyVideoLink() {
     MainWindow::instance()->showMessage(message);
 }
 
+void MediaView::openInBrowser() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    mediaObject->pause();
+    QDesktopServices::openUrl(video->getStreamUrl());
+}
+
 void MediaView::removeSelected() {
     if (!playlistView->selectionModel()->hasSelection()) return;
     QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
@@ -574,7 +649,8 @@ void MediaView::selectVideos(QList<Video*> videos) {
     }
 }
 
-void MediaView::selectionChanged(const QItemSelection & /*selected*/, const QItemSelection & /*deselected*/) {
+void MediaView::selectionChanged(const QItemSelection & /*selected*/,
+                                 const QItemSelection & /*deselected*/) {
     const bool gotSelection = playlistView->selectionModel()->hasSelection();
     The::globalActions()->value("remove")->setEnabled(gotSelection);
     The::globalActions()->value("moveUp")->setEnabled(gotSelection);
@@ -590,7 +666,8 @@ void MediaView::moveUpSelected() {
 
     // set current index after row moves to something more intuitive
     int row = indexes.first().row();
-    playlistView->selectionModel()->setCurrentIndex(playlistModel->index(row>1?row:1), QItemSelectionModel::NoUpdate);
+    playlistView->selectionModel()->setCurrentIndex(playlistModel->index(row>1?row:1),
+                                                    QItemSelectionModel::NoUpdate);
 }
 
 void MediaView::moveDownSelected() {
@@ -600,9 +677,11 @@ void MediaView::moveDownSelected() {
     qStableSort(indexes.begin(), indexes.end(), qGreater<QModelIndex>());
     playlistModel->move(indexes, false);
 
-    // set current index after row moves to something more intuitive (respect 1 static item on bottom)
+    // set current index after row moves to something more intuitive
+    // (respect 1 static item on bottom)
     int row = indexes.first().row()+1, max = playlistModel->rowCount() - 2;
-    playlistView->selectionModel()->setCurrentIndex(playlistModel->index(row>max?max:row), QItemSelectionModel::NoUpdate);
+    playlistView->selectionModel()->setCurrentIndex(
+                playlistModel->index(row>max?max:row), QItemSelectionModel::NoUpdate);
 }
 
 void MediaView::setPlaylistVisible(bool visible) {
@@ -679,6 +758,7 @@ void MediaView::downloadVideo() {
     MainWindow::instance()->showMessage(message);
 }
 
+/*
 void MediaView::snapshot() {
     QImage image = videoWidget->snapshot();
     qDebug() << image.size();
@@ -687,58 +767,66 @@ void MediaView::snapshot() {
     // qDebug() << pixmap.size();
     videoAreaWidget->showSnapshotPreview(pixmap);
 }
+*/
 
 void MediaView::fullscreen() {
     videoAreaWidget->setParent(0);
     videoAreaWidget->showFullScreen();
 }
 
-/*
-void MediaView::setSlider(QSlider *slider) {
-    this->slider = slider;
-    // slider->setEnabled(false);
-    slider->setTracking(false);
-    // connect(slider, SIGNAL(valueChanged(int)), SLOT(sliderMoved(int)));
+void MediaView::startDownloading() {
+    Video *video = playlistModel->activeVideo();
+    if (!video) return;
+    Video *videoCopy = video->clone();
+    if (downloadItem) {
+        downloadItem->stop();
+        delete downloadItem;
+    }
+    QString tempFile = Temporary::filename();
+    downloadItem = new DownloadItem(videoCopy, video->getStreamUrl(), tempFile, this);
+    connect(downloadItem, SIGNAL(statusChanged()),
+            SLOT(downloadStatusChanged()), Qt::UniqueConnection);
+    connect(downloadItem, SIGNAL(bufferProgress(int)),
+            loadingWidget, SLOT(bufferStatus(int)), Qt::UniqueConnection);
+    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
+    connect(video, SIGNAL(errorStreamUrl(QString)),
+            SLOT(handleError(QString)), Qt::UniqueConnection);
+    connect(downloadItem, SIGNAL(error(QString)),
+            SLOT(handleError(QString)), Qt::UniqueConnection);
+    downloadItem->start();
 }
 
 void MediaView::sliderMoved(int value) {
-    qDebug() << __func__;
-    int sliderPercent = (value * 100) / (slider->maximum() - slider->minimum());
-    qDebug() << slider->minimum() << value << slider->maximum();
-    if (sliderPercent <= downloadItem->currentPercent()) {
-        qDebug() << sliderPercent << downloadItem->currentPercent();
-        mediaObject->seek(value);
+    if (currentVideoSize <= 0 || !downloadItem || !mediaObject->isSeekable())
+        return;
+
+    QSlider *slider = MainWindow::instance()->getSlider();
+    if (slider->isSliderDown()) return;
+
+    qint64 offset = (currentVideoSize * value) / slider->maximum();
+
+    bool needsDownload = downloadItem->needsDownload(offset);
+    if (needsDownload) {
+        if (downloadItem->isBuffered(offset)) {
+            qint64 realOffset = downloadItem->blankAtOffset(offset);
+            if (offset < currentVideoSize)
+                downloadItem->seekTo(realOffset, false);
+            mediaObject->seek(offsetToTime(offset));
+        } else {
+            mediaObject->pause();
+            downloadItem->seekTo(offset);
+        }
     } else {
-        seekTo(value);
+        // qDebug() << "simple seek";
+        mediaObject->seek(offsetToTime(offset));
     }
 }
 
-void MediaView::seekTo(int value) {
-    qDebug() << __func__;
-    mediaObject->pause();
-    errorTimer->stop();
-    // mediaObject->clear();
-
-    QString tempDir = QDesktopServices::storageLocation(QDesktopServices::TempLocation);
-    QString tempFile = tempDir + "/minitube" + QString::number(value) + ".mp4";
-    if (!QFile::remove(tempFile)) {
-        qDebug() << "Cannot remove temp file";
-    }
-    Video *videoCopy = downloadItem->getVideo()->clone();
-    QUrl streamUrl = videoCopy->getStreamUrl();
-    streamUrl.addQueryItem("begin", QString::number(value));
-    if (downloadItem) delete downloadItem;
-    downloadItem = new DownloadItem(videoCopy, streamUrl, tempFile, this);
-    connect(downloadItem, SIGNAL(statusChanged()), SLOT(downloadStatusChanged()));
-    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
-    downloadItem->start();
-
-    // slider->setMinimum(value);
-
+qint64 MediaView::offsetToTime(qint64 offset) {
+    const qint64 totalTime = mediaObject->totalTime();
+    return ((offset * totalTime) / currentVideoSize);
 }
 
-*/
-
 void MediaView::findVideoParts() {
 
     // parts
@@ -757,24 +845,28 @@ void MediaView::findVideoParts() {
     static QString counterNumber = "([1-9]|1[0-5])";
 
     // query.remove(QRegExp(counterSeparators + optionalSpace + counterNumber));
-    query.remove(QRegExp(counterNumber + optionalSpace + counterSeparators + optionalSpace + counterNumber));
+    query.remove(QRegExp(counterNumber + optionalSpace +
+                         counterSeparators + optionalSpace + counterNumber));
     query.remove(wordRE("pr?t\\.?" + optionalSpace + counterNumber));
     query.remove(wordRE("ep\\.?" + optionalSpace + counterNumber));
     query.remove(wordRE("part" + optionalSpace + counterNumber));
     query.remove(wordRE("episode" + optionalSpace + counterNumber));
     query.remove(wordRE(tr("part", "This is for video parts, as in 'Cool video - part 1'") +
                         optionalSpace + counterNumber));
-    query.remove(wordRE(tr("episode", "This is for video parts, as in 'Cool series - episode 1'") +
+    query.remove(wordRE(tr("episode",
+                           "This is for video parts, as in 'Cool series - episode 1'") +
                         optionalSpace + counterNumber));
     query.remove(QRegExp("[\\(\\)\\[\\]]"));
 
 #define NUMBERS "one|two|three|four|five|six|seven|eight|nine|ten"
 
-    QRegExp englishNumberRE = QRegExp(QLatin1String(".*(") + NUMBERS + ").*", Qt::CaseInsensitive);
+    QRegExp englishNumberRE = QRegExp(QLatin1String(".*(") + NUMBERS + ").*",
+                                      Qt::CaseInsensitive);
     // bool numberAsWords = englishNumberRE.exactMatch(query);
     query.remove(englishNumberRE);
 
-    QRegExp localizedNumberRE = QRegExp(QLatin1String(".*(") + tr(NUMBERS) + ").*", Qt::CaseInsensitive);
+    QRegExp localizedNumberRE = QRegExp(QLatin1String(".*(") + tr(NUMBERS) + ").*",
+                                        Qt::CaseInsensitive);
     // if (!numberAsWords) numberAsWords = localizedNumberRE.exactMatch(query);
     query.remove(localizedNumberRE);
 
@@ -852,7 +944,7 @@ void MediaView::authorPushed(QModelIndex index) {
     Video* video = playlistModel->videoAt(index.row());
     if (!video) return;
 
-    QString channel = video->authorUri();
+    QString channel = video->userId();
     if (channel.isEmpty()) channel = video->author();
     if (channel.isEmpty()) return;
 
@@ -863,3 +955,53 @@ void MediaView::authorPushed(QModelIndex index) {
     // go!
     search(searchParams);
 }
+
+void MediaView::updateSubscriptionAction(Video *video, bool subscribed) {
+    QAction *subscribeAction = The::globalActions()->value("subscribe-channel");
+
+    QString subscribeTip;
+    QString subscribeText;
+    if (!video) {
+        subscribeText = subscribeAction->property("originalText").toString();
+        subscribeAction->setEnabled(false);
+    } else if (subscribed) {
+        subscribeText = tr("Unsubscribe from %1").arg(video->author());
+        subscribeTip = subscribeText;
+        subscribeAction->setEnabled(true);
+    } else {
+        subscribeText = tr("Subscribe to %1").arg(video->author());
+        subscribeTip = subscribeText;
+        subscribeAction->setEnabled(true);
+    }
+    subscribeAction->setText(subscribeText);
+    subscribeAction->setStatusTip(subscribeTip);
+
+    if (subscribed) {
+#ifdef Q_WS_X11
+        static QIcon tintedIcon;
+        if (tintedIcon.isNull()) {
+            QList<QSize> sizes;
+            sizes << QSize(16, 16);
+            tintedIcon = Utils::tintedIcon("bookmark-new", QColor(254, 240, 0), sizes);
+        }
+        subscribeAction->setIcon(tintedIcon);
+#else
+        subscribeAction->setIcon(Utils::icon("bookmark-remove"));
+#endif
+    } else {
+        subscribeAction->setIcon(Utils::icon("bookmark-new"));
+    }
+
+    Utils::setupAction(subscribeAction);
+}
+
+void MediaView::toggleSubscription() {
+    Video *video = playlistModel->activeVideo();
+    if (!video) return;
+    QString userId = video->userId();
+    if (userId.isEmpty()) return;
+    bool subscribed = YTUser::isSubscribed(userId);
+    if (subscribed) YTUser::unsubscribe(userId);
+    else YTUser::subscribe(userId);
+    updateSubscriptionAction(video, !subscribed);
+}
index 8277707e4a4be3f26df1fc86c045c2e0cb9323fd..2bc3f29e3a3e380822ff59abe6320f93df84d46d 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef __MEDIAVIEW_H__
 #define __MEDIAVIEW_H__
 
@@ -37,7 +57,9 @@ public:
     const QList<VideoSource*> & getHistory() { return history; }
     int getHistoryIndex();
     PlaylistModel* getPlaylistModel() { return playlistModel; }
-    Video* getCurrentVideo();
+    const QString &getCurrentVideoId();
+    void updateSubscriptionAction(Video *video, bool subscribed);
+    VideoAreaWidget* getVideoArea() { return videoAreaWidget; }
 
 public slots:
     void search(SearchParams *searchParams);
@@ -50,6 +72,7 @@ public slots:
     void openWebPage();
     void copyWebPage();
     void copyVideoLink();
+    void openInBrowser();
     void shareViaTwitter();
     void shareViaFacebook();
     void shareViaBuffer();
@@ -61,7 +84,7 @@ public slots:
     void setPlaylistVisible(bool visible=true);
     void saveSplitterState();
     void downloadVideo();
-    void snapshot();
+    // void snapshot();
     void fullscreen();
     void findVideoParts();
     void relatedVideos();
@@ -69,6 +92,7 @@ public slots:
     void goBack();
     bool canGoForward();
     void goForward();
+    void toggleSubscription();
 
 private slots:
     // list/model
@@ -80,7 +104,6 @@ private slots:
     void handleError(QString message);
     // phonon
     void stateChanged(Phonon::State newState, Phonon::State oldState);
-    void currentSourceChanged(const Phonon::MediaSource source);
     void aboutToFinish();
 #ifdef APP_ACTIVATION
     void demoMessage();
@@ -92,16 +115,14 @@ private slots:
     void playbackResume();
     void authorPushed(QModelIndex);
     void searchAgain();
-
-    /*
-    void downloadProgress(int percent);
     void sliderMoved(int value);
-    void seekTo(int value);
-    */
+    qint64 offsetToTime(qint64 offset);
+    void startDownloading();
 
 private:
     MediaView(QWidget *parent = 0);
     SearchParams* getSearchParams();
+
     static QRegExp wordRE(QString s);
 
     QSplitter *splitter;
@@ -115,9 +136,10 @@ private:
     Phonon::MediaObject *mediaObject;
     Phonon::VideoWidget *videoWidget;
 
-    bool reallyStopped;
+    bool stopped;
     QTimer *errorTimer;
     Video *skippedVideo;
+    QString currentVideoId;
 
 #ifdef APP_ACTIVATION
     QTimer *demoTimer;
@@ -125,6 +147,9 @@ private:
 
     DownloadItem *downloadItem;
     QList<VideoSource*> history;
+    QList<QAction*> currentVideoActions;
+
+    qint64 currentVideoSize;
 };
 
 #endif // __MEDIAVIEW_H__
index 4ed98b7688eb37b1fb50b11991d806617a05a382..ea8b557b9d339a82d7582d6bd43bb72f419b1066 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "networkaccess.h"
 #include "constants.h"
 #include <QtGui>
@@ -12,7 +32,7 @@ const QString USER_AGENT = QString(Constants::NAME)
                            + " (" + Constants::WEBSITE + ")";
 */
 
-const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11";
+const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36";
 
 NetworkReply::NetworkReply(QNetworkReply *networkReply) :
     QObject(networkReply),
@@ -22,7 +42,7 @@ NetworkReply::NetworkReply(QNetworkReply *networkReply) :
     setupReply();
 
     readTimeoutTimer = new QTimer(this);
-    readTimeoutTimer->setInterval(10000);
+    readTimeoutTimer->setInterval(25000);
     readTimeoutTimer->setSingleShot(true);
     connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()), Qt::UniqueConnection);
     readTimeoutTimer->start();
@@ -70,7 +90,7 @@ void NetworkReply::finished() {
 }
 
 void NetworkReply::requestError(QNetworkReply::NetworkError code) {
-    qDebug() << networkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()
+    qWarning() << networkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()
              << networkReply->errorString() << code;
     emit error(networkReply);
 }
@@ -121,11 +141,14 @@ QNetworkRequest NetworkAccess::buildRequest(QUrl url) {
     return request;
 }
 
-QNetworkReply* NetworkAccess::request(QUrl url, int operation, const QByteArray& body) {
+QNetworkReply* NetworkAccess::request(QUrl url, int operation, const QByteArray& body, uint offset) {
     QNetworkAccessManager *manager = The::networkAccessManager();
 
     QNetworkRequest request = buildRequest(url);
 
+    if (offset > 0)
+        request.setRawHeader("Range", QString("bytes=%1-").arg(offset).toUtf8());
+
     QNetworkReply *networkReply;
     switch (operation) {
 
index a595ac725a411fe828a5e38eb220c5eb1c7f43cd..770818651bf4295e8de1dbfd45bc53e0391e2f76 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef NETWORKACCESS_H
 #define NETWORKACCESS_H
 
@@ -43,7 +63,7 @@ public:
     NetworkAccess(QObject* parent = 0);
     QNetworkReply* request(QUrl url,
                              int operation = QNetworkAccessManager::GetOperation,
-                             const QByteArray &body = QByteArray());
+                             const QByteArray &body = QByteArray(), uint offset = 0);
     NetworkReply* get(QUrl url);
     NetworkReply* head(QUrl url);
     NetworkReply* post(QUrl url, const QMap<QString, QString>& params);
diff --git a/src/painterutils.cpp b/src/painterutils.cpp
new file mode 100644 (file)
index 0000000..54ee39e
--- /dev/null
@@ -0,0 +1,108 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "painterutils.h"
+#include "fontutils.h"
+
+PainterUtils::PainterUtils() { }
+
+void PainterUtils::centeredMessage(QString message, QWidget* widget) {
+    QPainter painter(widget);
+    painter.setFont(FontUtils::bigBold());
+    QSize textSize(QFontMetrics(painter.font()).size(Qt::TextSingleLine, message));
+    QPoint topLeft(
+                (widget->width()-textSize.width())/2,
+                ((widget->height()-textSize.height())/2)
+                );
+    QRect rect(topLeft, textSize);
+
+    /*
+    rect.adjust(0, -1, 0, 0);
+    painter.setPen(QColor(0, 0, 0, 128));
+    painter.drawText(rect, Qt::AlignCenter, message);
+    rect.adjust(0, 1, 0, 0);
+    */
+
+    QPen textPen;
+    textPen.setBrush(widget->palette().mid());
+    painter.setPen(textPen);
+    painter.drawText(rect, Qt::AlignCenter, message);
+}
+
+void PainterUtils::topShadow(QWidget *widget) {
+    static QLinearGradient shadow;
+    static const int shadowHeight = 10;
+    if (shadow.stops().count() == 2) {
+        shadow.setFinalStop(0, shadowHeight);
+        const qreal initialOpacity = 96;
+        for (qreal i = 0; i <= 1; i += 1.0/shadowHeight) {
+            qreal opacity = qPow(initialOpacity, (1.0 - i)) - 1;
+            shadow.setColorAt(i, QColor(0x00, 0x00, 0x00, opacity));
+        }
+    }
+    QRect rect = widget->rect();
+    QPainter p(widget);
+    p.fillRect(rect.x(), rect.y(), rect.width(), shadowHeight, QBrush(shadow));
+}
+
+void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool center) {
+    static const QPixmap badge1 = QPixmap(":/images/badge.png");
+    static const QPixmap badge3 = QPixmap(":/images/badge3.png");
+    static const QPixmap badge4 = QPixmap(":/images/badge4.png");
+    static const int size = badge1.height();
+
+    const int textSize = text.size();
+
+    QPixmap badge;
+    if (textSize < 3) badge = badge1;
+    else if (textSize == 3) badge = badge3;
+    else badge = badge4;
+
+    int x = 0;
+    if (center) x -= badge.width() / 2;
+
+    QRect rect(x, 0, badge.width(), size);
+    painter->drawPixmap(rect, badge);
+
+    QFont f = painter->font();
+    f.setPixelSize(11);
+    f.setHintingPreference(QFont::PreferNoHinting);
+#ifdef APP_MAC
+    f.setFamily("Helvetica");
+#endif
+#ifdef APP_WIN
+    rect.adjust(0, -2, 0, 0);
+#endif
+#ifdef Q_WS_X11
+    rect.adjust(0, -1, 0, 0);
+#endif
+    painter->save();
+    painter->setFont(f);
+
+    rect.adjust(0, 1, 0, 0);
+    painter->setPen(QColor(0, 0, 0, 64));
+    painter->drawText(rect, Qt::AlignCenter, text);
+
+    rect.adjust(0, -1, 0, 0);
+    painter->setPen(Qt::white);
+    painter->drawText(rect, Qt::AlignCenter, text);
+
+    painter->restore();
+}
diff --git a/src/painterutils.h b/src/painterutils.h
new file mode 100644 (file)
index 0000000..35557bc
--- /dev/null
@@ -0,0 +1,38 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef PAINTERUTILS_H
+#define PAINTERUTILS_H
+
+#include <QtGui>
+
+class PainterUtils {
+
+public:
+    static void centeredMessage(QString message, QWidget* widget);
+    static void topShadow(QWidget *widget);
+    static void paintBadge(QPainter *painter, const QString &text, bool center = false);
+
+private:
+    PainterUtils();
+
+};
+
+#endif // PAINTERUTILS_H
index 79b2304afc02475c403fadfa760b686914433fc7..b68134743031d38aa27a40bc9f1e7df79912999f 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "playlistitemdelegate.h"
 #include "playlistmodel.h"
 #include "fontutils.h"
 #include "videodefinition.h"
 #include "video.h"
 
-const qreal PlaylistItemDelegate::THUMB_HEIGHT = 90.0;
-const qreal PlaylistItemDelegate::THUMB_WIDTH = 160.0;
-const qreal PlaylistItemDelegate::PADDING = 10.0;
-
-QRect lastAuthorRect;
-QHash<int, QRect> authorRects;
+const int PlaylistItemDelegate::THUMB_HEIGHT = 90;
+const int PlaylistItemDelegate::THUMB_WIDTH = 160;
+const int PlaylistItemDelegate::PADDING = 10;
 
 PlaylistItemDelegate::PlaylistItemDelegate(QObject* parent, bool downloadInfo)
     : QStyledItemDelegate(parent),
-    downloadInfo(downloadInfo) {
+      downloadInfo(downloadInfo),
+      progressBar(0) {
+
     boldFont.setBold(true);
     smallerBoldFont = FontUtils::smallBold();
     smallerFont = FontUtils::small();
@@ -30,17 +49,26 @@ PlaylistItemDelegate::PlaylistItemDelegate(QObject* parent, bool downloadInfo)
     } else createPlayIcon();
 }
 
+PlaylistItemDelegate::~PlaylistItemDelegate() {
+    if (progressBar) delete progressBar;
+}
+
 void PlaylistItemDelegate::createPlayIcon() {
     playIcon = QPixmap(THUMB_WIDTH, THUMB_HEIGHT);
     playIcon.fill(Qt::transparent);
-    QPainter painter(&playIcon);
-    QPolygon polygon;
+
+    QPixmap tempPixmap(THUMB_WIDTH, THUMB_HEIGHT);
+    tempPixmap.fill(Qt::transparent);
+    QPainter painter(&tempPixmap);
+    painter.setRenderHints(QPainter::Antialiasing, true);
+
     const int hPadding = PADDING*6;
     const int vPadding = PADDING*2;
+
+    QPolygon polygon;
     polygon << QPoint(hPadding, vPadding)
             << QPoint(THUMB_WIDTH-hPadding, THUMB_HEIGHT/2)
             << QPoint(hPadding, THUMB_HEIGHT-vPadding);
-    painter.setRenderHints(QPainter::Antialiasing, true);
     painter.setBrush(Qt::white);
     QPen pen;
     pen.setColor(Qt::white);
@@ -49,16 +77,19 @@ void PlaylistItemDelegate::createPlayIcon() {
     pen.setCapStyle(Qt::RoundCap);
     painter.setPen(pen);
     painter.drawPolygon(polygon);
-}
+    painter.end();
 
-PlaylistItemDelegate::~PlaylistItemDelegate() { }
+    QPainter painter2(&playIcon);
+    painter2.setOpacity(.75);
+    painter2.drawPixmap(0, 0, tempPixmap);
+}
 
 QSize PlaylistItemDelegate::sizeHint( const QStyleOptionViewItem& /*option*/, const QModelIndex& /*index*/ ) const {
-    return QSize( 256, THUMB_HEIGHT+1.0);
+    return QSize(THUMB_WIDTH, THUMB_HEIGHT + 1);
 }
 
 void PlaylistItemDelegate::paint( QPainter* painter,
-                                const QStyleOptionViewItem& option, const QModelIndex& index ) const {
+                                  const QStyleOptionViewItem& option, const QModelIndex& index ) const {
 
     int itemType = index.data(ItemTypeRole).toInt();
     if (itemType == ItemTypeVideo) {
@@ -73,24 +104,20 @@ void PlaylistItemDelegate::paint( QPainter* painter,
 }
 
 void PlaylistItemDelegate::paintBody( QPainter* painter,
-                                    const QStyleOptionViewItem& option,
-                                    const QModelIndex& index ) const {
-
+                                      const QStyleOptionViewItem& option,
+                                      const QModelIndex& index ) const {
     painter->save();
     painter->translate( option.rect.topLeft() );
 
-
-    QRectF line(0, 0, option.rect.width(), option.rect.height());
+    QRect line(0, 0, option.rect.width(), option.rect.height());
     if (downloadInfo) line.setWidth(line.width() / 2);
-    painter->setClipRect(line);
 
     const bool isActive = index.data( ActiveTrackRole ).toBool();
     const bool isSelected = option.state & QStyle::State_Selected;
 
     // draw the "current track" highlight underneath the text
-    if (isActive && !isSelected) {
-        paintActiveOverlay(painter, line.x(), line.y(), line.width(), line.height());
-    }
+    if (isActive && !isSelected)
+        paintActiveOverlay(painter, line);
 
     // get the video metadata
     const VideoPointer videoPointer = index.data( VideoRole ).value<VideoPointer>();
@@ -101,147 +128,144 @@ void PlaylistItemDelegate::paintBody( QPainter* painter,
 
     // play icon overlayed on the thumb
     if (isActive)
-        paintPlayIcon(painter);
+        painter->drawPixmap(playIcon.rect(), playIcon);
 
     // time
     drawTime(painter, video->formattedDuration(), line);
 
-    if (isActive) painter->setFont(boldFont);
-
-    // text color
-    if (isSelected)
-        painter->setPen(QPen(option.palette.brush(QPalette::HighlightedText), 0));
-    else
-        painter->setPen(QPen(option.palette.brush(QPalette::Text), 0));
-
-    // title
-    QString videoTitle = video->title();
-    QRectF textBox = line.adjusted(PADDING+THUMB_WIDTH, PADDING, -2 * PADDING, -PADDING);
-    textBox = painter->boundingRect( textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, videoTitle);
-    painter->drawText(textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, videoTitle);
-
-    painter->setFont(smallerFont);
-
-    // published date
-    QString publishedString = video->published().date().toString(Qt::DefaultLocaleShortDate);
-    QSizeF stringSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, publishedString ) );
-    QPointF textLoc(PADDING+THUMB_WIDTH, PADDING*2 + textBox.height());
-    QRectF publishedTextBox(textLoc , stringSize);
-    painter->drawText(publishedTextBox, Qt::AlignLeft | Qt::AlignTop, publishedString);
-
-    // author
-    bool authorHovered = false;
-    bool authorPressed = false;
-    const bool isHovered = index.data(HoveredItemRole).toBool();
-    if (isHovered) {
-        authorHovered = index.data(AuthorHoveredRole).toBool();
-        authorPressed = index.data(AuthorPressedRole).toBool();
-    }
-
-    painter->save();
-    painter->setFont(smallerBoldFont);
-    if (!isSelected) {
-        if (authorHovered)
-            painter->setPen(QPen(option.palette.brush(QPalette::Highlight), 0));
-        else
-            painter->setPen(QPen(option.palette.brush(QPalette::Mid), 0));
-    }
-    QString authorString = video->author();
-    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-    stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, authorString ) );
-    QRectF authorTextBox(textLoc , stringSize);
-    authorRects.insert(index.row(), authorTextBox.toRect());
-    painter->drawText(authorTextBox, Qt::AlignLeft | Qt::AlignTop, authorString);
-    painter->restore();
-
-    // view count
-    if (video->viewCount() >= 0) {
-        painter->save();
-        QLocale locale;
-        QString viewCountString = tr("%1 views").arg(locale.toString(video->viewCount()));
-        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-        stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, viewCountString ) );
-        QRectF viewCountTextBox(textLoc , stringSize);
-        painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, viewCountString);
-        painter->restore();
-    }
-
-    if (downloadInfo) {
-        painter->save();
-        QString definitionString = VideoDefinition::getDefinitionName(video->getDefinitionCode());
-        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-        stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, definitionString ) );
-        QRectF viewCountTextBox(textLoc , stringSize);
-        painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, definitionString);
-        painter->restore();
-    }
-
-    /*
-    QLinearGradient myGradient;
-    QPen myPen;
-    QFont myFont;
-    QPointF baseline(authorTextBox.x(), authorTextBox.y() + authorTextBox.height());
-    QPainterPath myPath;
-    myPath.addText(baseline, boldFont, authorString);
-    painter->setBrush(palette.color(QPalette::WindowText));
-    painter->setPen(palette.color(QPalette::Dark));
-    painter->setRenderHints (QPainter::Antialiasing, true);
-    painter->drawPath(myPath);
-    */
-
     // separator
-    painter->setClipping(false);
     painter->setPen(option.palette.color(QPalette::Midlight));
     painter->drawLine(THUMB_WIDTH, THUMB_HEIGHT, option.rect.width(), THUMB_HEIGHT);
     if (!video->thumbnail().isNull())
         painter->setPen(Qt::black);
     painter->drawLine(0, THUMB_HEIGHT, THUMB_WIDTH-1, THUMB_HEIGHT);
 
+    if (line.width() > THUMB_WIDTH + 60) {
+
+        if (isActive) painter->setFont(boldFont);
+
+        // text color
+        if (isSelected)
+            painter->setPen(QPen(option.palette.brush(QPalette::HighlightedText), 0));
+        else
+            painter->setPen(QPen(option.palette.brush(QPalette::Text), 0));
+
+        // title
+        QString videoTitle = video->title();
+        QString v = videoTitle;
+        const int flags = Qt::AlignTop | Qt::TextWordWrap;
+        QRect textBox = line.adjusted(PADDING+THUMB_WIDTH, PADDING, 0, 0);
+        textBox = painter->boundingRect(textBox, flags, v);
+        while (textBox.height() > 55 && v.length() > 10) {
+            videoTitle.truncate(videoTitle.length() - 1);
+            v = videoTitle;
+            v = v.trimmed().append("...");
+            textBox = painter->boundingRect(textBox, flags, v);
+        }
+        painter->drawText(textBox, flags, v);
+
+        painter->setFont(smallerFont);
+
+        // published date
+        QString publishedString = video->published().date().toString(Qt::DefaultLocaleShortDate);
+        QSize stringSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, publishedString ) );
+        QPoint textLoc(PADDING+THUMB_WIDTH, PADDING*2 + textBox.height());
+        QRect publishedTextBox(textLoc , stringSize);
+        painter->drawText(publishedTextBox, Qt::AlignLeft | Qt::AlignTop, publishedString);
+
+        if (line.width() > publishedTextBox.x() + publishedTextBox.width()*2) {
+
+            // author
+            bool authorHovered = false;
+            bool authorPressed = false;
+            const bool isHovered = index.data(HoveredItemRole).toBool();
+            if (isHovered) {
+                authorHovered = index.data(AuthorHoveredRole).toBool();
+                authorPressed = index.data(AuthorPressedRole).toBool();
+            }
+
+            painter->save();
+            painter->setFont(smallerBoldFont);
+            if (!isSelected) {
+                if (authorHovered)
+                    painter->setPen(QPen(option.palette.brush(QPalette::Highlight), 0));
+                else
+                    painter->setPen(QPen(option.palette.brush(QPalette::Mid), 0));
+            }
+            QString authorString = video->author();
+            textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+            stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, authorString ) );
+            QRect authorTextBox(textLoc , stringSize);
+            authorRects.insert(index.row(), authorTextBox);
+            painter->drawText(authorTextBox, Qt::AlignLeft | Qt::AlignTop, authorString);
+            painter->restore();
+
+            if (line.width() > authorTextBox.x() + 50) {
+
+                // view count
+                if (video->viewCount() >= 0) {
+                    QLocale locale;
+                    QString viewCountString = tr("%1 views").arg(locale.toString(video->viewCount()));
+                    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+                    stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, viewCountString ) );
+                    QRect viewCountTextBox(textLoc , stringSize);
+                    painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, viewCountString);
+                }
+
+                if (downloadInfo) {
+                    QString definitionString = VideoDefinition::getDefinitionName(video->getDefinitionCode());
+                    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+                    stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, definitionString ) );
+                    QRect viewCountTextBox(textLoc , stringSize);
+                    painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, definitionString);
+                }
+
+            }
+
+        }
+
+    }
+
     painter->restore();
 
     if (downloadInfo) paintDownloadInfo(painter, option, index);
 
 }
 
-void PlaylistItemDelegate::paintActiveOverlay( QPainter *painter, qreal x, qreal y, qreal w, qreal h ) const {
-
-    QPalette palette;
-    QColor highlightColor = palette.color(QPalette::Highlight);
-    QColor backgroundColor = palette.color(QPalette::Base);
-    const float animation = 0.25;
-    const int gradientRange = 16;
-
-    QColor color2 = QColor::fromHsv(
-            highlightColor.hue(),
-            (int) (backgroundColor.saturation() * (1.0f - animation) + highlightColor.saturation() * animation),
-            (int) (backgroundColor.value() * (1.0f - animation) + highlightColor.value() * animation)
-            );
-    QColor color1 = QColor::fromHsv(
-            color2.hue(),
-            qMax(color2.saturation() - gradientRange, 0),
-            qMin(color2.value() + gradientRange, 255)
-            );
-    QRect rect((int) x, (int) y, (int) w, (int) h);
-    painter->save();
-    painter->setPen(Qt::NoPen);
-    QLinearGradient linearGradient(0, 0, 0, rect.height());
-    linearGradient.setColorAt(0.0, color1);
-    linearGradient.setColorAt(1.0, color2);
-    painter->setBrush(linearGradient);
-    painter->drawRect(rect);
-    painter->restore();
-}
+void PlaylistItemDelegate::paintActiveOverlay(QPainter *painter, const QRect &line) const {
+    static QLinearGradient linearGradient;
+    static bool initialized = false;
+
+    if (!initialized) {
+        QPalette palette;
+        QColor highlightColor = palette.color(QPalette::Highlight);
+        QColor backgroundColor = palette.color(QPalette::Base);
+        const float animation = 0.4;
+        const int gradientRange = 16;
+
+        QColor color2 = QColor::fromHsv(
+                    highlightColor.hue(),
+                    (int) (backgroundColor.saturation() * (1.0f - animation) + highlightColor.saturation() * animation),
+                    (int) (backgroundColor.value() * (1.0f - animation) + highlightColor.value() * animation)
+                    );
+        QColor color1 = QColor::fromHsv(
+                    color2.hue(),
+                    qMax(color2.saturation() - gradientRange, 0),
+                    qMin(color2.value() + gradientRange, 255)
+                    );
+
+        linearGradient = QLinearGradient(0, 0, 0, THUMB_HEIGHT);
+        linearGradient.setColorAt(0.0, color1);
+        linearGradient.setColorAt(1.0, color2);
+        initialized = true;
+    }
 
-void PlaylistItemDelegate::paintPlayIcon(QPainter *painter) const {
-    painter->save();
-    painter->setOpacity(.5);
-    painter->drawPixmap(playIcon.rect(), playIcon);
-    painter->restore();
+    painter->fillRect(line, linearGradient);
 }
 
-void PlaylistItemDelegate::drawTime(QPainter *painter, QString time, QRectF line) const {
+void PlaylistItemDelegate::drawTime(QPainter *painter, const QString &time, const QRect &line) const {
     static const int timePadding = 4;
-    QRectF textBox = painter->boundingRect(line, Qt::AlignLeft | Qt::AlignTop, time);
+    QRect textBox = painter->boundingRect(line, Qt::AlignLeft | Qt::AlignTop, time);
     // add padding
     textBox.adjust(0, 0, timePadding, 0);
     // move to bottom right corner of the thumb
@@ -261,8 +285,8 @@ void PlaylistItemDelegate::drawTime(QPainter *painter, QString time, QRectF line
 }
 
 void PlaylistItemDelegate::paintDownloadInfo( QPainter* painter,
-                                            const QStyleOptionViewItem& option,
-                                            const QModelIndex& index ) const {
+                                              const QStyleOptionViewItem& option,
+                                              const QModelIndex& index ) const {
 
     // get the video metadata
     const DownloadItemPointer downloadItemPointer = index.data(DownloadItemRole).value<DownloadItemPointer>();
@@ -285,11 +309,11 @@ void PlaylistItemDelegate::paintDownloadInfo( QPainter* painter,
         QString eta = DownloadItem::formattedTime(downloadItem->remainingTime());
 
         message = tr("%1 of %2 (%3) — %4").arg(
-                downloaded,
-                total,
-                speed,
-                eta
-                );
+                    downloaded,
+                    total,
+                    speed,
+                    eta
+                    );
     } else if (status == Starting) {
         message = tr("Preparing");
     } else if (status == Failed) {
@@ -343,9 +367,9 @@ void PlaylistItemDelegate::paintDownloadInfo( QPainter* painter,
     else if (status == Finished) {
         if (downloadButtonHovered)
 #ifdef APP_MAC
-        message = tr("Show in %1").arg("Finder");
+            message = tr("Show in %1").arg("Finder");
 #else
-        message = tr("Open parent folder");
+            message = tr("Open parent folder");
 #endif
         painter->save();
         QIcon searchIcon = Utils::icon("system-search");
@@ -361,20 +385,19 @@ void PlaylistItemDelegate::paintDownloadInfo( QPainter* painter,
         painter->restore();
     }
 
-    QRectF textBox = line.adjusted(PADDING, PADDING*2 + progressBar->sizeHint().height(), -2 * PADDING, -PADDING);
+    QRect textBox = line.adjusted(PADDING, PADDING*2 + progressBar->sizeHint().height(), -2 * PADDING, -PADDING);
     textBox = painter->boundingRect( textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message);
     painter->drawText(textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message);
 
     painter->restore();
-
 }
 
-QRect PlaylistItemDelegate::downloadButtonRect(QRect line) const {
+QRect PlaylistItemDelegate::downloadButtonRect(const QRect &line) const {
     return QRect(
-            line.width() - PADDING*2 - 16,
-            PADDING + progressBar->sizeHint().height() / 2 - 8,
-            16,
-            16);
+                line.width() - PADDING*2 - 16,
+                PADDING + progressBar->sizeHint().height() / 2 - 8,
+                16,
+                16);
 }
 
 QRect PlaylistItemDelegate::authorRect(const QModelIndex& index) const {
index 5a7b2b326123c6b96de8ef5dfcb2a1c3116b1cb9..222ad9ac081fbb0db05d1efe7edfbc46aadeead6 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef PLAYLISTITEMDELEGATE_H
 #define PLAYLISTITEMDELEGATE_H
 
@@ -13,7 +33,7 @@ public:
 
     QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const;
     void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
-    QRect downloadButtonRect(QRect line) const;
+    QRect downloadButtonRect(const QRect &line) const;
     QRect authorRect(const QModelIndex& index) const;
 
 private:
@@ -24,15 +44,14 @@ private:
                                         const QModelIndex& index ) const;
 
     // active track painting
-    void paintActiveOverlay( QPainter *painter, qreal x, qreal y, qreal w, qreal h ) const;
-    void paintPlayIcon(QPainter *painter) const;
+    void paintActiveOverlay(QPainter *painter, const QRect &line) const;
 
     //  Paints the video duration
-    void drawTime(QPainter *painter, QString time, QRectF line) const;
+    void drawTime(QPainter *painter, const QString &time, const QRect &line) const;
 
-    static const qreal THUMB_WIDTH;
-    static const qreal THUMB_HEIGHT;
-    static const qreal PADDING;
+    static const int THUMB_WIDTH;
+    static const int THUMB_HEIGHT;
+    static const int PADDING;
 
     QPixmap playIcon;
     QFont boldFont;
@@ -42,6 +61,8 @@ private:
     bool downloadInfo;
     QProgressBar *progressBar;
 
+    mutable QRect lastAuthorRect;
+    mutable QHash<int, QRect> authorRects;
 };
 
 #endif
index e14fbd2c34a743d0921a26b39434c0f128338bcc..b3bf4cf5f27aa67e4e9296d8fa0d881e6e8e2977 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "playlistmodel.h"
 #include "videomimedata.h"
 #include "videosource.h"
@@ -48,7 +68,6 @@ QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
         case ItemTypeRole:
             return ItemTypeShowMore;
         case Qt::DisplayRole:
-        case Qt::StatusTipRole:
             if (!errorMessage.isEmpty()) return errorMessage;
             if (searching) return tr("Searching...");
             if (canSearchMore) return tr("Show %1 More").arg(maxItems);
@@ -92,6 +111,8 @@ QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
         return authorHovered;
     case AuthorPressedRole:
         return authorPressed;
+    case Qt::StatusTipRole:
+        return video->description();
     }
     
     return QVariant();
@@ -187,8 +208,11 @@ void PlaylistModel::abortSearch() {
     while (!videos.isEmpty())
         delete videos.takeFirst();
     reset();
-    videoSource->abort();
+    // if (videoSource) videoSource->abort();
     searching = false;
+    m_activeRow = -1;
+    m_activeVideo = 0;
+    skip = 1;
 }
 
 void PlaylistModel::searchFinished(int total) {
@@ -213,25 +237,19 @@ void PlaylistModel::searchError(QString message) {
 
 void PlaylistModel::addVideos(QList<Video*> newVideos) {
     if (newVideos.isEmpty()) return;
-
-    bool isFirstVideo = videos.isEmpty();
-
-    beginInsertRows(QModelIndex(), videos.size(), videos.size() + newVideos.size() - 1);
+    beginInsertRows(QModelIndex(), videos.size(), videos.size() + newVideos.size() - 2);
     videos.append(newVideos);
     endInsertRows();
-
     foreach (Video* video, newVideos) {
         connect(video, SIGNAL(gotThumbnail()),
                 SLOT(updateThumbnail()), Qt::UniqueConnection);
         video->loadThumbnail();
     }
-
-    // if (isFirstVideo) handleFirstVideo(newVideos.first());
 }
 
 void PlaylistModel::handleFirstVideo(Video *video) {
 
-    int currentVideoRow = rowForCloneVideo(MediaView::instance()->getCurrentVideo());
+    int currentVideoRow = rowForCloneVideo(MediaView::instance()->getCurrentVideoId());
     if (currentVideoRow != -1) setActiveRow(currentVideoRow, false);
     else {
         QSettings settings;
@@ -241,7 +259,7 @@ void PlaylistModel::handleFirstVideo(Video *video) {
 
     QSettings settings;
     if (!settings.value("manualplay", false).toBool()) {
-        int newActiveRow = rowForCloneVideo(MediaView::instance()->getCurrentVideo());
+        int newActiveRow = rowForCloneVideo(MediaView::instance()->getCurrentVideoId());
         if (newActiveRow != -1) setActiveRow(newActiveRow, false);
         else setActiveRow(0);
     }
@@ -272,8 +290,8 @@ void PlaylistModel::handleFirstVideo(Video *video) {
         QString channel = searchParams->author();
         if (!channel.isEmpty() && !searchParams->isTransient()) {
             QString value;
-            if (!video->authorUri().isEmpty() && video->authorUri() != video->author())
-                value = video->authorUri() + "|" + video->author();
+            if (!video->userId().isEmpty() && video->userId() != video->author())
+                value = video->userId() + "|" + video->author();
             else value = video->author();
             QStringList channels = settings.value(recentChannelsKey).toStringList();
             channels.removeAll(value);
@@ -419,11 +437,10 @@ bool PlaylistModel::dropMimeData(const QMimeData *data,
 
 }
 
-int PlaylistModel::rowForCloneVideo(Video *video) const {
-    if (!video) return -1;
+int PlaylistModel::rowForCloneVideo(const QString &videoId) const {
     for (int i = 0; i < videos.size(); ++i) {
         Video *v = videos.at(i);
-        if (v->id() == video->id()) return i;
+        if (v->id() == videoId) return i;
     }
     return -1;
 }
index 6b665a3973ac0da5d30b1593d6a09c5787d6d48b..a5c3b7c38992a10b4542a16229728b2d955d2ba3 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef PLAYLISTMODEL_H
 #define PLAYLISTMODEL_H
 
@@ -56,7 +76,7 @@ public:
 
     Video* videoAt( int row ) const;
     Video* activeVideo() const;
-    int rowForCloneVideo(Video *video) const;
+    int rowForCloneVideo(const QString &videoId) const;
 
     VideoSource* getVideoSource() { return videoSource; }
     void setVideoSource(VideoSource *videoSource);
index d8cbf99df565175607f04fbddd9fced3a3f59f43..41b54d3258998fb15c3a69c3c5227b3b4b47c434 100644 (file)
@@ -1,13 +1,36 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "playlistview.h"
 #include "playlistmodel.h"
 #include "playlistitemdelegate.h"
+#include "painterutils.h"
 
-PlaylistView::PlaylistView(QWidget *parent) : QListView(parent) {
-    clickableAuthors = true;
-
+PlaylistView::PlaylistView(QWidget *parent) : QListView(parent),
+    clickableAuthors(true) {
     setItemDelegate(new PlaylistItemDelegate(this));
     setSelectionMode(QAbstractItemView::ExtendedSelection);
 
+    setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding);
+    setMinimumWidth(175);
+
     // dragndrop
     setDragEnabled(true);
     setAcceptDrops(true);
@@ -18,7 +41,7 @@ PlaylistView::PlaylistView(QWidget *parent) : QListView(parent) {
     setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
     setFrameShape(QFrame::NoFrame);
     setAttribute(Qt::WA_MacShowFocusRect, false);
-    // setMinimumSize(120, 240);
+    setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     setUniformItemSizes(true);
 
     connect(this, SIGNAL(entered(const QModelIndex &)),
@@ -38,7 +61,6 @@ void PlaylistView::leaveEvent(QEvent * /* event */) {
 
 void PlaylistView::mouseMoveEvent(QMouseEvent *event) {
     QListView::mouseMoveEvent(event);
-    // QWidget::mouseMoveEvent(event);
 
     if (isHoveringThumbnail(event)) {
         setCursor(Qt::PointingHandCursor);
@@ -116,3 +138,8 @@ bool PlaylistView::isShowMoreItem(const QModelIndex &index) {
     return model()->rowCount() > 1 &&
             model()->rowCount() == index.row() + 1;
 }
+
+void PlaylistView::paintEvent(QPaintEvent *event) {
+    QListView::paintEvent(event);
+    PainterUtils::topShadow(viewport());
+}
index fb3bd0cd548948f9f2310253f74dd2fca03b418b..82c5eddbe75f43679efbf5188aab74db5949369c 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef PLAYLISTVIEW_H
 #define PLAYLISTVIEW_H
 
@@ -16,6 +36,7 @@ protected:
     void mouseMoveEvent(QMouseEvent *event);
     void mousePressEvent(QMouseEvent *event);
     void mouseReleaseEvent(QMouseEvent *event);
+    void paintEvent(QPaintEvent *event);
 
 signals:
     void authorPushed(QModelIndex index);
index 4917a96ae7b59505e58195142eb30b27920b58b8..aa78fccc7a81835a93e661ced1c29f15bd1d5639 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "refinesearchbutton.h"
 
 static const int refineButtonSize = 48;
index 05c15cbccf56b6bbfc7f414b2d0ae354750fb639..a861d8fb616b03c16641b5b95849502694983a1c 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef REFINESEARCHBUTTON_H
 #define REFINESEARCHBUTTON_H
 
index f1a140ee827d6e457a518b85520bdc5f21fec36f..46f4099b1afbf58e1743f381b3b9af5cfb20ac67 100644 (file)
@@ -1,7 +1,27 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "refinesearchwidget.h"
 #include "fontutils.h"
 #include "searchparams.h"
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 
@@ -119,8 +139,10 @@ void RefineSearchWidget::setup() {
     }
 
     layout->addSpacing(spacing);
-    QPushButton *doneButton = new QPushButton(tr("Done"), this);
+    doneButton = new QPushButton(tr("Done"), this);
     doneButton->setDefault(true);
+    doneButton->setAutoDefault(true);
+    doneButton->setFocusPolicy(Qt::StrongFocus);
     doneButton->setFont(FontUtils::medium());
     doneButton->setProperty("custom", true);
     doneButton->setProperty("important", true);
@@ -138,7 +160,7 @@ void RefineSearchWidget::setupLabel(QString text, QBoxLayout *layout, QString pa
     QLabel *icon = new QLabel(this);
     icon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     QString resource = paramName;
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
     resource = Extra::resourceName(resource);
 #endif
     QPixmap pixmap = QPixmap(":/images/search-" + resource + ".png");
@@ -207,8 +229,6 @@ void RefineSearchWidget::actionTriggered(QAction *action) {
 void RefineSearchWidget::setSearchParams(SearchParams *params) {
     setup();
 
-    qDebug() << (params != 0);
-
     The::globalActions()->value("refine-search")->setEnabled(params);
     setEnabled(params);
 
@@ -239,6 +259,8 @@ void RefineSearchWidget::setSearchParams(SearchParams *params) {
             Qt::UniqueConnection);
 
     dirty = false;
+
+    doneButton->setFocus();
 }
 
 void RefineSearchWidget::doneClicked() {
index 78c6e1e95bc284f30202304e678026f51b80c20c..7330ca49e795ba8431edd33a8c0d1d981971121b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef REFINESEARCHWIDGET_H
 #define REFINESEARCHWIDGET_H
 
@@ -35,6 +55,7 @@ private:
 
     QHash<QString, QToolBar*> bars;
     bool dirty;
+    QPushButton *doneButton;
 
 };
 
index c83ed92c10b260dc69be4f95c4a152afa2366e40..a6189aa3faaced75b0e4283a7de680210b8a8b7b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "regionsview.h"
 #include "ytregions.h"
 #include "mainwindow.h"
index cf92d201fbeac59c64e9f6db64f565cf64dede31..f0029ca214c365d75324524265456572ce98140d 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef REGIONSVIEW_H
 #define REGIONSVIEW_H
 
index a7906fc11fea1c5f4d716dd4e1dfc3d7aaf89429..be08e72241a6b6e2a2b46afa7d03b4b73cb13c44 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "searchparams.h"
 
 SearchParams::SearchParams(QObject *parent) : QObject(parent) {
index 24e023fa82f79dcdec10fd9655d41cb3d36ac366..f2e9d035ec98839842a12265a6fd3c5694b02d77 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SEARCHPARAMS_H
 #define SEARCHPARAMS_H
 
index 950d342be9a1c620131a58344f103fd530a04bef..522701e29b3fed0b290c134f6819da28f3f12f3f 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "searchview.h"
 #include "constants.h"
 #include "fontutils.h"
 #else
 #include "searchlineedit.h"
 #endif
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 #ifdef APP_ACTIVATION
 #include "activation.h"
 #endif
 #include "mainwindow.h"
+#include "painterutils.h"
 
 namespace The {
 QHash<QString, QAction*>* globalActions();
@@ -36,6 +57,8 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     setAttribute(Qt::WA_OpaquePaintEvent);
 #endif
 
+    setAutoFillBackground(true);
+
     QBoxLayout *mainLayout = new QVBoxLayout(this);
     mainLayout->setMargin(PADDING);
     mainLayout->setSpacing(0);
@@ -68,6 +91,12 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
                        .arg(Constants::WEBSITE, Constants::NAME)
                        + "</h1>", this);
     welcomeLabel->setOpenExternalLinks(true);
+#ifdef APP_WIN
+    QFont f = welcomeLabel->font();
+    f.setHintingPreference(QFont::PreferNoHinting);
+    f.setFamily("Segoe UI Light");
+    welcomeLabel->setFont(f);
+#endif
     layout->addWidget(welcomeLabel);
 
     layout->addSpacing(PADDING / 2);
@@ -280,7 +309,7 @@ void SearchView::watch(QString query) {
         searchParams->setKeywords(query);
     else {
         // remove spaces from channel name
-        query = query.replace(" ", "");
+        query = query.simplified();
         searchParams->setAuthor(query);
         searchParams->setSortBy(SearchParams::SortByNewest);
     }
@@ -332,9 +361,8 @@ void SearchView::watchKeywords(QString query) {
     emit search(searchParams);
 }
 
-void SearchView::paintEvent(QPaintEvent * /*event*/) {
-    QPainter painter(this);
-
+void SearchView::paintEvent(QPaintEvent *event) {
+    QWidget::paintEvent(event);
 #if defined(APP_MAC) | defined(APP_WIN)
     QBrush brush;
     if (window()->isActiveWindow()) {
@@ -342,21 +370,17 @@ void SearchView::paintEvent(QPaintEvent * /*event*/) {
     } else {
         brush = palette().window();
     }
+    QPainter painter(this);
     painter.fillRect(0, 0, width(), height(), brush);
+    painter.end();
 #endif
-
-    static QLinearGradient shadow;
-    static const int shadowHeight = 10;
-    if (shadow.stops().count() == 2) {
-        shadow.setFinalStop(0, shadowHeight);
-        const qreal initialOpacity = 96;
-        for (qreal i = 0; i <= 1; i += 1.0/shadowHeight) {
-            qreal opacity = qPow(initialOpacity, (1.0 - i)) - 1;
-            shadow.setColorAt(i, QColor(0x00, 0x00, 0x00, opacity));
-        }
-    }
-    QRect r = rect();
-    painter.fillRect(r.x(), r.y(), r.width(), shadowHeight, QBrush(shadow));
+#ifdef APP_UBUNTU
+    QStyleOption o;
+    o.initFrom(this);
+    QPainter p(this);
+    style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
+#endif
+    // PainterUtils::topShadow(this);
 }
 
 void SearchView::searchTypeChanged(int index) {
index 4fcf5042c0ce3274c173fd4ce4fef389793d744e..9cefc717ec05643fca2bba1646aa53bd57778383 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef __SEARCHVIEW_H__
 #define __SEARCHVIEW_H__
 
diff --git a/src/seekslider.cpp b/src/seekslider.cpp
new file mode 100644 (file)
index 0000000..281673f
--- /dev/null
@@ -0,0 +1,15 @@
+#include "seekslider.h"
+
+class MyProxyStyle : public QProxyStyle {
+public:
+    int styleHint(StyleHint hint, const QStyleOption *option = 0,
+                  const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const {
+        if (hint == SH_Slider_AbsoluteSetButtons)
+                return Qt::LeftButton;
+        return QProxyStyle::styleHint(hint, option, widget, returnData);
+    }
+};
+
+SeekSlider::SeekSlider(QWidget *parent) : QSlider(parent) {
+    setStyle(new MyProxyStyle());
+}
diff --git a/src/seekslider.h b/src/seekslider.h
new file mode 100644 (file)
index 0000000..87e6cb9
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef SEEKSLIDER_H
+#define SEEKSLIDER_H
+
+#include <QtGui>
+
+class SeekSlider : public QSlider {
+
+    Q_OBJECT
+
+public:
+    SeekSlider(QWidget *parent = 0);
+    
+};
+
+#endif // SEEKSLIDER_H
index a896fbd0517f6af9d6405c8d103b08f8f6075cff..27e63901b6358363718e3bbff3b6543842147a46 100644 (file)
@@ -1,6 +1,27 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "segmentedcontrol.h"
 #include "fontutils.h"
 #include "mainwindow.h"
+#include "painterutils.h"
 
 static const QColor borderColor = QColor(0x26, 0x26, 0x26);
 
@@ -233,13 +254,22 @@ void SegmentedControl::paintButton(QPainter *painter, const QRect& rect, const Q
 
     painter->setFont(FontUtils::smallBold());
 
+    const QString text = action->text();
+
     // text shadow
     painter->setPen(QColor(0, 0, 0, 128));
-    painter->drawText(0, -1, width, height, Qt::AlignCenter, action->text());
+    painter->drawText(0, -1, width, height, Qt::AlignCenter, text);
 
     painter->setPen(QPen(Qt::white, 1));
-    painter->drawText(0, 0, width, height, Qt::AlignCenter, action->text());
+    painter->drawText(0, 0, width, height, Qt::AlignCenter, text);
+
+    if (action->property("notifyCount").isValid()) {
+        QRect textBox = painter->boundingRect(rect,
+                                              Qt::AlignCenter,
+                                              text);
+        painter->translate((width + textBox.width()) / 2 + 10, (height - 20) / 2);
+        PainterUtils::paintBadge(painter, action->property("notifyCount").toString());
+    }
 
     painter->restore();
 }
-
index 094a3b7f12a83cc8b30ebea198f647ef62169847..ba1ccdf9d028aa1a00b2f536a247c27fa339257f 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SEGMENTEDCONTROL_H
 #define SEGMENTEDCONTROL_H
 
index 91670a94503c89539f6ae1481a11380715f6f059..dc8026e4550d18d651f923ca02e13c4ccae375ee 100644 (file)
@@ -1,8 +1,29 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "sidebarheader.h"
 #include "utils.h"
 #include "mediaview.h"
 #include "videosource.h"
 #include "fontutils.h"
+#include "utils.h"
 
 SidebarHeader::SidebarHeader(QWidget *parent) : QToolBar(parent) { }
 
@@ -11,6 +32,8 @@ void SidebarHeader::setup() {
     if (isSetup) return;
     isSetup = true;
 
+    setIconSize(QSize(16, 16));
+
     backAction = new QAction(
                 Utils::icon("go-previous"),
                 tr("&Back"), this);
@@ -27,19 +50,16 @@ void SidebarHeader::setup() {
 
     foreach (QAction* action, actions()) {
         window()->addAction(action);
-        action->setAutoRepeat(false);
+        Utils::setupAction(action);
     }
 
-    /*
     QWidget *spacerWidget = new QWidget(this);
     spacerWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
-    spacerWidget->setVisible(true);
     addWidget(spacerWidget);
-    */
 }
 
 QSize SidebarHeader::minimumSizeHint (void) const {
-    return(QSize(1, QFontMetrics(font()).height() * 1.9));
+    return(QSize(160, QFontMetrics(font()).height() * 1.9));
 }
 
 void SidebarHeader::updateInfo() {
@@ -87,6 +107,14 @@ void SidebarHeader::updateTitle(QString title) {
 void SidebarHeader::setTitle(QString title) {
     this->title = title;
     update();
+
+    QList<VideoSource*> history = MediaView::instance()->getHistory();
+    int currentIndex = MediaView::instance()->getHistoryIndex();
+    VideoSource *currentVideoSource = history.at(currentIndex);
+    foreach (QAction* action, videoSourceActions)
+        removeAction(action);
+    videoSourceActions = currentVideoSource->getActions();
+    addActions(videoSourceActions);
 }
 
 void SidebarHeader::paintEvent(QPaintEvent *event) {
@@ -101,12 +129,13 @@ void SidebarHeader::paintEvent(QPaintEvent *event) {
     QString t = title;
     QRect textBox = p.boundingRect(r, Qt::AlignCenter, t);
     int i = 1;
-    static const int margin = 100;
-    while (textBox.width() > r.width() - margin) {
-        t = t.left(t.length() - i) + "...";
+    static const int margin = 50;
+    while (textBox.width() > r.width() - margin*2 && t.length() > 3) {
+        t = t.left(t.length() - i).trimmed() + QLatin1String("...");
         textBox = p.boundingRect(r, Qt::AlignCenter, t);
         i++;
     }
-
     p.drawText(r, Qt::AlignCenter, t);
+
+
 }
index 1ef49379def524f65a48d8ae146ed08ed10b57d0..8591d548cbbe789412e858e1b43fdd558b372401 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SIDEBARHEADER_H
 #define SIDEBARHEADER_H
 
@@ -25,6 +45,7 @@ private:
     QAction *backAction;
     QAction * forwardAction;
     QString title;
+    QList<QAction*> videoSourceActions;
 };
 
 #endif // SIDEBARHEADER_H
index 5a5647fe2f83c00cc98053e9109c4a7539e1ed49..fd5fd40acdc672a56a5919e64767e7c454abbe75 100644 (file)
@@ -1,8 +1,28 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "sidebarwidget.h"
 #include "refinesearchbutton.h"
 #include "refinesearchwidget.h"
 #include "sidebarheader.h"
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 
@@ -44,10 +64,6 @@ SidebarWidget::SidebarWidget(QWidget *parent) :
 }
 
 void SidebarWidget::setup() {
-    static bool isSetup = false;
-    if (isSetup) return;
-    isSetup = true;
-
     refineSearchButton = new RefineSearchButton(this);
     refineSearchButton->setStatusTip(tr("Refine Search")
                                      + " (" + QKeySequence(Qt::CTRL + Qt::Key_R).toString(QKeySequence::NativeText) + ")");
@@ -72,7 +88,6 @@ void SidebarWidget::setPlaylist(QListView *playlist) {
 }
 
 void SidebarWidget::showPlaylist() {
-    setup();
     stackedWidget->setCurrentWidget(playlist);
     The::globalActions()->value("refine-search")->setChecked(false);
 }
@@ -81,8 +96,8 @@ void SidebarWidget::showRefineSearchWidget() {
     if (!refineSearchWidget->isEnabled()) return;
     refineSearchWidget->setDirty(false);
     stackedWidget->setCurrentWidget(refineSearchWidget);
-    refineSearchWidget->setFocus();
-#ifndef Q_WS_X11
+    // refineSearchWidget->setFocus();
+#ifdef APP_EXTRA
     Extra::fadeInWidget(playlist, refineSearchWidget);
 #endif
     refineSearchButton->hide();
@@ -92,7 +107,7 @@ void SidebarWidget::showRefineSearchWidget() {
 void SidebarWidget::hideRefineSearchWidget() {
     stackedWidget->setCurrentWidget(playlist);
     playlist->setFocus();
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
     Extra::fadeInWidget(refineSearchWidget, playlist);
 #endif
     The::globalActions()->value("refine-search")->setChecked(false);
index 26d9bf0c173c457cc87090ced5524bb11bd59886..cd8efe61639759191389a3e2529f65bc8aeff047 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SIDEBARWIDGET_H
 #define SIDEBARWIDGET_H
 
index 95594fc82966f21386006c0f1e6bbed594c39c1f..07a9c554e55d513aa4c863cf8c77e87d215048ac 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "spacer.h"
 
 Spacer::Spacer(QWidget *parent) : QWidget(parent) { }
index 3d1f44fed4600005592e85d97bbb0ee7acc242f1..88ae160823a8f83be3e4da2d6d56de0ea92d8586 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SPACER_H
 #define SPACER_H
 
index 1aae3e370edf0ce5651c04b1c489f6cbe85f19f5..4bfeee628e6a58aebdb6191c32171fbe49238867 100644 (file)
@@ -1,16 +1,35 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "standardfeedsview.h"
 #include "videosourcewidget.h"
 #include "ytcategories.h"
 #include "ytstandardfeed.h"
 #include "ytregions.h"
 #include "mainwindow.h"
+#include "painterutils.h"
 
 namespace The {
 QHash<QString, QAction*>* globalActions();
 }
 
-static const int cols = 5;
-
 StandardFeedsView::StandardFeedsView(QWidget *parent) : QWidget(parent),
     layout(0) {
     QPalette p = palette();
@@ -76,6 +95,7 @@ void StandardFeedsView::addVideoSourceWidget(VideoSource *videoSource) {
     connect(w, SIGNAL(activated(VideoSource*)),
             SIGNAL(activated(VideoSource*)));
     int i = layout->count();
+    static const int cols = 5;
     layout->addWidget(w, i / cols, i % cols);
 }
 
@@ -83,18 +103,21 @@ QList<YTStandardFeed*> StandardFeedsView::getMainFeeds() {
     QList<YTStandardFeed*> feeds;
 
     feeds << buildStardardFeed("most_popular", tr("Most Popular"))
-          << buildStardardFeed("recently_featured", tr("Featured"))
+          // << buildStardardFeed("recently_featured", tr("Featured"))
           << buildStardardFeed("most_shared", tr("Most Shared"))
           << buildStardardFeed("most_discussed", tr("Most Discussed"))
-          << buildStardardFeed("top_rated", tr("Top Rated"));
+          << buildStardardFeed("top_rated", tr("Top Rated"))
+          << buildStardardFeed("most_popular", tr("All Time Popular"), "all_time");
 
     return feeds;
 }
 
-YTStandardFeed* StandardFeedsView::buildStardardFeed(QString feedId, QString label) {
+YTStandardFeed* StandardFeedsView::buildStardardFeed(
+        QString feedId, QString label, QString time) {
     YTStandardFeed *feed = new YTStandardFeed(this);
     feed->setFeedId(feedId);
     feed->setLabel(label);
+    if (!time.isEmpty()) feed->setTime(time);
     feed->setRegionId(YTRegions::currentRegionId());
     return feed;
 }
@@ -121,4 +144,8 @@ void StandardFeedsView::selectLocalRegion() {
     load();
 }
 
+void StandardFeedsView::paintEvent(QPaintEvent *event) {
+    QWidget::paintEvent(event);
+    PainterUtils::topShadow(this);
+}
 
index 17d850ff38efa38d45353fdd08687d67c2fb71e8..1d5214351fe9059ab3f267e047ca648490955582 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef CATEGORIESVIEW_H
 #define CATEGORIESVIEW_H
 
@@ -22,6 +42,9 @@ public slots:
     void appear();
     void disappear();
     void load();
+
+protected:
+    void paintEvent(QPaintEvent *event);
     
 private slots:
     void layoutCategories(const QList<YTCategory> &categories);
@@ -31,7 +54,7 @@ private slots:
 private:
     void addVideoSourceWidget(VideoSource *videoSource);
     QList<YTStandardFeed*> getMainFeeds();
-    YTStandardFeed* buildStardardFeed(QString feedId, QString label);
+    YTStandardFeed* buildStardardFeed(QString feedId, QString label, QString time = QString());
     QGridLayout *layout;
     
 };
index ad39f92dba8814eb680972480281716534fc1937..e14492f1320ff11ecefa6720033d064d563a12a3 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef SUGGESTER_H
 #define SUGGESTER_H
 
index 362cbd8db0d4d595c77ac6e134ad71868897f448..3f29d70acc2a230675258c9f8d668c20a60102e4 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "temporary.h"
 #include "constants.h"
 
index 50b9633dfeb2f8dad7de41583913cff589811466..de5e24d5697f7fe3d7ef16754bb21104057711f5 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef TEMPORARY_H
 #define TEMPORARY_H
 
index fc794d31d874ea848c8da801216e730d673442d9..af7c349e6d3c9522cb00e669a40e8c946b1fc0cd 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "updatechecker.h"
 #include "networkaccess.h"
 #include "constants.h"
@@ -14,7 +34,7 @@ UpdateChecker::UpdateChecker() {
 }
 
 void UpdateChecker::checkForUpdate() {
-    QUrl updateUrl(QString(Constants::WEBSITE) + "-ws/release.xml");
+    QUrl updateUrl(QLatin1String(Constants::WEBSITE) + "-ws/release.xml");
     updateUrl.addQueryItem("v", Constants::VERSION);
 
 #ifdef APP_MAC
index 8d6cf0833de75f1578129c7a5926063c41178a81..74f0fb930853b8beee9479b565c3d2c95f1ca915 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef UPDATECHECKER_H
 #define UPDATECHECKER_H
 
index 037bb8bb136a81f45379f5cba58cd4a0f14b186f..a8e4a12066836eeaf6be288e421329abc32a153e 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 /****************************************************************************
 **
 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
diff --git a/src/userview.cpp b/src/userview.cpp
deleted file mode 100644 (file)
index af6257a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "userview.h"
-
-UserView::UserView(QWidget *parent) : QWidget(parent) {
-    layout = new QGridLayout(this);
-}
diff --git a/src/userview.h b/src/userview.h
deleted file mode 100644 (file)
index bb03acd..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef USERVIEW_H
-#define USERVIEW_H
-
-#include <QtGui>
-#include "view.h"
-
-class VideoSource;
-
-class UserView : public QWidget, public View {
-
-    Q_OBJECT
-
-public:
-    UserView(QWidget *parent = 0);
-
-signals:
-    void activated(VideoSource *standardFeed);
-    
-private:
-    QGridLayout *layout;
-    
-};
-
-#endif // USERVIEW_H
index 01b03b3d18b3eb05e58ac2f1507dd502d5bf1825..5c5aa1ec259fa73f6d85bc4de196dbc60f4de33b 100644 (file)
@@ -1,32 +1,96 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "utils.h"
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 
-QIcon getIcon(const QString &name) {
-#ifdef Q_WS_X11
-    return QIcon::fromTheme(name);
-#else
-    return Extra::getIcon(name);
-#endif
+QIcon Utils::themeIcon(const QString &name) {
+    if (QIcon::hasThemeIcon(name))
+        return QIcon::fromTheme(name);
+    else
+        return QIcon(QString(":/images/%1.png").arg(name));
 }
 
 QIcon Utils::icon(const QString &name) {
-#ifdef Q_WS_X11
-    QString themeName = qApp->property("style").toString();
-    if (themeName == QLatin1String("Ambiance"))
-        return icon(QStringList() << name + "-symbolic" << name);
-    else return getIcon(name);
-#else
+#ifdef APP_EXTRA
     return Extra::getIcon(name);
+#else
+    return themeIcon(name);
 #endif
 }
 
 QIcon Utils::icon(const QStringList &names) {
     QIcon icon;
     foreach (QString name, names) {
-        icon = getIcon(name);
+        icon = Utils::themeIcon(name);
         if (!icon.availableSizes().isEmpty()) break;
     }
     return icon;
 }
+
+QIcon Utils::tintedIcon(const QString &name, const QColor &color, QList<QSize> sizes) {
+    QIcon i = icon(name);
+    QIcon t;
+    if (sizes.isEmpty()) sizes = i.availableSizes();
+    foreach (QSize size, sizes) {
+        QPixmap pixmap = i.pixmap(size);
+        QImage tintedImage = tinted(pixmap.toImage(), color);
+        t.addPixmap(QPixmap::fromImage(tintedImage));
+    }
+    return t;
+}
+
+QImage Utils::grayscaled(const QImage &image) {
+    QImage img = image;
+    int pixels = img.width() * img.height();
+    unsigned int *data = (unsigned int *)img.bits();
+    for (int i = 0; i < pixels; ++i) {
+        int val = qGray(data[i]);
+        data[i] = qRgba(val, val, val, qAlpha(data[i]));
+    }
+    return img;
+}
+
+QImage Utils::tinted(const QImage &image, const QColor &color,
+              QPainter::CompositionMode mode) {
+    QImage img(image.size(), QImage::Format_ARGB32_Premultiplied);
+    QPainter painter(&img);
+    painter.drawImage(0, 0, grayscaled(image));
+    painter.setCompositionMode(mode);
+    painter.fillRect(img.rect(), color);
+    painter.end();
+    img.setAlphaChannel(image.alphaChannel());
+    return img;
+}
+
+void Utils::setupAction(QAction *action) {
+    // never autorepeat.
+    // unexperienced users tend to keep keys pressed for a "long" time
+    action->setAutoRepeat(false);
+
+    // show keyboard shortcuts in the status bar
+    if (!action->shortcut().isEmpty())
+        action->setStatusTip(action->statusTip() +
+                             " (" +
+                             action->shortcut().toString(QKeySequence::NativeText) +
+                            ")");
+}
index 1b023e854e1731ff2c3871e85fd35f8887ed265a..b62bddf07c933f52650e161276153a3f7775b360 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef UTILS_H
 #define UTILS_H
 
 class Utils {
 
 public:
+    static QIcon themeIcon(const QString &name);
     static QIcon icon(const QString &name);
     static QIcon icon(const QStringList &names);
+    static QIcon tintedIcon(const QString &name, const QColor &color,
+                            QList<QSize> sizes = QList<QSize>());
+    static void setupAction(QAction *action);
 
 private:
     Utils() { }
-
+    static QImage grayscaled(const QImage &image);
+    static QImage tinted(const QImage &image, const QColor &color,
+                         QPainter::CompositionMode mode = QPainter::CompositionMode_Screen);
 };
 
 #endif // UTILS_H
index 1e65242ca389531707ec680a974530caa2c7acbc..8cb1f97e03b309b00d2d1817f7f95c04801ac0f1 100644 (file)
@@ -1,17 +1,41 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "video.h"
 #include "networkaccess.h"
 #include <QtNetwork>
 #include "videodefinition.h"
+#include "jsfunctions.h"
 
 namespace The {
-    NetworkAccess* http();
+NetworkAccess* http();
 }
 
 Video::Video() : m_duration(0),
-m_viewCount(-1),
-definitionCode(0),
-elIndex(0),
-loadingStreamUrl(false)
+    m_viewCount(-1),
+    definitionCode(0),
+    elIndex(0),
+    ageGate(false),
+    m_license(LicenseYouTube),
+    loadingStreamUrl(false),
+    loadingThumbnail(false)
 { }
 
 Video* Video::clone() {
@@ -19,7 +43,7 @@ Video* Video::clone() {
     cloneVideo->m_title = m_title;
     cloneVideo->m_description = m_description;
     cloneVideo->m_author = m_author;
-    cloneVideo->m_authorUri = m_authorUri;
+    cloneVideo->m_userId = m_userId;
     cloneVideo->m_webpage = m_webpage;
     cloneVideo->m_streamUrl = m_streamUrl;
     cloneVideo->m_thumbnail = m_thumbnail;
@@ -43,7 +67,7 @@ void Video::setWebpage(QUrl webpage) {
     QRegExp re("^https?://www\\.youtube\\.com/watch\\?v=([0-9A-Za-z_-]+).*");
     bool match = re.exactMatch(m_webpage.toString());
     if (!match || re.numCaptures() < 1) {
-        qDebug() << QString("Cannot get video id for %1").arg(m_webpage.toString());
+        qWarning() << QString("Cannot get video id for %1").arg(m_webpage.toString());
         // emit errorStreamUrl(QString("Cannot get video id for %1").arg(m_webpage.toString()));
         // loadingStreamUrl = false;
         return;
@@ -52,13 +76,17 @@ void Video::setWebpage(QUrl webpage) {
 }
 
 void Video::loadThumbnail() {
+    if (m_thumbnailUrl.isEmpty() || loadingThumbnail) return;
+    loadingThumbnail = true;
     QObject *reply = The::http()->get(m_thumbnailUrl);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(setThumbnail(QByteArray)));
 }
 
 void Video::setThumbnail(QByteArray bytes) {
+    loadingThumbnail = false;
     m_thumbnail.loadFromData(bytes);
-    m_thumbnail = m_thumbnail.scaled(160, 90);
+    if (m_thumbnail.width() > 160)
+        m_thumbnail = m_thumbnail.scaledToWidth(160, Qt::SmoothTransformation);
     emit gotThumbnail();
 }
 
@@ -74,45 +102,48 @@ void Video::loadStreamUrl() {
         return;
     }
     loadingStreamUrl = true;
+    elIndex = 0;
+    ageGate = false;
 
-    // https://develop.participatoryculture.org/trac/democracy/browser/trunk/tv/portable/flashscraper.py
     getVideoInfo();
 }
 
 void  Video::getVideoInfo() {
-    static const QStringList elTypes = QStringList() << "&el=embedded" << "&el=vevo" << "&el=detailpage" << "";
-
-    if (elIndex > elTypes.size() - 1) {
+    static const QStringList elTypes = QStringList() << "&el=embedded" << "&el=detailpage" << "&el=vevo" << "";
+
+    QUrl videoInfoUrl;
+
+    if (elIndex == elTypes.size()) {
+        // qDebug() << "Trying special embedded el param";
+        videoInfoUrl = QUrl("http://www.youtube.com/get_video_info");
+        videoInfoUrl.addQueryItem("video_id", videoId);
+        videoInfoUrl.addQueryItem("el", "embedded");
+        videoInfoUrl.addQueryItem("gl", "US");
+        videoInfoUrl.addQueryItem("hl", "en");
+        videoInfoUrl.addQueryItem("eurl", "https://youtube.googleapis.com/v/" + videoId);
+        videoInfoUrl.addQueryItem("asv", "3");
+        videoInfoUrl.addQueryItem("sts", "1588");
+    } else if (elIndex > elTypes.size() - 1) {
+        qWarning() << "Cannot get video info";
         loadingStreamUrl = false;
         emit errorStreamUrl("Cannot get video info");
-        /*
-        // Don't panic! We have a plan B.
-        // get the youtube video webpage
-        qDebug() << "Scraping" << webpage().toString();
-        QObject *reply = The::http()->get(webpage().toString());
-        connect(reply, SIGNAL(data(QByteArray)), SLOT(scrapeWebPage(QByteArray)));
-        connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorVideoInfo(QNetworkReply*)));
-        // see you in scrapWebPage(QByteArray)
-        */
         return;
+    } else {
+        // qDebug() << "Trying el param:" << elTypes.at(elIndex) << elIndex;
+        videoInfoUrl = QUrl(QString(
+                                "http://www.youtube.com/get_video_info?video_id=%1%2&ps=default&eurl=&gl=US&hl=en"
+                                ).arg(videoId, elTypes.at(elIndex)));
     }
 
-    // Get Video Token
-    QUrl videoInfoUrl = QUrl(QString(
-            "http://www.youtube.com/get_video_info?video_id=%1%2&ps=default&eurl=&gl=US&hl=en"
-            ).arg(videoId, elTypes.at(elIndex)));
-
     QObject *reply = The::http()->get(videoInfoUrl);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(gotVideoInfo(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorVideoInfo(QNetworkReply*)));
 
     // see you in gotVideoInfo...
-
 }
 
 void  Video::gotVideoInfo(QByteArray data) {
     QString videoInfo = QString::fromUtf8(data);
-
     // qDebug() << "videoInfo" << videoInfo;
 
     // get video token
@@ -120,11 +151,13 @@ void  Video::gotVideoInfo(QByteArray data) {
     bool match = re.exactMatch(videoInfo);
     // handle regexp failure
     if (!match || re.numCaptures() < 1) {
+        // qDebug() << "Cannot get token. Trying next el param";
         // Don't panic! We're gonna try another magic "el" param
         elIndex++;
         getVideoInfo();
         return;
     }
+
     QString videoToken = re.cap(1);
     while (videoToken.contains('%'))
         videoToken = QByteArray::fromPercentEncoding(videoToken.toAscii());
@@ -136,31 +169,38 @@ void  Video::gotVideoInfo(QByteArray data) {
     match = re.exactMatch(videoInfo);
     // handle regexp failure
     if (!match || re.numCaptures() < 1) {
+        // qDebug() << "Cannot get urlMap. Trying next el param";
         // Don't panic! We're gonna try another magic "el" param
         elIndex++;
         getVideoInfo();
         return;
     }
 
+    // qDebug() << "Got token and urlMap" << elIndex;
+
     QString fmtUrlMap = re.cap(1);
     fmtUrlMap = QByteArray::fromPercentEncoding(fmtUrlMap.toUtf8());
+    parseFmtUrlMap(fmtUrlMap);
+}
 
+void Video::parseFmtUrlMap(QString fmtUrlMap, bool fromWebPage) {
     QSettings settings;
-    QString definitionName = settings.value("definition").toString();
+    QString definitionName = settings.value("definition", "360p").toString();
     int definitionCode = VideoDefinition::getDefinitionCode(definitionName);
 
     // qDebug() << "fmtUrlMap" << fmtUrlMap;
-    QStringList formatUrls = fmtUrlMap.split(",", QString::SkipEmptyParts);
+    QStringList formatUrls = fmtUrlMap.split(',', QString::SkipEmptyParts);
     QHash<int, QString> urlMap;
     foreach(QString formatUrl, formatUrls) {
         // qDebug() << "formatUrl" << formatUrl;
-        QStringList urlParams = formatUrl.split("&", QString::SkipEmptyParts);
+        QStringList urlParams = formatUrl.split('&', QString::SkipEmptyParts);
         // qDebug() << "urlParams" << urlParams;
 
         int format = -1;
         QString url;
         QString sig;
         foreach(QString urlParam, urlParams) {
+            // qDebug() << urlParam;
             if (urlParam.startsWith("itag=")) {
                 int separator = urlParam.indexOf("=");
                 format = urlParam.mid(separator + 1).toInt();
@@ -172,14 +212,41 @@ void  Video::gotVideoInfo(QByteArray data) {
                 int separator = urlParam.indexOf("=");
                 sig = urlParam.mid(separator + 1);
                 sig = QByteArray::fromPercentEncoding(sig.toUtf8());
+            } else if (urlParam.startsWith("s=")) {
+                if (fromWebPage || ageGate) {
+                    int separator = urlParam.indexOf("=");
+                    sig = urlParam.mid(separator + 1);
+                    sig = QByteArray::fromPercentEncoding(sig.toUtf8());
+                    if (ageGate)
+                        sig = JsFunctions::instance()->decryptAgeSignature(sig);
+                    else
+                        sig = JsFunctions::instance()->decryptSignature(sig);
+                } else {
+                    // qDebug() << "Loading webpage";
+                    QUrl url("http://www.youtube.com/watch");
+                    url.addQueryItem("v", videoId);
+                    url.addQueryItem("gl", "US");
+                    url.addQueryItem("hl", "en");
+                    url.addQueryItem("has_verified", "1");
+                    QObject *reply = The::http()->get(url);
+                    connect(reply, SIGNAL(data(QByteArray)), SLOT(scrapeWebPage(QByteArray)));
+                    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorVideoInfo(QNetworkReply*)));
+                    // see you in scrapWebPage(QByteArray)
+                    return;
+                }
             }
         }
         if (format == -1 || url.isNull()) continue;
 
         url += "&signature=" + sig;
 
+        if (!url.contains("ratebypass"))
+            url += "&ratebypass=yes";
+
+        // qWarning() << url;
+
         if (format == definitionCode) {
-            qDebug() << "Found format" << definitionCode;
+            // qDebug() << "Found format" << definitionCode;
             QUrl videoUrl = QUrl::fromEncoded(url.toUtf8(), QUrl::StrictMode);
             m_streamUrl = videoUrl;
             this->definitionCode = definitionCode;
@@ -199,7 +266,7 @@ void  Video::gotVideoInfo(QByteArray data) {
         if (previousIndex < 0) previousIndex = 0;
         int definitionCode = definitionCodes.at(previousIndex);
         if (urlMap.contains(definitionCode)) {
-            qDebug() << "Found format" << definitionCode;
+            // qDebug() << "Found format" << definitionCode;
             QString url = urlMap.value(definitionCode);
             QUrl videoUrl = QUrl::fromEncoded(url.toUtf8(), QUrl::StrictMode);
             m_streamUrl = videoUrl;
@@ -212,15 +279,14 @@ void  Video::gotVideoInfo(QByteArray data) {
     }
 
     emit errorStreamUrl(tr("Cannot get video stream for %1").arg(m_webpage.toString()));
-
 }
 
 void Video::foundVideoUrl(QString videoToken, int definitionCode) {
     // qDebug() << "foundVideoUrl" << videoToken << definitionCode;
 
     QUrl videoUrl = QUrl(QString(
-            "http://www.youtube.com/get_video?video_id=%1&t=%2&eurl=&el=&ps=&asv=&fmt=%3"
-            ).arg(videoId, videoToken, QString::number(definitionCode)));
+                             "http://www.youtube.com/get_video?video_id=%1&t=%2&eurl=&el=&ps=&asv=&fmt=%3"
+                             ).arg(videoId, videoToken, QString::number(definitionCode)));
 
     m_streamUrl = videoUrl;
     loadingStreamUrl = false;
@@ -233,37 +299,31 @@ void Video::errorVideoInfo(QNetworkReply *reply) {
 }
 
 void Video::scrapeWebPage(QByteArray data) {
+    QString html = QString::fromUtf8(data);
+    // qWarning() << html;
 
-    QString videoHTML = QString::fromUtf8(data);
-    QRegExp re(".*, \"t\": \"([^\"]+)\".*");
-    bool match = re.exactMatch(videoHTML);
+    if (html.contains("player-age-gate-content\"")) {
+        // qDebug() << "Found ageGate";
+        ageGate = true;
+        elIndex = 4;
+        getVideoInfo();
+        return;
+    }
 
+    QRegExp re(".*\"url_encoded_fmt_stream_map\":\\s+\"([^\"]+)\".*");
+    bool match = re.exactMatch(html);
     // on regexp failure, stop and report error
     if (!match || re.numCaptures() < 1) {
-        emit errorStreamUrl("Error parsing video page");
-        loadingStreamUrl = false;
+        qWarning() << "Error parsing video page";
+        // emit errorStreamUrl("Error parsing video page");
+        // loadingStreamUrl = false;
+        elIndex++;
+        getVideoInfo();
         return;
     }
-
-    QString videoToken = re.cap(1);
-    // FIXME proper decode
-    videoToken = videoToken.replace("%3D", "=");
-
-    // we'll need this in gotHeadHeaders()
-    this->videoToken = videoToken;
-
-    // qDebug() << "token" << videoToken;
-
-    QSettings settings;
-    QString definitionName = settings.value("definition").toString();
-    int definitionCode = VideoDefinition::getDefinitionCode(definitionName);
-    if (definitionCode == 18) {
-        // This is assumed always available
-        foundVideoUrl(videoToken, 18);
-    } else {
-        findVideoUrl(definitionCode);
-    }
-
+    QString fmtUrlMap = re.cap(1);
+    fmtUrlMap.replace("\\u0026", "&");
+    parseFmtUrlMap(fmtUrlMap, true);
 }
 
 void Video::gotHeadHeaders(QNetworkReply* reply) {
@@ -313,8 +373,8 @@ void Video::findVideoUrl(int definitionCode) {
     this->definitionCode = definitionCode;
 
     QUrl videoUrl = QUrl(QString(
-            "http://www.youtube.com/get_video?video_id=%1&t=%2&eurl=&el=&ps=&asv=&fmt=%3"
-            ).arg(videoId, videoToken, QString::number(definitionCode)));
+                             "http://www.youtube.com/get_video?video_id=%1&t=%2&eurl=&el=&ps=&asv=&fmt=%3"
+                             ).arg(videoId, videoToken, QString::number(definitionCode)));
 
     QObject *reply = The::http()->head(videoUrl);
     connect(reply, SIGNAL(finished(QNetworkReply*)), SLOT(gotHeadHeaders(QNetworkReply*)));
@@ -324,7 +384,6 @@ void Video::findVideoUrl(int definitionCode) {
 
 }
 
-
 QString Video::formattedDuration() const {
     QString format = m_duration > 3600 ? "h:mm:ss" : "m:ss";
     return QTime().addSecs(m_duration).toString(format);
index 4b15e3738aacd6e7d40b3ab628f717c223700123..76a9f58798f2a8e7878afec3be6328f0625a5388 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIDEO_H
 #define VIDEO_H
 
@@ -12,29 +32,34 @@ public:
     Video();
     Video* clone();
 
-    const QString title() const { return m_title; }
+    enum License {
+        LicenseYouTube = 1,
+        LicenseCC
+    };
+
+    const QString & title() const { return m_title; }
     void setTitle( QString title ) { m_title = title; }
 
-    const QString description() const { return m_description; }
+    const QString description() const { return m_description; }
     void setDescription( QString description ) { m_description = description; }
 
-    const QString author() const { return m_author; }
+    const QString author() const { return m_author; }
     void setAuthor( QString author ) { m_author = author; }
 
-    const QString authorUri() const { return m_authorUri; }
-    void setAuthorUri( QString authorUri ) { m_authorUri = authorUri; }
+    const QString & userId() const { return m_userId; }
+    void setUserId( QString userId ) { m_userId = userId; }
 
-    const QUrl webpage() const { return m_webpage; }
+    const QUrl webpage() const { return m_webpage; }
     void setWebpage(QUrl webpage);
 
     void loadThumbnail();
     const QPixmap & thumbnail() const { return m_thumbnail; }
 
-    QString thumbnailUrl() { return m_thumbnailUrl; }
+    const QString & thumbnailUrl() { return m_thumbnailUrl; }
     void setThumbnailUrl(QString url) { m_thumbnailUrl = url; }
 
     void loadMediumThumbnail();
-    QString mediumThumbnailUrl() { return m_mediumThumbnailUrl; }
+    const QString & mediumThumbnailUrl() { return m_mediumThumbnailUrl; }
     void setMediumThumbnailUrl(QString url) { m_mediumThumbnailUrl = url; }
 
     int duration() const { return m_duration; }
@@ -44,15 +69,19 @@ public:
     int viewCount() const { return m_viewCount; }
     void setViewCount( int viewCount ) { m_viewCount = viewCount; }
 
-    const QDateTime published() const { return m_published; }
+    const QDateTime published() const { return m_published; }
     void setPublished( QDateTime published ) { m_published = published; }
 
     int getDefinitionCode() const { return definitionCode; }
 
     void loadStreamUrl();
-    QUrl getStreamUrl() { return m_streamUrl; }
+    const QUrl & getStreamUrl() { return m_streamUrl; }
 
-    QString id() const { return videoId; }
+    void setId(QString id) { videoId = id; }
+    const QString & id() const { return videoId; }
+
+    void setLicense(License license) { m_license = license; }
+    License license() const { return m_license; }
 
 signals:
     void gotThumbnail();
@@ -71,11 +100,12 @@ private:
     void getVideoInfo();
     void findVideoUrl(int definitionCode);
     void foundVideoUrl(QString videoToken, int definitionCode);
+    void parseFmtUrlMap(QString fmtUrlMap, bool fromWebPage = false);
 
     QString m_title;
     QString m_description;
     QString m_author;
-    QString m_authorUri;
+    QString m_userId;
     QUrl m_webpage;
     QUrl m_streamUrl;
     QPixmap m_thumbnail;
@@ -84,7 +114,7 @@ private:
     int m_duration;
     QDateTime m_published;
     int m_viewCount;
-
+    License m_license;
     QString videoId;
     QString videoToken;
     int definitionCode;
@@ -92,8 +122,10 @@ private:
     // current index for the elTypes list
     // needed to iterate on elTypes
     int elIndex;
+    bool ageGate;
     
     bool loadingStreamUrl;
+    bool loadingThumbnail;
 };
 
 // This is required in order to use QPointer<Video> as a QVariant
index 695070f7141c2eb195ee42d5d0e9a07ce9b527a8..14a57187b09d2af07c2fe810d8523cfe33063304 100644 (file)
@@ -1,8 +1,32 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "videoareawidget.h"
 #include "videomimedata.h"
-#ifndef Q_WS_X11
+#include "mainwindow.h"
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
+#ifdef Q_WS_MAC
+#include "macutils.h"
+#endif
 
 VideoAreaWidget::VideoAreaWidget(QWidget *parent) : QWidget(parent) {
     QBoxLayout *vLayout = new QVBoxLayout(this);
@@ -28,11 +52,12 @@ VideoAreaWidget::VideoAreaWidget(QWidget *parent) : QWidget(parent) {
     stackedLayout = new QStackedLayout();
     vLayout->addLayout(stackedLayout);
 
-    snapshotPreview = new QLabel(this);
-    stackedLayout->addWidget(snapshotPreview);
+    // snapshotPreview = new QLabel(this);
+    // stackedLayout->addWidget(snapshotPreview);
     
-    setAcceptDrops(true);    
+    setAcceptDrops(true);
     setMouseTracking(true);
+    setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 }
 
 void VideoAreaWidget::setVideoWidget(QWidget *videoWidget) {
@@ -44,10 +69,12 @@ void VideoAreaWidget::setVideoWidget(QWidget *videoWidget) {
 void VideoAreaWidget::setLoadingWidget(LoadingWidget *loadingWidget) {
     this->loadingWidget = loadingWidget;
     stackedLayout->addWidget(loadingWidget);
+    stackedLayout->setCurrentWidget(loadingWidget);
 }
 
 void VideoAreaWidget::showVideo() {
     stackedLayout->setCurrentWidget(videoWidget);
+    loadingWidget->clear();
 }
 
 void VideoAreaWidget::showError(QString message) {
@@ -58,16 +85,17 @@ void VideoAreaWidget::showError(QString message) {
 }
 
 void VideoAreaWidget::showLoading(Video *video) {
-    stackedLayout->setCurrentWidget(loadingWidget);
-    this->loadingWidget->setVideo(video);
     messageLabel->hide();
     messageLabel->clear();
+    stackedLayout->setCurrentWidget(loadingWidget);
+    loadingWidget->setVideo(video);
 }
 
+/*
 void VideoAreaWidget::showSnapshotPreview(QPixmap pixmap) {
     snapshotPreview->setPixmap(pixmap);
     stackedLayout->setCurrentWidget(snapshotPreview);
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
     Extra::flashInWidget(snapshotPreview);
 #endif
     QTimer::singleShot(1500, this, SLOT(hideSnapshotPreview()));
@@ -76,13 +104,14 @@ void VideoAreaWidget::showSnapshotPreview(QPixmap pixmap) {
 void VideoAreaWidget::hideSnapshotPreview() {
     stackedLayout->setCurrentWidget(videoWidget);
 }
+*/
 
 void VideoAreaWidget::clear() {
-    stackedLayout->setCurrentWidget(loadingWidget);
     loadingWidget->clear();
     messageLabel->hide();
     messageLabel->clear();
-    snapshotPreview->clear();
+    // snapshotPreview->clear();
+    stackedLayout->setCurrentWidget(loadingWidget);
 }
 
 void VideoAreaWidget::mouseDoubleClickEvent(QMouseEvent *event) {
@@ -95,6 +124,29 @@ void VideoAreaWidget::mousePressEvent(QMouseEvent *event) {
 
     if(event->button() == Qt::RightButton)
         emit rightClicked();
+
+    else if (event->button() == Qt::LeftButton) {
+        bool isNormalWindow = !window()->isMaximized() &&
+                !MainWindow::instance()->isReallyFullScreen();
+        if (isNormalWindow) {
+            dragPosition = event->globalPos() - window()->frameGeometry().topLeft();
+            event->accept();
+        }
+    }
+}
+
+void VideoAreaWidget::mouseMoveEvent(QMouseEvent *event) {
+    bool isNormalWindow = !window()->isMaximized() &&
+            !MainWindow::instance()->isReallyFullScreen();
+    if (event->buttons() & Qt::LeftButton && isNormalWindow) {
+        QPoint p = event->globalPos() - dragPosition;
+#ifdef Q_WS_MAC
+        mac::moveWindowTo(window()->winId(), p.x(), p.y());
+#else
+        window()->move(p);
+#endif
+        event->accept();
+    }
 }
 
 void VideoAreaWidget::dragEnterEvent(QDragEnterEvent *event) {
index 4d4fd658463c2903289f461aa2307812f3e4ae67..3673f6913af2a3b8e8753aab0c5ac522d5f5ec33 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIDEOAREAWIDGET_H
 #define VIDEOAREAWIDGET_H
 
@@ -21,7 +41,8 @@ public:
     void setListModel(PlaylistModel *listModel) {
         this->listModel = listModel;
     }
-    void showSnapshotPreview(QPixmap pixmap);
+    // void showSnapshotPreview(QPixmap pixmap);
+    bool isVideoShown() { return stackedLayout->currentWidget() == videoWidget; }
 
 signals:
     void doubleClicked();
@@ -30,11 +51,12 @@ signals:
 protected:
     void mouseDoubleClickEvent(QMouseEvent *event);
     void mousePressEvent(QMouseEvent *event);
+    void mouseMoveEvent(QMouseEvent *event);
     void dragEnterEvent(QDragEnterEvent *event);
     void dropEvent(QDropEvent *event);
 
 private slots:
-    void hideSnapshotPreview();
+    // void hideSnapshotPreview();
 
 private:
     QStackedLayout *stackedLayout;
@@ -42,7 +64,8 @@ private:
     LoadingWidget *loadingWidget;
     PlaylistModel *listModel;
     QLabel *messageLabel;
-    QLabel *snapshotPreview;
+    // QLabel *snapshotPreview;
+    QPoint dragPosition;
 
 };
 
index 341b881fe3276a45017a9671ce8f750d5d5d7aca..28e3024d0515096adc5799f1689584ab4b0fdb30 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "videodefinition.h"
 
 QStringList VideoDefinition::getDefinitionNames() {
index dadc992f31619f69652225a4d12cd9fe33e4b362..809fafbfbc80b436d4711f56966ce36bb548ec1d 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIDEODEFINITION_H
 #define VIDEODEFINITION_H
 
index 619c7d197ab0010f6832be81a6c980767372016e..b2a45bee66cfd0b5046b1a141c9dddbe290435c1 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "videomimedata.h"
 
 VideoMimeData::VideoMimeData() {}
index ce06bd20389211e9e608e9131cad6c2aa12262d4..6abb788482b730ca40fba52f845a603b945da431 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIDEOMIMEDATA_H
 #define VIDEOMIMEDATA_H
 
index d2da7fbd7d76ea17302e59e4f93bce0414f30048..6f08656a1b662e1e9952768a87bb3555088a1e54 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "videosource.h"
 
 void VideoSource::setParam(QString name, QVariant value) {
index 767697edf9e769001c964c6ed1f39d150a5de1a3..760f512c0063aa280bafb54e622f884ca3cdcbfc 100644 (file)
@@ -1,7 +1,28 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIDEOSOURCE_H
 #define VIDEOSOURCE_H
 
 #include <QtCore>
+#include <QAction>
 
 class Video;
 
@@ -15,6 +36,7 @@ public:
     virtual void abort() = 0;
     virtual const QStringList & getSuggestions() = 0;
     virtual QString getName() = 0;
+    virtual QList<QAction*> getActions() { return QList<QAction*>(); }
 
 public slots:
     void setParam(QString name, QVariant value);
index 90b893b0f6145632462f1a16b5af99a7280fb522..ccd2a0f87448fb07223643f0df36d3724e20236a 100644 (file)
@@ -1,21 +1,39 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "videosourcewidget.h"
 #include "videosource.h"
 #include "video.h"
 #include "fontutils.h"
 
 VideoSourceWidget::VideoSourceWidget(VideoSource *videoSource, QWidget *parent)
-    : QWidget(parent),
-      videoSource(videoSource),
-      hovered(false),
-      pressed(false) {
+    : GridWidget(parent),
+      videoSource(videoSource) {
 
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
-    setCursor(Qt::PointingHandCursor);
-    setFocusPolicy(Qt::StrongFocus);
 
     connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
             SLOT(previewVideo(QList<Video*>)), Qt::UniqueConnection);
     videoSource->loadVideos(1, 1);
+
+    connect(this, SIGNAL(activated()), SLOT(activate()));
 }
 
 void VideoSourceWidget::activate() {
@@ -63,7 +81,8 @@ QPixmap VideoSourceWidget::playPixmap() {
     return playIcon;
 }
 
-void VideoSourceWidget::paintEvent(QPaintEvent *) {
+void VideoSourceWidget::paintEvent(QPaintEvent *event) {
+    GridWidget::paintEvent(event);
     if (pixmap.isNull()) return;
 
     QPainter p(this);
@@ -134,39 +153,3 @@ void VideoSourceWidget::paintEvent(QPaintEvent *) {
         p.restore();
     }
 }
-
-void VideoSourceWidget::mouseMoveEvent (QMouseEvent *event) {
-    QWidget::mouseMoveEvent(event);
-    hovered = rect().contains(event->pos());
-}
-
-void VideoSourceWidget::mousePressEvent(QMouseEvent *event) {
-    QWidget::mousePressEvent(event);
-    if (event->button() != Qt::LeftButton) return;
-    pressed = true;
-    update();
-}
-
-void VideoSourceWidget::mouseReleaseEvent(QMouseEvent *event) {
-    QWidget::mouseReleaseEvent(event);
-    if (event->button() != Qt::LeftButton) return;
-    pressed = false;
-    if (hovered) emit activated(videoSource);
-}
-
-void VideoSourceWidget::leaveEvent(QEvent *event) {
-    QWidget::leaveEvent(event);
-    hovered = false;
-    update();
-}
-
-void VideoSourceWidget::enterEvent(QEvent *event) {
-    QWidget::enterEvent(event);
-    hovered = true;
-    update();
-}
-
-void VideoSourceWidget::keyReleaseEvent(QKeyEvent *event) {
-    if (event->key() == Qt::Key_Return)
-        emit activated(videoSource);
-}
index b2d923631ec116a3f171a4ad0ef11d7b9a591246..22c7740d38682084701fb382bf97d9193baa6400 100644 (file)
@@ -1,12 +1,33 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIDEOSOURCEWIDGET_H
 #define VIDEOSOURCEWIDGET_H
 
 #include <QtGui>
+#include "gridwidget.h"
 
 class Video;
 class VideoSource;
 
-class VideoSourceWidget : public QWidget {
+class VideoSourceWidget : public GridWidget {
 
     Q_OBJECT
 
@@ -17,13 +38,7 @@ signals:
     void activated(VideoSource *videoSource);
 
 protected:
-    void paintEvent(QPaintEvent *);
-    void mouseMoveEvent(QMouseEvent *event);
-    void mousePressEvent(QMouseEvent *event);
-    void mouseReleaseEvent(QMouseEvent *event);
-    void enterEvent(QEvent *event);
-    void leaveEvent(QEvent *event);
-    void keyReleaseEvent(QKeyEvent *event);
+    void paintEvent(QPaintEvent *event);
 
 private slots:
     void activate();
@@ -36,8 +51,6 @@ private:
     QPixmap pixmap;
     Video *video;
 
-    bool hovered;
-    bool pressed;
 };
 
 #endif // VIDEOSOURCEWIDGET_H
index 0609c38c54219b48a3e594c04d967ff68f845719..e847f6e02ce73569404d05c94d83b5de813fe91e 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef VIEW_H
 #define VIEW_H
 
@@ -7,6 +27,7 @@ public:
     virtual QHash<QString, QVariant> metadata() { return QHash<QString, QVariant>(); }
     virtual void appear() {}
     virtual void disappear() {}
+    QList<QAction*> getViewActions() { return QList<QAction*>(); }
 
 };
 
index 92e2dbc5db61933350371c66e43e410cd180fa72..89217420c91ca9552977a5134a661d1a63058961 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytcategories.h"
 #include "networkaccess.h"
 #include <QtXml>
index 7513f2d312f69f521a0de97ddf5117ae9f132856..5689158aeeb8a655e19f3f96407fc283faa1bc35 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTCATEGORIES_H
 #define YTCATEGORIES_H
 
index 117f92bf891cf5d91a225b8ec0ddd8e135319ce8..9aaacf0a1d1209b678dec7d1270aa3d8b7430ac5 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytfeedreader.h"
 #include "video.h"
 
@@ -42,11 +62,9 @@ void YTFeedReader::readEntry() {
                     if (name() == QLatin1String("name")) {
                         QString author = readElementText();
                         video->setAuthor(author);
-                    } else if (name() == QLatin1String("uri")) {
-                        QString uri = readElementText();
-                        int i = uri.lastIndexOf('/');
-                        if (i != -1) uri = uri.mid(i+1);
-                        video->setAuthorUri(uri);
+                    } else if (name() == QLatin1String("userId")) {
+                        QString userId = readElementText();
+                        video->setUserId(userId);
                     } else skipCurrentElement();
             } else if (name() == QLatin1String("published")) {
                 video->setPublished(QDateTime::fromString(readElementText(), Qt::ISODate));
@@ -88,6 +106,12 @@ void YTFeedReader::readEntry() {
                             // qDebug() << "Duration: " << duration;
                             video->setDuration(duration.toInt());
                         }
+                        else if (name() == QLatin1String("license")) {
+                            QString license = readElementText();
+                            // qDebug() << "License: " << license;
+                            if (license == QLatin1String("cc"))
+                                video->setLicense(Video::LicenseCC);
+                        }
                     }
                 }
             }
index 3ee6142d616260701974dd52dcc70dabc1ab34b4..195c2a52b277fb612207a199d9e2e492057bbf50 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTFEEDREADER_H
 #define YTFEEDREADER_H
 
index 63f8f14edba5038b1a5143ad739c96eca75b369b..b05cf6c4c2f5ffd2566b8762724a591129e9396a 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytregions.h"
 
 YTRegions::YTRegions() : QObject() { }
index 029c0b9f84403aaf7c555e92810951c7c60c3634..bae02865005b24e932f0cbe8e945f203ae232418 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTREGIONS_H
 #define YTREGIONS_H
 
@@ -13,6 +33,8 @@ struct YTRegion {
 
 class YTRegions : public QObject {
 
+    Q_OBJECT
+
 public:
     static const QList<YTRegion> & list();
     static const YTRegion & localRegion();
index 9f3fd34f9cb47e111405ff81f8b01c8a98f62c32..010cbd57d4ea0696041ed51c39a5b856f633439c 100644 (file)
@@ -1,12 +1,35 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytsearch.h"
 #include "ytfeedreader.h"
 #include "constants.h"
 #include "networkaccess.h"
 #include "searchparams.h"
 #include "video.h"
+#include "utils.h"
+#include "ytuser.h"
 
 namespace The {
-    NetworkAccess* http();
+NetworkAccess* http();
+QHash<QString, QAction*>* globalActions();
 }
 
 YTSearch::YTSearch(SearchParams *searchParams, QObject *parent) :
@@ -104,7 +127,11 @@ void YTSearch::parseResults(QByteArray data) {
 
     if (name.isEmpty() && !searchParams->author().isEmpty()) {
         if (videos.isEmpty()) name = searchParams->author();
-        else name = videos.first()->author();
+        else {
+            name = videos.first()->author();
+            // also grab the userId
+            userId = videos.first()->userId();
+        }
         emit nameChanged(name);
     }
 
@@ -123,3 +150,11 @@ QString YTSearch::videoIdFromUrl(QString url) {
     if (re.exactMatch(url)) return re.cap(1);
     return QString();
 }
+
+QList<QAction*> YTSearch::getActions() {
+    QList<QAction*> channelActions;
+    if (searchParams->author().isEmpty())
+        return channelActions;
+    channelActions << The::globalActions()->value("subscribe-channel");
+    return channelActions;
+}
index 983a27b39e500d07bca55a42c11faa44add645a7..7ed282cc7ffbaed7ae6e8420947b1ca5a5205e8b 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTSEARCH_H
 #define YTSEARCH_H
 
@@ -24,6 +44,8 @@ public:
         return searchParams == other.getSearchParams();
     }
 
+    QList<QAction*> getActions();
+
 private slots:
     void parseResults(QByteArray data);
     void requestError(QNetworkReply *reply);
@@ -33,6 +55,8 @@ private:
     bool aborted;
     QStringList suggestions;
     QString name;
+
+    QString userId;
 };
 
 #endif // YTSEARCH_H
index 6a22de58b22a55ebe9256871124c365d56991395..b4f4d308943341e810a5862f2650b43e77134d73 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytsinglevideosource.h"
 #include <QtXml>
 #include "networkaccess.h"
index 62aeb9adc5fe4fb7d0393793413645916aceb924..53dfd529edb9018eb6e30a2fba025d73e8cd9c41 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTSINGLEVIDEOSOURCE_H
 #define YTSINGLEVIDEOSOURCE_H
 
index 111ec291a5600cb50236585b76b00480f583aa59..50e0674318605a8d1d4c2a61a282ec8cb0308e66 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytstandardfeed.h"
 #include <QtXml>
 #include "networkaccess.h"
@@ -23,8 +43,11 @@ void YTStandardFeed::loadVideos(int max, int skip) {
     QUrl url(s);
     url.addQueryItem("v", "2");
 
-    if (feedId != "most_shared")
-        url.addQueryItem("time", "today");
+    if (feedId != "most_shared" && feedId != "on_the_web") {
+        QString t = time;
+        if (t.isEmpty()) t = "today";
+        url.addQueryItem("time", t);
+    }
 
     url.addQueryItem("max-results", QString::number(max));
     url.addQueryItem("start-index", QString::number(skip));
index 45cdfac434c945324e2049eccf766d54ee06f18c..13979a8dca9d4acc6d78e5d968d6b2e0d8e63745 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTSTANDARDFEED_H
 #define YTSTANDARDFEED_H
 
@@ -23,6 +43,9 @@ public:
     QString getLabel() { return label; }
     void setLabel(QString label) { this->label = label; }
 
+    QString getTime() { return time; }
+    void setTime(QString time) { this->time = time; }
+
     void loadVideos(int max, int skip);
     void abort();
     const QStringList & getSuggestions();
@@ -37,6 +60,7 @@ private:
     QString regionId;
     QString category;
     QString label;
+    QString time;
     bool aborted;
 };
 
index a1cfe98f1432a15b6ff2d186f18d374ded588554..c526b30079c8d4ce5ee165d596b376bbaa4254f3 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "ytsuggester.h"
 #include <QtXml>
 #include "networkaccess.h"
index c42440b10ea11c0a0658fde747f6a17b7f07a940..0599ff89218bedc8826cc759c962fb6ccd6651b9 100644 (file)
@@ -1,3 +1,23 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #ifndef YTSUGGESTER_H
 #define YTSUGGESTER_H
 
diff --git a/src/ytuser.cpp b/src/ytuser.cpp
new file mode 100644 (file)
index 0000000..9dc633a
--- /dev/null
@@ -0,0 +1,307 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "ytuser.h"
+#include "networkaccess.h"
+#include "database.h"
+#include <QtSql>
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTUser::YTUser(QString userId, QObject *parent) : QObject(parent),
+    id(0),
+    userId(userId),
+    loadingThumbnail(false),
+    notifyCount(0),
+    checked(0),
+    watched(0),
+    loaded(0),
+    loading(false) { }
+
+QHash<QString, YTUser*> YTUser::cache;
+
+YTUser* YTUser::forId(QString userId) {
+    if (userId.isEmpty()) return 0;
+
+    if (cache.contains(userId))
+        return cache.value(userId);
+
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("select id,name,description,thumb_url,notify_count,watched,checked,loaded "
+                  "from subscriptions where user_id=?");
+    query.bindValue(0, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+
+    YTUser* user = 0;
+    if (query.next()) {
+        user = new YTUser(userId);
+        user->id = query.value(0).toInt();
+        user->displayName = query.value(1).toString();
+        user->description = query.value(2).toString();
+        user->thumbnailUrl = query.value(3).toString();
+        user->notifyCount = query.value(4).toInt();
+        user->watched = query.value(5).toUInt();
+        user->checked = query.value(6).toUInt();
+        user->loaded = query.value(7).toUInt();
+        user->thumbnail = QPixmap(user->getThumbnailLocation());
+        user->maybeLoadfromAPI();
+        cache.insert(userId, user);
+    }
+
+    return user;
+}
+
+void YTUser::maybeLoadfromAPI() {
+    if (loading) return;
+    if (userId.isEmpty()) return;
+
+    uint now = QDateTime::currentDateTime().toTime_t();
+    static const int refreshInterval = 60 * 60 * 24 * 10;
+    if (loaded > now - refreshInterval) return;
+
+    loading = true;
+
+    QUrl url("http://gdata.youtube.com/feeds/api/users/" + userId);
+    url.addQueryItem("v", "2");
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResponse(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTUser::parseResponse(QByteArray bytes) {
+    QXmlStreamReader xml(bytes);
+    xml.readNextStartElement();
+    if (xml.name() == QLatin1String("entry"))
+        while(xml.readNextStartElement()) {
+            const QStringRef n = xml.name();
+            if (n == QLatin1String("summary"))
+                description = xml.readElementText().simplified();
+            else if (n == QLatin1String("title"))
+                displayName = xml.readElementText();
+            else if (n == QLatin1String("thumbnail")) {
+                thumbnailUrl = xml.attributes().value("url").toString();
+                xml.skipCurrentElement();
+            } else if (n == QLatin1String("username"))
+                userName = xml.readElementText();
+            else xml.skipCurrentElement();
+        }
+
+    if (xml.hasError()) {
+        emit error(xml.errorString());
+        qWarning() << xml.errorString();
+    }
+
+    emit infoLoaded();
+    storeInfo();
+    loading = false;
+}
+
+void YTUser::loadThumbnail() {
+    if (loadingThumbnail) return;
+    if (thumbnailUrl.isEmpty()) return;
+    loadingThumbnail = true;
+
+#ifdef Q_WS_WIN
+    thumbnailUrl.replace(QLatin1String("https://"), QLatin1String("http://"));
+#endif
+
+    QUrl url(thumbnailUrl);
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(storeThumbnail(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+const QString & YTUser::getThumbnailDir() {
+    static const QString thumbDir = QDesktopServices::storageLocation(
+                QDesktopServices::DataLocation) + "/channels/";
+    return thumbDir;
+}
+
+QString YTUser::getThumbnailLocation() {
+    return getThumbnailDir() + userId;
+}
+
+void YTUser::storeThumbnail(QByteArray bytes) {
+    thumbnail.loadFromData(bytes);
+    static const int maxWidth = 88;
+
+    QDir dir;
+    dir.mkpath(getThumbnailDir());
+
+    if (thumbnail.width() > maxWidth) {
+        thumbnail = thumbnail.scaledToWidth(maxWidth, Qt::SmoothTransformation);
+        thumbnail.save(getThumbnailLocation(), "JPG");
+    } else {
+        QFile file(getThumbnailLocation());
+        if (!file.open(QIODevice::WriteOnly))
+            qWarning() << "Error opening file for writing" << file.fileName();
+        QDataStream stream(&file);
+        stream.writeRawData(bytes.constData(), bytes.size());
+    }
+
+    emit thumbnailLoaded();
+    loadingThumbnail = false;
+}
+
+void YTUser::requestError(QNetworkReply *reply) {
+    emit error(reply->errorString());
+    qWarning() << reply->errorString();
+    loading = false;
+    loadingThumbnail = false;
+}
+
+void YTUser::storeInfo() {
+    if (userId.isEmpty()) return;
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("update subscriptions set "
+                  "user_name=?, name=?, description=?, thumb_url=?, loaded=? "
+                  "where user_id=?");
+    qDebug() << userName;
+    query.bindValue(0, userName);
+    query.bindValue(1, displayName);
+    query.bindValue(2, description);
+    query.bindValue(3, thumbnailUrl);
+    query.bindValue(4, QDateTime::currentDateTime().toTime_t());
+    query.bindValue(5, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+
+    loadThumbnail();
+}
+
+void YTUser::subscribe(QString userId) {
+    if (userId.isEmpty()) return;
+
+    uint now = QDateTime::currentDateTime().toTime_t();
+
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("insert into subscriptions "
+                  "(user_id,added,watched,checked,views,notify_count)"
+                  " values (?,?,?,0,0,0)");
+    query.bindValue(0, userId);
+    query.bindValue(1, now);
+    query.bindValue(2, now);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+
+    // This will call maybeLoadFromApi
+    YTUser::forId(userId);
+}
+
+void YTUser::unsubscribe(QString userId) {
+    if (userId.isEmpty()) return;
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("delete from subscriptions where user_id=?");
+    query.bindValue(0, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+
+    query = QSqlQuery(db);
+    query.prepare("delete from subscriptions_videos where user_id=?");
+    query.bindValue(0, userId);
+    success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+
+    YTUser *user = cache.take(userId);
+    if (user) user->deleteLater();
+}
+
+bool YTUser::isSubscribed(QString userId) {
+    if (!Database::exists()) return false;
+    if (userId.isEmpty()) return false;
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("select count(*) from subscriptions where user_id=?");
+    query.bindValue(0, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (query.next())
+        return query.value(0).toInt() > 0;
+    return false;
+}
+
+void YTUser::updateChecked() {
+    if (userId.isEmpty()) return;
+
+    uint now = QDateTime::currentDateTime().toTime_t();
+    checked = now;
+
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("update subscriptions set checked=? where user_id=?");
+    query.bindValue(0, QDateTime::currentDateTime().toTime_t());
+    query.bindValue(1, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+}
+
+void YTUser::updateWatched() {
+    if (userId.isEmpty()) return;
+
+    uint now = QDateTime::currentDateTime().toTime_t();
+    watched = now;
+    notifyCount = 0;
+
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("update subscriptions set watched=?, notify_count=0, views=views+1 where user_id=?");
+    query.bindValue(0, now);
+    query.bindValue(1, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+}
+
+void YTUser::storeNotifyCount(int count) {
+    notifyCount = count;
+
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("update subscriptions set notify_count=? where user_id=?");
+    query.bindValue(0, count);
+    query.bindValue(1, userId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+}
+
+bool YTUser::updateNotifyCount() {
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("select count(*) from subscriptions_videos "
+                  "where channel_id=? and added>? and published>? and watched=0");
+    query.bindValue(0, id);
+    query.bindValue(1, watched);
+    query.bindValue(2, watched);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (!query.next()) {
+        qWarning() << __PRETTY_FUNCTION__ << "Count failed";
+        return false;
+    }
+    int count = query.value(0).toInt();
+    storeNotifyCount(count);
+    return count != notifyCount;
+}
diff --git a/src/ytuser.h b/src/ytuser.h
new file mode 100644 (file)
index 0000000..d7131cd
--- /dev/null
@@ -0,0 +1,104 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef YTUSER_H
+#define YTUSER_H
+
+#include <QtGui>
+#include <QtNetwork>
+
+class YTUser : public QObject {
+
+    Q_OBJECT
+
+public:
+    static YTUser* forId(QString userId);
+    static void subscribe(QString userId);
+    static void unsubscribe(QString userId);
+    static bool isSubscribed(QString userId);
+
+    int getId() { return id; }
+    void setId(int id) { this->id = id; }
+
+    uint getChecked() { return checked; }
+    void updateChecked();
+
+    uint getWatched() const { return watched; }
+    void setWatched(uint watched) { this->watched = watched; }
+    void updateWatched();
+
+    int getNotifyCount() const { return notifyCount; }
+    void setNotifyCount(int count) { notifyCount = count; }
+    void storeNotifyCount(int count);
+    bool updateNotifyCount();
+
+    QString getUserId() const { return userId; }
+    QString getUserName() const { return userName; }
+    QString getDisplayName() const { return displayName; }
+    QString getDescription() const { return description; }
+    QString getCountryCode() const { return countryCode; }
+
+    void loadThumbnail();
+    const QString & getThumbnailDir();
+    QString getThumbnailLocation();
+    const QPixmap & getThumbnail() { return thumbnail; }
+
+    static QList<YTUser*> getCachedUsers() { return cache.values(); }
+
+signals:
+    void infoLoaded();
+    void thumbnailLoaded();
+    void error(QString message);
+
+private slots:
+    void parseResponse(QByteArray bytes);
+    void requestError(QNetworkReply *reply);
+    void storeThumbnail(QByteArray bytes);
+
+private:
+    YTUser(QString userId, QObject *parent = 0);
+    void maybeLoadfromAPI();
+    void storeInfo();
+
+    static QHash<QString, YTUser*> cache;
+
+    int id;
+    QString userId;
+    QString userName;
+    QString displayName;
+    QString description;
+    QString countryCode;
+
+    QString thumbnailUrl;
+    QPixmap thumbnail;
+    bool loadingThumbnail;
+
+    int notifyCount;
+    uint checked;
+    uint watched;
+    uint loaded;
+    bool loading;
+};
+
+// This is required in order to use QPointer<YTUser> as a QVariant
+typedef QPointer<YTUser> YTUserPointer;
+Q_DECLARE_METATYPE(YTUserPointer)
+
+#endif // YTUSER_H
index 9b980e9108578426d57f958447e921f903372e42..9fdf2630711786dc2e5450e8db32374a59e6a0d6 100644 (file)
--- a/style.css
+++ b/style.css
@@ -75,75 +75,3 @@ SidebarHeader QComboBox::drop-down {
     width: 0;
     border-style: none;
 }
-
-/* Ambiance */
-
-MainWindow[style="Ambiance"] > QToolBar {
-    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
-                     stop: 0 #3c3b37, stop: 1 #474641);
-}
-
-MainWindow[style="Ambiance"] > QToolBar QToolButton,
-MainWindow[style="Ambiance"] > QToolBar QLabel {
-    color: #dfdbd2;
-}
-
-MainWindow[style="Ambiance"] > QToolBar QToolButton:disabled {
-    color: #8f8c86;
-}
-
-MainWindow[style="Ambiance"] > QToolBar QToolButton:hover {
-    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
-                 stop: 0 #474641, stop: 1 #3c3b37);
-                 border-radius: 5px;
-    border: 1px outset #3c3b37;
-}
-
-MainWindow[style="Ambiance"] > QToolBar QToolButton:pressed,
-MainWindow[style="Ambiance"] > QToolBar QToolButton:checked {
-    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
-                 stop: 0 #3b3a36, stop: 1 #363531);
-                 border-radius: 5px;
-    border: 1px inset #292825;
-}
-
-
-MainWindow[style="Ambiance"] QSlider::groove:horizontal {
-     border: 1px solid #808080;
-     height: 8px;
-     background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #ccc);
-     border-radius: 5px;
-}
-
-MainWindow[style="Ambiance"] QSlider::sub-page:horizontal {
-    border: 1px solid #808080;
-    height: 8px;
-    background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #6c6c6c, stop:1 #B1B1B1);
-    border-radius: 5px;
-}
-
-MainWindow[style="Ambiance"] QSlider::handle:horizontal {
-    border: 1px solid #5c5c5c;
-    width: 14px;
-    height: 16px;
-    margin: -4px 0;
-    border-radius: 8px;
-    background: qradialgradient(
-        cx: .5, cy: .5,
-        fx: .33, fy: .33,
-        radius: .5,
-        stop: 0 #fff, stop: 1 #ccc);
-}
-
-MainWindow[style="Ambiance"] QSlider::handle:pressed {
-    background: qradialgradient(
-        cx: .5, cy: .5,
-        fx: .33, fy: .33,
-        radius: .5,
-        stop: 0 #ccc, stop: 1 #9c9c9c);
-}
-
-MainWindow[style="Ambiance"] Phonon--SeekSlider QSlider::sub-page:horizontal {
-    border: 1px solid #808080;
-    background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #6c6c6c);
-}