local/
*.swp
.tx
+android
+qtc_packaging
+2.0 - January ?? 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
+- "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
+- 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
+
1.9 - September 27, 2012
- Adapted to YouTube changes
- New search filter UI. Filter results by publication date, video duration and video quality.
## Major features
-- Snapshots
-
-- Features for logged in users:
- * Channel subscriptions (r/w)
- * Favorite videos (r/w)
- * Comments (r/w)
- * Likes (r/w)
- * Playlists (r/w)
-
-- Related videos
- List of related videos identical to the playlist.
- When a related video is clicked Minitube will keep playing the next related videos.
- Don't know where the list should appear, maybe on the right, but when activated it should replace the playlist.
- Maybe the playlist should disappear, leaving only the panel on the right.
+- Snapshots (Cannot be done with Phonon)
+
+- Channel subscriptions
+
+- Favorite videos
- Info view
Displays video metadata. Could be somewhat linked with related videos...
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<source>%1 is Free Software but its development takes precious time.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<source>What you always wanted to know about %1 and never dared to ask</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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"></translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation type="unfinished"></translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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 type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<source>%n Download(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<context>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation type="unfinished"></translation>
</message>
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<source>Go to the YouTube video page and pause playback</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <source>Watch videos related to the current one</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="544"/>
<source>&Application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation type="unfinished"></translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<source>part</source>
<comment>This is for video parts, as in 'Cool video - part 1'</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<source>episode</source>
<comment>This is for video parts, as in 'Cool series - episode 1'</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation type="unfinished"></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>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation type="unfinished"></translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>هناك حياة خارج المتصفح!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>النسخة %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 هو برنامج مجاني و لكن برمجته تستهلك وقتا ثمينا.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>الرجاء <a href='%1'>التبرع</a> لمتابعة تطوير %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation>قد ترغب في تجريب برامجي الأخرى أيضا</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1، قارئ موسيقى على اليوتيوب</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1، قارئ موسيقى</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>ترجم %1 إلى لغتك الأم بإستعمال %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>صمم الايقونة %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>نشر هذا البرنامج تحت رخصة <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&اقفل</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>عن البرنامج</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<source>What you always wanted to know about %1 and never dared to ask</source>
<translation>ما اردت معرفته عن %1 و لم تستطع ان تسأل</translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>مسح</translation>
+ <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>&Email:</source>
+ <translation>&البريد الألكتروني:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>الرجاء قم بترخيص %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>أنتهت مدة النسخة التجريبية.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>اÙ\84Ù\86سخة اÙ\84تجرÙ\8aبة ستÙ\86تÙ\87Ù\8a Ø®Ù\84اÙ\84 %1 Ù\8aÙ\88Ù\85.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>بدÙ\88Ù\86 رخصة, سÙ\88Ù\81 تÙ\86تÙ\87Ù\8a اÙ\84Ù\86سخة اÙ\84تجرÙ\8aبÙ\8aØ© Ù\85Ù\86 Ù\87ذا اÙ\84برÙ\86اÙ\85ج Ø®Ù\84اÙ\84 20 Ù\8aÙ\88Ù\85ا</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>بشراءÙ\83Ø© Ù\84Ù\84Ù\86سخة اÙ\84Ù\83اÙ\85Ù\84Ø©Ø\8c سÙ\88Ù\81 تÙ\82Ù\88Ù\85 Ø£Ù\8aضا بدعÙ\85 اÙ\84عاÙ\85Ù\84 عشاق الذي قمت به في إنشاء %1.</translation>
+ <translation>بشرائÙ\83 اÙ\84Ù\86سخة اÙ\84Ù\83اÙ\85Ù\84Ø©Ø\8c سÙ\88Ù\81 تÙ\82Ù\88Ù\85 Ø£Ù\8aضا بدعÙ\85 اÙ\84عÙ\85Ù\84 اÙ\84شاق الذي قمت به في إنشاء %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>إستخدÙ\85 Ù\85ثاÙ\84</translation>
+ <translation>استخدÙ\85 اÙ\84Ù\86سخة اÙ\84تجرÙ\8aبÙ\8aØ©</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>احصل على النسخة الكاملة</translation>
+ <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>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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>seconds</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 متبقي</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>يمكن تحميل الفيديو في أقل من %1 دقيقة بحيث يمكنك اختبار وظيفة التحميل.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>متابعة</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>احصل على النسخة الكاملة</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 حمل في %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>انتهي التحميل</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>تغيير الموقع...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>اختر موقع التحميل</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>موقع التحميل تغير.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>التحميل سيتم في الموقع السابق.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>التحميل الى:%1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>جارÙ\8a اÙ\84بØØ«...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>بØØ«</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>اظهر %1 المزيد</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>لا توجد فيديوات</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>أستعراض</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation> لا توجد فيديوات اخرى</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>تصفح الفيديوهات حسب الفئة</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>اجعل نفسك مرتاحا</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&قف</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>وقف التشغيل و العودة لوضع البحث</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&القفز</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>القفز للفيديو التالي</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&ايقاف مؤقت</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>ايقاف التشغيل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&شاشة كاملة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>تشغيل شاشة كاملة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>اخفاء القائمة و شريط المهام</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<source>Go to the YouTube video page and pause playback</source>
<translation>اذهب الى صفحة فيديو YouTube و وقف التشغيل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>نسخ رابط YouTube الى clipboard</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>نسخ رابط الفيديو الى clipboard</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation>اوجد أجزاء الفيديو الأخرى املا أن تكون في الترتيب الصحيح</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&إزالة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>إزالة الفيديو من القائمة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>الرفع الى &اعلى</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>رفع المقاطع المختارة الى فوق في القائمة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>الانزال الى &تحت</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation>انزال المقاطع المختارة الى تحت في القائمة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>مسح تاريخ البحث. لا يمكن استعادته.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&الانتهاء</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>مع السلامة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&الموقع</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 على الشبكة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>الرجاء التبرع لمتابعة تطوير %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&عن البرنامج</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>معلومات عن %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>البحث</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>كتم الصوت</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&التحميلات</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>عرض تفاصيل عن تحميلات الفيديو</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&التحميلات</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>تحميل الفيديو الحالي</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>شارك الفيديو الحالي باستخدام %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&البريد الإلكتروني</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>البريد الإلكتروني</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&اقفل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&اطفو علي القمة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&أوقف العرض التلقائي بعد الفيديو الحالي </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&أبلغ عن مشكلة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&خيارات البحث...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>المزيد...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&البرنامج</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>اشتري %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&قراءة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&القائمة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&الفيديو</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&مشاهدة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&شارك</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&المساعدة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation>اضغط %1 لرفع الصوت و %2 لخفضه</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>جاري فتح %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<source>Do you want to exit %1 with a download in progress?</source>
<translation>هل تريد الخروج %1 رغم وجود تحميل?</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation>عند اغلاق %1 التحميل سيلغى.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>الاغلاق و الغاء التحميل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>انتظار انتهاء التحميل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>غادر &الشاشة الكاملة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 الإصدار %2 متوفر الآن.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>ذكرني لاحقا</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>للحصول على أحدث نسخة , قم بتحميل %1 مرة أُخرى من الرابط الذي وصلك الى بريدك الألكتروني وأعد التثبيت </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>تحديث</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>خطأ: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>ال&سابق</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>العودة إلى المجاز السابق</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&الواجهة الخفيفة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>أفتح صفحة الفيديو على &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>انسخ رابط الفيديو &Link</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>انسخ الفيديو وعنوانه</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>أبحث عن &أجزاء الفيديو الأُخرى</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&مسح تاريخ البحث </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>القيام بتبرع</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&تشغيل الفيديوهات يدويا</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>بدء تشغيل الفيديو يدويا</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&التشغيل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>اكمال التشغيل</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>الوقت المتبقي: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>%1%الصوت عند </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>الصوت مكتوم</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>الصوت غير مكتوم</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>الوضوح الاقصى %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>خصوصيتك امنة</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>التحميل انتهى</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>يمكنك لصق رابط YouTube في برنامج اخر</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>يمكنك لصق رابط الفيديو في برنامج اخر</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>الرابط سيكون صالحا لمدة محدودة.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>متابعة</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>من</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>أرسلت من %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>احصل على النسخة الكاملة</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>جاري تحميل %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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>ذكرني لاحقا</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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>خطأ شبكة:%1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>لصق</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 Ù\85شاÙ\87دات</translation>
+ <translation>%1 Ù\85شاÙ\87دة</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 من %2 (%3) - %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>تهيئة</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>فشل</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>تم</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>متوقف</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>ايقاف التحميل</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>اظهار في %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>فتح المجلد الرئيسي</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>اعادة التحميل</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>جاري البحث...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>اظهر %1 المزيد</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>لا توجد فيديوهات</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>لا يوجد المزيد من الفيديوهات</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>ترتيب بـ</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>ذات صلة</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>التاريخ</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>عدد المشاهدات</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>التقييم</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>اي وقت</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>اليوم</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 أيام</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 يوم</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>المدة</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>الكل</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>قصير</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>متوسط</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>طويل</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>أقل من 4 دقائق</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>ما بين 4 ال 20 دقيقة</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>أطول من 20 دقيقة</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>الجودة</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>دقة عالية</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720 أو أعلي</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>إنتهي</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>مرحبا بك في <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>الحصول على النسخة الكاملة</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>أدخل</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation> كلمة مفتاح</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>قناة</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>لبدء مشاهدة أشرطة الفيديو</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>شاهد</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>كلمات بحث سابقة</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>القنوات الأخيرة</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>اجعل نفسك مرتاحا</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&عودة</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>خيارات البحث</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>هل تقصد: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>الأكثر مشاركة</translation>
+ </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>الأعلى تقييما</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>لا يمكن الحصول على دفق الفيديو %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>خطأ شبكة:%1 الى %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>الجزائر</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>الأرجنتين</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>أستراليا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>بلجيكا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>البرازيل</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>كندا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>تشيلي</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>كولومبيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>جمهورية التشيك</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>مصر</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>فرنسا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>ألمانيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>غانا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>اليونان</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>هونغ كونغ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>هنغاريا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>الهند</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>إندونيسيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>إيرلندا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Israel</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>إيطاليا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>اليابان</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>الأردن</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>كينيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>ماليزيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>المكسيك</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>المغرب</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>هولندا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>نيوزيلندا </translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>نيجيريا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>بيرو</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>الفلبين</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>بولندا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>روسيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>المملكة العربية السعودية</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>سنغافورة</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>جنوب أفريقيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>كوريا الجنوبية</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>إسبانيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>السويد</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>تايوان</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>تونس</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>تركيا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>أوغندا</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>الإمارات العربية المتحدة</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>المملكة المتحدة</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>اليمن</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>العالم</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Hi ha vida fora del navegador!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versió %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 programari lliure, però el seu desenvolupament pren un temps preciós.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Siusplau <a href='%1'>dóna</a> per ajudar al desenvolupament continuat del %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<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="45"/>
+ <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="51"/>
+ <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 utilitzant %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <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="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Alliberat sota la <a href='%1'>Llicència Pública General de GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Tanca</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Quant a</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <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>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Neteja</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <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/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Aquesta demo ha expirat</translation>
+ <translation>Aquesta demo ha expirat.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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ó completa permet descarregar vídeos de més de %1 minuts i veure els vídeos sense interrupcions.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Aquesta demo expira en %1 dies.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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>
+ <translation>Comprant la versió completa, també donarà suport al dur treball que he posat en la creació del %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Utilitza la demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Aconsegueix la versió completa</translation>
+ <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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>segons</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuts</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restant</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <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="50"/>
+ <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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Aconsegueix la versió completa</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <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="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Descàrrega completada</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Canvia la ubicació...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Escull la ubicació de les baixades</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <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="63"/>
+ <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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Baixant a: %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>S'està cercant...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Cerca</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostra %1 Més</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Cap vídeo</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Cap més vídeo</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Atura</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Salta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <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="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <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="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>Pantalla &completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <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="220"/>
+ <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'eines</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Copia l'enllaç del vídeo actual del YouTube al porta-retalls</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <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="254"/>
+ <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'ordre correcte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Elimina</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mou &amunt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mou a&vall</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Neteja l'historial de búsquedes. No es pot desfer.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Surt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Adéu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Pàgina &web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 a la xarxa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Quant a</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Info sobre %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Silencia el volum</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Baixades</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Baixa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <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="398"/>
+ <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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Correu electrònic</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Tanca</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>Manté a &sobre</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Atura després d'aquest vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Informa d'un problema...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Afina la Cerca...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplicació</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Compra %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reproducció</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Llista de reproducció</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Vista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Compartir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>A&juda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Obrint %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <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="854"/>
+ <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="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Abandona la Pantalla &Completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Recorda-m'ho més tard</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Per obtenir la versió actualitzada, descarregueu el %1 de nou des de l'enllaç que vau rebre per correu electrònic i torneu-lo a instal·lar.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualitza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&revi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <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="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Mode compacte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Obre la pàgina de &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copia l'&enllaç de YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copia el &URL del flux de vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Troba &parts de vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Neteja les búsquedes recents</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Fer una &donació</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Reprodueix vídeos &manualment</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <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="908"/>
+ <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>&Play</source>
<translation>&Reprodueix</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Continua la reproducció</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <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="1194"/>
+ <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="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>El volum està silenciat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>El volum no està silenciat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>La vostra privacitat ara és segura</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Baixades completes</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>Ja podeu enganxar l'enllaç de YouTube en una altra aplicació</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>L'enllaç només serà vàlid durant un temps limitat.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<source>It allows you to test the application and see if it works for you.</source>
<translation>Us permet probar l'aplicació i veure si us va bé.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <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="797"/>
+ <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="867"/>
+ <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="662"/>
+ <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="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Baixant %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Error de xarxa: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 visualitzacions</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Preparant</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Fallit</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Completat</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Aturat</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Atura la baixada</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Mostra en %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Obre el directori superior</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Recomença la baixada</translation>
+ <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>Cap més vídeo</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Ordena per</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Rellevància</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Nombre de vistes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Qualificació</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Qualsevol data</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Avui</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dies</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dies</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duració</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <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="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Curt</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Mig</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Llarg</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <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="80"/>
+ <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="81"/>
+ <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="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Qualitat</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta Definició</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <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="118"/>
+ <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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Benvinguts al <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Aconsegueix la versió completa</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Introdueix</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una paraula</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <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="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Veure</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Búsquedes recents</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <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/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Poseu-vos còmodes</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Afina la Cerca</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <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="200"/>
+ <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="218"/>
+ <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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Hi ha vida fora del navegador!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versió %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Si us plau <a href='%1'>doneu</a> per ajudar al desenvolupament continuat del %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <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="41"/>
+ <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="45"/>
+ <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="51"/>
+ <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="56"/>
+ <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="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Llançat sota la <a href='%1'>Llicència Pública General de GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Tanca</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Quant a</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <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>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Neteja</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Siusplau llicencia el %1</translation>
+ <translation>Si us plau, llicencia el %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <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/demostartupview.cpp" line="41"/>
+ <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ó completa permet baixar vídeos de més de %1 minuts i veure vídeos sense interrupcions.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Aquesta demo caduca en %1 dies.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Utilitzeu la demo</translation>
+ <translation>Utilitza la demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Aconseguiu la versió completa</translation>
+ <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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>segons</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuts</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restant</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <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="50"/>
+ <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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <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="142"/>
+ <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="145"/>
+ <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="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<source>%n Download(s)</source>
<translation><numerusform>%n Baixada</numerusform><numerusform>%n Baixades</numerusform></translation>
</message>
<context>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Canvieu la ubicació...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <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="61"/>
+ <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="63"/>
+ <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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>S'està baixant a: %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>S'està cercant...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Busca</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostra %1 més</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Cap vídeo</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Cap més vídeo</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Atura</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Salta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <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="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <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="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>Pantalla &completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <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="220"/>
+ <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'eines</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Copia l'enllaç del vídeo actual del YouTube al porta-retalls</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <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="254"/>
+ <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'ordre correcte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Elimina</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mou &amunt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mou a&vall</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Neteja l'historial de cerques. No es pot desfer.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Surt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Adéu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Pàgina &web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <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="306"/>
+ <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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Quant a</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <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="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Silencia el volum</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Baixades</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Baixa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <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="398"/>
+ <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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Correu electrònic</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Tanca</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>Manté a &sobre</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Atura després d'aquest vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Informa d'un problema</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Afina la Cerca...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplicació</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Compra %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reproducció</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Llista de reproducció</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Vista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Compartir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>A&juda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>S'està obrint %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <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="848"/>
+ <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="853"/>
+ <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="854"/>
+ <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="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Abandona la Pantalla &Completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Recorda-m'ho més tard</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Per obtenir la versió actualitzada, descarregueu el %1 de nou des de l'enllaç que vau rebre per correu electrònic i torneu-lo a instal·lar.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualitza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&revi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <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="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Mode compacte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Obre la pàgina de &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copia l'&enllaç de YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copia el &URL del flux de vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Troba &parts de vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Neteja les búsquedes recents</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Fer una &donació</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Reprodueix vídeos &manualment</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <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="908"/>
+ <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>&Play</source>
<translation>&Reprodueix</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Continua la reproducció</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <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="1194"/>
+ <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="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Volum desactivat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Volum activat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <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="1246"/>
+ <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="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Baixades completes</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>Ja podeu enganxar l'enllaç del YouTube en una altra aplicació</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>L'enllaç només serà vàlid durant un temps limitat.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <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="655"/>
+ <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'aplicació i veure si li va bé.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <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="797"/>
+ <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="867"/>
+ <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="662"/>
+ <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="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>S'està baixant %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Error de xarxa: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 visualitzacions</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Preparant</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Fallit</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Completat</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Aturat</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Atura la baixada</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Mostra en %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Obre el directori superior</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Reinicia la baixada</translation>
+ <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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Ordena per</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Rellevància</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Nombre de vistes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Qualificació</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Qualsevol data</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Avui</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dies</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dies</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Durada</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <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="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Curt</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Mig</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Llarg</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <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="80"/>
+ <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="81"/>
+ <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="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Qualitat</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta definició</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <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="118"/>
+ <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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Benvingut al <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <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="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Introduïu</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una paraula</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <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="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Veure</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Cerques recents</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <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/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Poseu-vos còmode</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Afina la Cerca</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <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="200"/>
+ <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="218"/>
+ <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
--- /dev/null
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="cs_CZ" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutView</name>
+ <message>
+ <location filename="src/aboutview.cpp" line="32"/>
+ <source>There's life outside the browser!</source>
+ <translation>Život existuje i mimo prohlížeč!</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="33"/>
+ <source>Version %1</source>
+ <translation>Verze %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licence k: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
+ <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"/>
+ <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
+ <translation>Prosím <a href='%1'>přispějte</a> na další vývoj %2.</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="47"/>
+ <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"/>
+ <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"/>
+ <source>%1, a music player</source>
+ <translation>%1, hudební přehrávač</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="60"/>
+ <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"/>
+ <source>Icon designed by %1.</source>
+ <translation>Autor ikony: %1.</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="69"/>
+ <source>Released under the <a href='%1'>GNU General Public License</a></source>
+ <translation>Vydáno pod <a href='%1'>licencí GNU General Public License</a></translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="84"/>
+ <source>&Close</source>
+ <translation>&Zavřít</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.h" line="17"/>
+ <source>About</source>
+ <translation>O aplikaci</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>Co jste vždy chtěli vědět o aplikaci %1 ale nikdy jste se neodvážili zeptat</translation>
+ </message>
+</context>
+<context>
+ <name>ActivationDialog</name>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Vložte detaily vaší licence</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Kód</translation>
+ </message>
+</context>
+<context>
+ <name>ActivationView</name>
+ <message>
+ <location filename="local/src/activationview.cpp" line="47"/>
+ <source>Please license %1</source>
+ <translation>Sežeňte si, prosím, licenci %1</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="51"/>
+ <source>This demo has expired.</source>
+ <translation>Platnost demoverze vypršela.</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>Plná verze umožní stáhnout videa delší než %1 minut a sledovat videa bez přerušení.</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Bez licence žádost vyprší za %1 dnů</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>Zakoupením plné verze také podpoříte práci, která byla vložená do tvorby %1.</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="70"/>
+ <source>Use Demo</source>
+ <translation>Použít demoverzi</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Vložit licenci</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Koupit licenci</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Odstranit vše</translation>
+ </message>
+</context>
+<context>
+ <name>DownloadItem</name>
+ <message>
+ <location filename="src/downloaditem.cpp" line="322"/>
+ <source>bytes</source>
+ <translation>bajtů</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>bajtů/sec</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="340"/>
+ <source>KB/sec</source>
+ <translation>KB</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="343"/>
+ <source>MB/sec</source>
+ <translation>MB/se</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="349"/>
+ <source>seconds</source>
+ <translation>sekund</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="352"/>
+ <source>minutes</source>
+ <translation>minut</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="355"/>
+ <source>%4 %5 remaining</source>
+ <translation>%4 %5 zbývá</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>Toto je pouze demoverze %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>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"/>
+ <source>Continue</source>
+ <translation>Pokračovat</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="64"/>
+ <source>Get the full version</source>
+ <translation>Získat plnou verzi</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="150"/>
+ <source>%1 downloaded in %2</source>
+ <translation>%1 staženo v %2</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="153"/>
+ <source>Download finished</source>
+ <translation>Stahování dokončeno</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="src/downloadmanager.cpp" line="159"/>
+ <source>%n Download(s)</source>
+ <translation><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>DownloadSettings</name>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="15"/>
+ <source>Change location...</source>
+ <translation>Změnit složku pro stahování...</translation>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="47"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <source>Downloading to: %1</source>
+ <translation>Stahováno do: %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>Stahování</translation>
+ </message>
+</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Stahování aktualizace...</translation>
+ </message>
+</context>
+<context>
+ <name>GlobalShortcuts</name>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="16"/>
+ <source>Play</source>
+ <translation>Přehrát</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="17"/>
+ <source>Pause</source>
+ <translation>Pozastavit</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="18"/>
+ <source>Play/Pause</source>
+ <translation>Pustit/Pozastavit</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="19"/>
+ <source>Stop</source>
+ <translation>Zastavit</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="20"/>
+ <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"/>
+ <source>Next track</source>
+ <translation>Další video</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="22"/>
+ <source>Previous track</source>
+ <translation>Předchozí video</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="23"/>
+ <source>Increase volume</source>
+ <translation>Zvýšit hlasitost</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="24"/>
+ <source>Decrease volume</source>
+ <translation>Snížit hlasitost</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="25"/>
+ <source>Mute</source>
+ <translation>Ztlumit hlasitost</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="26"/>
+ <source>Seek forward</source>
+ <translation>Rychle vpřed</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="27"/>
+ <source>Seek backward</source>
+ <translation>Rychle vzad</translation>
+ </message>
+</context>
+<context>
+ <name>HomeView</name>
+ <message>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Hledat</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.cpp" line="35"/>
+ <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"/>
+ <source>Browse</source>
+ <translation>Prohlížet</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Prohlížet videa podle kategorie</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Udělejte si pohodlí</translation>
+ </message>
+</context>
+<context>
+ <name>LoadingWidget</name>
+ <message>
+ <location filename="src/loadingwidget.cpp" line="90"/>
+ <source>Error</source>
+ <translation>Chyba</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="src/mainwindow.cpp" line="213"/>
+ <source>&Stop</source>
+ <translation>&Stop</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="214"/>
+ <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"/>
+ <source>S&kip</source>
+ <translation>Př&eskočit</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="233"/>
+ <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"/>
+ <source>&Pause</source>
+ <translation>&Pauza</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
+ <source>Pause playback</source>
+ <translation>Pozastaví přehrávání</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="246"/>
+ <source>&Full Screen</source>
+ <translation>&Celá obrazovka</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="247"/>
+ <source>Go full screen</source>
+ <translation>Přepne na celou obrazovku</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="263"/>
+ <source>Hide the playlist and the toolbar</source>
+ <translation>Skryje playlist a toolbar</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="276"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <source>&Remove</source>
+ <translation>&Odstranit</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="304"/>
+ <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"/>
+ <source>Move &Up</source>
+ <translation>&Nahoru</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="311"/>
+ <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"/>
+ <source>Move &Down</source>
+ <translation>&Dolů</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="318"/>
+ <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"/>
+ <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"/>
+ <source>&Quit</source>
+ <translation>&Zavřít</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="337"/>
+ <source>Bye</source>
+ <translation>Sbohem</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="341"/>
+ <source>&Website</source>
+ <translation>&Homepage</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>Prosím přispějte na další vývoj aplikace %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="354"/>
+ <source>&About</source>
+ <translation>&O aplikaci</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="356"/>
+ <source>Info about %1</source>
+ <translation>Info o aplikaci %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="364"/>
+ <source>Search</source>
+ <translation>Hledat</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="383"/>
+ <source>Mute volume</source>
+ <translation>Ztlumit</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
+ <source>&Downloads</source>
+ <translation>&Stahování</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="413"/>
+ <source>Show details about video downloads</source>
+ <translation>Zobrazit podrobnosti o stahování videí</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="421"/>
+ <source>&Download</source>
+ <translation>&Stáhnout</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="422"/>
+ <source>Download the current video</source>
+ <translation>Stáhnout přávě zobrazené video</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="441"/>
+ <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"/>
+ <source>&Email</source>
+ <translation>&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>&Close</source>
+ <translation>&Zavřít</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="473"/>
+ <source>&Float on Top</source>
+ <translation>&Plovoucí navrchu</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="478"/>
+ <source>&Stop After This Video</source>
+ <translation>&Zastavit po tomto videu</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="485"/>
+ <source>&Report an Issue...</source>
+ <translation>&Nahlásit chybu...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="489"/>
+ <source>&Refine Search...</source>
+ <translation>&Upřesnit vyhledávání...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Více...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>&Související videa</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
+ <source>&Application</source>
+ <translation>&Aplikace</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="515"/>
+ <source>Buy %1...</source>
+ <translation>Koupit %1...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="558"/>
+ <source>&Playback</source>
+ <translation>&Přehrávání</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="572"/>
+ <source>&Playlist</source>
+ <translation>&Playlist</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="581"/>
+ <source>&Video</source>
+ <translation>&Video</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="594"/>
+ <source>&View</source>
+ <translation>&Pohled</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="601"/>
+ <source>&Share</source>
+ <translation>&Sdílet</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="615"/>
+ <source>&Help</source>
+ <translation>&Nápověda</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="690"/>
+ <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"/>
+ <source>Opening %1</source>
+ <translation>Otevírám %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>Chcete ukončit %1, přestože ještě probíhá stahování?</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="937"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <source>Leave &Full Screen</source>
+ <translation>Opustit zobrazení na &celou obrazovku</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1475"/>
+ <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"/>
+ <source>Remind me later</source>
+ <translation>Připomenout později</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1480"/>
+ <source>Update</source>
+ <translation>Aktualizovat</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="982"/>
+ <source>Error: %1</source>
+ <translation>Chyba: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="222"/>
+ <source>P&revious</source>
+ <translation>P&ředešlý</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="223"/>
+ <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"/>
+ <source>&Compact Mode</source>
+ <translation>&Kompaktní mód</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="275"/>
+ <source>Open the &YouTube Page</source>
+ <translation>Otevřít stránku &YouTube </translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="282"/>
+ <source>Copy the YouTube &Link</source>
+ <translation>Kopírovat YouTube &odkaz</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="289"/>
+ <source>Copy the Video Stream &URL</source>
+ <translation>Zkopírovat adresu &video streamu</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="296"/>
+ <source>Find Video &Parts</source>
+ <translation>Nalézt video &části</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="324"/>
+ <source>&Clear Recent Searches</source>
+ <translation>&Vymazat poslední hledání</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="348"/>
+ <source>Make a &Donation</source>
+ <translation>&Podpořit</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="405"/>
+ <source>&Manually Start Playing</source>
+ <translation>&Ručně zahájit přehrávání</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="406"/>
+ <source>Manually start playing videos</source>
+ <translation>Ručně zahájit přehrávání videí</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Vyberte si umístění obsahu</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
+ <source>&Play</source>
+ <translation>&Play</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1003"/>
+ <source>Resume playback</source>
+ <translation>Pokračovat v přehrávání</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1236"/>
+ <source>Remaining time: %1</source>
+ <translation>Zbývající čas: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1294"/>
+ <source>Volume at %1%</source>
+ <translation>Hlasitost na %1%</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1300"/>
+ <source>Volume is muted</source>
+ <translation>Zvuk je ztlumen</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1303"/>
+ <source>Volume is unmuted</source>
+ <translation>Zvuk je zapnut</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1310"/>
+ <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"/>
+ <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"/>
+ <source>Downloads complete</source>
+ <translation>Všechna stahování byla dokonč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>Nyní můžete vložit odkaz na video na YouTube do jiného programu</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="561"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <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"/>
+ <source>Continue</source>
+ <translation>Pokračovat</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>z</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>část</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>Zaslat z %1</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="644"/>
+ <source>Get the full version</source>
+ <translation>Stáhnout plnou verzi</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="681"/>
+ <source>Downloading %1</source>
+ <translation>Je stahováno %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>Nová verze %1 je k dispozici!</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="28"/>
+ <source>%1 %2 is now available. You have %3.</source>
+ <translation>%1 %2 je nyní k dispozici. Vy máte %3.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Chcete ji nyní stáhnout?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Přeskočit tuto verzi</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Připomenout později</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Nainstalovat aktualizaci</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
+ <message>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Vložit</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistItemDelegate</name>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
+ <source>%1 views</source>
+ <translation>%1 zobrazení</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
+ <source>%1 of %2 (%3) — %4</source>
+ <translation>%1 z %2 (%3) — %4</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
+ <source>Preparing</source>
+ <translation>Připravuje se</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
+ <source>Failed</source>
+ <translation>Selhalo</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
+ <source>Completed</source>
+ <translation>Dokončeno</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
+ <source>Stopped</source>
+ <translation>Zastaveno</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
+ <source>Stop downloading</source>
+ <translation>Zastavit stahování</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
+ <source>Show in %1</source>
+ <translation>Ukázat v %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
+ <source>Open parent folder</source>
+ <translation>Otevřít příslušný adresář</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
+ <source>Restart downloading</source>
+ <translation>Začít stahovat znova</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Hledá se...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Zobrazit dalších %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Žádná videa</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Žádná další videa</translation>
+ </message>
+</context>
+<context>
+ <name>RefineSearchWidget</name>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <source>Sort by</source>
+ <translation>Třídit podle</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
+ <source>Relevance</source>
+ <translation>Významu</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>Počtu shlédnutí</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
+ <source>Rating</source>
+ <translation>Hodnocení</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
+ <source>Anytime</source>
+ <translation>Kdykoliv</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
+ <source>Today</source>
+ <translation>Dnes</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
+ <source>7 Days</source>
+ <translation>7 dní</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
+ <source>30 Days</source>
+ <translation>30 dnů</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
+ <source>Duration</source>
+ <translation>Délka</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <source>All</source>
+ <translation>Vše</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
+ <source>Short</source>
+ <translation>Krátký</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <source>Medium</source>
+ <translation>Střední</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <source>Long</source>
+ <translation>Dlouhý</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
+ <source>Less than 4 minutes</source>
+ <translation>Méně než 4 minuty</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
+ <source>Between 4 and 20 minutes</source>
+ <translation>Mezi 4 a 20minutami</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
+ <source>Longer than 20 minutes</source>
+ <translation>Delší než 20 minut</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <source>Quality</source>
+ <translation>Kvalita</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
+ <source>High Definition</source>
+ <translation>Vysoké rozlišení</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
+ <source>720p or higher</source>
+ <translation>720p nebo vyšší</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Hotovo</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <source>Done</source>
+ <translation>Hotovo</translation>
+ </message>
+</context>
+<context>
+ <name>SearchLineEdit</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="177"/>
+ <source>Search</source>
+ <translation>Hledat</translation>
+ </message>
+</context>
+<context>
+ <name>SearchView</name>
+ <message>
+ <location filename="src/searchview.cpp" line="71"/>
+ <source>Welcome to <a href='%1'>%2</a>,</source>
+ <translation>Vítejte v <a href='%1'>%2</a></translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="50"/>
+ <source>Get the full version</source>
+ <translation>Získat plnou verzi</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="85"/>
+ <source>Enter</source>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
+ <translation>Enter</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="90"/>
+ <source>a keyword</source>
+ <translation>klíčové slovo</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="91"/>
+ <source>a channel</source>
+ <translation>kanál</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="96"/>
+ <source>to start watching videos.</source>
+ <translation>začít sledovat videa.</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="120"/>
+ <source>Watch</source>
+ <translation>Sledovat</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="138"/>
+ <source>Recent keywords</source>
+ <translation>Poslední klíčová slova</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="151"/>
+ <source>Recent channels</source>
+ <translation>Poslední kanály</translation>
+ </message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Zpět</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Předat k %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Zpět k %1</translation>
+ </message>
+</context>
+<context>
+ <name>SidebarWidget</name>
+ <message>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
+ <source>Refine Search</source>
+ <translation>Upřesnit vyhledávání</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
+ <source>Did you mean: %1</source>
+ <translation>Měli jste na mysli: %1</translation>
+ </message>
+</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Nejsdílenější</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Nejdiskutovanější</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Nejlépe hodnocené</translation>
+ </message>
+</context>
+<context>
+ <name>Video</name>
+ <message>
+ <location filename="src/video.cpp" line="213"/>
+ <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"/>
+ <source>Network error: %1 for %2</source>
+ <translation>Chyba přípojení: %1 pro %2</translation>
+ </message>
+</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Alžírsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentina</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Austrálie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brazílie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Kanada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Chile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Kolumbie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Česká republika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egypt</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Francie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Německo</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Řecko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Maďarsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>Indie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonesie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Irsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Izrael</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Itálie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japonsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Jordánsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Keňa</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malajsie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Mexico</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Maroko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Nizozemí</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Nový Zéland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Niger</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filipíny</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rusko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Saudská Arabie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Jižní Afrika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Severní Korea</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Španělsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Švédsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Taiwan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunisko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Turecko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Spojené arabské emiráty</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Velká Británie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Jemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Celosvětově</translation>
+ </message>
+</context>
+</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Der findes liv udenfor browseren!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licenseret til: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Venligst <a href='%1'>doner</a> for at støtte den forsatte udvikling af %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, en YouTube-musikafspiller</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, en musikafspiller</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Ikon designet af %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Frigivet under <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Luk</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Om</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Fjern</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Indtast dine licensoplysninger</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Kode:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Venligst licens %1</translation>
+ <translation>Venligst licensér %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Denne demo er udløbet.</translation>
+ <translation>Denne prøveversion er udløbet.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 fulde version giver dig mulighed for at downloade videoer længere end %1 minutter og for at se videoer uden afbrydelser.</translation>
+ <translation>Den fulde version giver dig mulighed for at se videoer længere end %1 minutter og se videoer uden afbrydelser.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Denne demo vil udløbe om %1 dage.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Dette program vil udløbe om %1 dage uden en licens.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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 at købe den fulde version, vil du også støtte det hårde arbejde, jeg sætter i at udvikle %1.</translation>
+ <translation>Ved at købe den fulde version, støtter du også støtte det hårde arbejde jeg lagt i at udvikle %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Benyt demo</translation>
+ <translation>Brug prøveversion</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Hent den fulde version</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Indtast licens</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Køb licens</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Fjern</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekunder</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutter</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 mangler</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>Det kan kun hente videoer kortere end %1 minut, så du kan teste downloadfunktionaliteten.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Forsæt</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Hent den fulde version</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 downloaded på %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Download afsluttet</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Skift placering...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Vælg placering til downloads</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Downloadplacering ændret.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Downloader til: %1</translation>
</message>
<translation>Downloads</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Henter opdatering...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Søger...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Søg</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Vis %1 Mere</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>Find videoer og kanaler via søgeord</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Ingen videoer</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Gennemse</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Ikke flere videoer</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Gennemse videoer efter kategori</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Sæt dig godt til rette</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Stop</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>S&pring over</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Spring til næste video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pause</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pause afspilning</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Fuldskærm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Vis i fuldskærm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Skjul afspilningslisten og værktøjslinjen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Fjern</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Flyt &Op</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Flyt &Ned</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Afslut</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Farvel</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Hjemmeside</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 på nettet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Om</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Info om %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Søg</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Slå lyden fra</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Downloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Vis deltaljer om video downloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Download den aktuelle video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&amp; E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Luk</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Behold øverst</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Stop efter denne video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Rapporter et problem...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Indskrænk søgning...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Mere...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>&Relaterede videoer</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
<source>&Application</source>
<translation>&Program</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Køb %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Afspil</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Afspilningsliste</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Vis</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Del</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Hjælp</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Åbner %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Luk og annuller download </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Vent til download er færdig</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Forlad &Fuld skærm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Påmind mig senere</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>For at få den opdaterede version, kan du downloade %1 igen fra det link du har modtaget via e-mail og geninstallere.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Opdatér</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Fejl: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>F&orrige</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Gå tilbage til forrige nummer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Åbn &Youtube-siden</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Kopier &link til Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>
Kopiér &URL'en til videostrømmen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Find dele af videoen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Ryd seneste søgninger</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Giv en &Donation</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Start afspilning &manuelt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Start afspilning af videoer manuelt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Vælg placering for dit indhold</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Afspil</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Genoptag afspilning</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tilbageværende tid: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Lydniveau på %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Lyden er slået fra</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Lyden er slået til</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Maksimal videoopløsning sat til %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Dit privatliv er nu sikret</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Downloads færdig</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Forsæt</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Sendt fra %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Hent den fulde version</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Downloader %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>En ny version af %1 er tilgængelig!</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 tilgængelig. Du har %3.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Ønsker du at hente den nu?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Spring denne version over</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Påmind mig senere</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Installér opdatering</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Netværksfejl %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Indsæt</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 visninger</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 af %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Forbereder</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Fejlede</translation>
+ <translation>Fejl</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Fuldført</translation>
+ <translation>Fuldendt</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Afbrudt</translation>
+ <translation>Stoppet</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Afbryd download</translation>
+ <translation>Stop download</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Vis i %1</translation>
+ <translation>VIs i %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Åbn overordnet mappe</translation>
+ <translation>Åben ovenstående mappe</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Genstart download</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Søger...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Vis %1 mere</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Ingen videoer</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Ikke flere videoer</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sorter efter</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevans</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Antal visninger</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Bedømmelse</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Når som helst</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>I dag</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dage</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dage</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Varighed</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Alle</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Kort</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Lang</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Mindre end 4 minutter</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Mellem 4 og 20 minutter</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Længere end 20 minutter</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Kvalitet</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>High Definition</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p eller højere</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Afsluttet</translation>
</message>
</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <source>Done</source>
+ <translation>Afslut</translation>
+ </message>
+</context>
<context>
<name>SearchLineEdit</name>
<message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Velkommen til <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Hent den fulde version</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Indtast</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>et nøgleord</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>en kanal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>for at begynde at se video.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Afspil</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Seneste nøgleord</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Nyeste kanaler</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Sæt dig godt til rette</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Tilbage</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Frem til %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Tilbage til %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Indskrænk søgning</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Mente du: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Mest delte</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Mest diskuterede</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Bedst bedømte</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Netværksfejl: %1 for %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Algeriet</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentina</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Austalien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brasilien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Canada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Chile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Colombia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Tjekkiet</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egypten</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Frankrig</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Tyskland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Grækenland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Ungarn</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>Indien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonesien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Irland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Israel</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Italien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Jordan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Kenya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malaysia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Mexico</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Marokko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Nederlandende</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>New Zealand</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigeria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Philipinierne</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rusland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Saudi-Arabien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapore</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Sydfrika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Sydkorea</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Spanien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Sverige</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Taiwan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunisien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Tyrkiet</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Forenede Arabiske Emirater</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Storbritanien</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Yemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Hele verden</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Es gibt ein Leben außerhalb des Browsers!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 ist freie Software, aber die Entwicklung kostet wertvolle Zeit.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Bitte <a href='%1'>spende</a>, um die ständige Entwicklung von %2 zu unterstützen.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, ein YouTube-Musik-Player</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, ein Musik-Player</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Symbol-Entwurf durch %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Veröffentlicht unter der <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>S&chließen</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Über</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Säubern</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Bitte lizenzieren Sie %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Diese Demo ist abgelaufen.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Die Vollversion erlaubt es Ihnen Videos länger als %1 Minuten herunterzuladen und Videos ohne Unterbrechungen zu sehen.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Diese Demo wird in %1 Tagen ablaufen.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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>Mit dem Kauf der Vollversion unterstützen Sie auch die harte Arbeit, die ich in die Erstellung von %1 gesteckt habe.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Demo verwenden</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Holen Sie sich die Vollversion</translation>
+ <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>Säubern</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>Bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>kB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>Bytes/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>kB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>Sekunden</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>Minuten</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 verbleibend</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>Sie kann nur Videos, die kürzer als %1 Minuten sind, herunterladen, damit die Download-Funktionalität getestet werden kann.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Fortfahren</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Die Vollversion holen</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
+ <translation>%1 heruntergeladen nach %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
- <translation type="unfinished"/>
+ <translation>Herunterladen abgeschlossen</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Speicherort ändern…</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Wähle den Speicherort</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Speicherort wurde verändert.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>Aktuelle Downloads werden immernoch im alten Speicherort gespeichert.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Lade herunter nach: %1</translation>
</message>
<translation>Downloads</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Suche...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Suche</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Weitere %1 zeigen</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Keine Videos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Keine weiteren Videos</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Halt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>Ü&berspringen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Zum nächsten Video springen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pause</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Wiedergabe pausieren</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Vollbildmodus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Vollbildmodus aktivieren</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Verstecke Abspielliste und Werkzeugleiste</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Video-URL in die Zwischenablage kopieren</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>Entfe&rnen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Bewege &hinauf</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Bewege hin&ab</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Such-Verlauf leeren. Kann nicht rückgängig gemacht werden.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Verlassen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Tschüss</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Webseite</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 im Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Über</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informationen über %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Suche</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Stummschalten</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Downloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Details über Video-Downloads anzeigen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>H&erunterladen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Das aktuelle Video herunterladen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-Mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-Mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Schließen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>Im Vordergrund &bleiben</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>Nach diesem Video &anhalten</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
- <translation type="unfinished"/>
+ <translation>&Ein Problem melden ...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
+ <translation>&Suche verfeinern ...</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>&Related Videos</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <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>&Application</source>
<translation>&Anwendung</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>%1 kaufen...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Wiedergabe</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>A&bspielliste</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Ansehen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Teilen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>%1 öffnen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Beenden und Download abbrechen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Auf Abschluß des Downloads warten</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>&Vollbild verlassen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Erinnere mich später</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Für die aktualisierte Version, laden Sie bitte %1 ,mit Hilfe des Links den Sie erhalten per E-Mail erhalten haben, runter und installieren Sie es erneut.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Aktualisierung</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Fehler: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>V&origes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Zum vorherigen Titel zurückgehen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Kompakt-Modus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>&YouTube-Seite öffnen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>YouTube &Link kopieren</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Video-Stream &URL kopieren</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Suche Video &Teile</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>Vorherige Suchbegriffe löschen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>&Spenden</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Manuelles Starten der Wiedergabe</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Manuelles Starten der Video-Wiedergabe</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Abspielen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Wiedergabe fortsetzen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Verbleibende Zeit: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Lautstärke %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Ton ist stummgeschaltet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Ton ist angeschaltet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Maximale Video-Auflösung wurde auf %1 gesetzt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Ihre Privatsphäre ist nun geschützt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Downloads heruntergeladen</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>Dies ist nur eine Demoversion von %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Fortfahren</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Gesendet von %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Die Vollversion holen</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>%1 herunterladen</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Netzwerk-Fehler: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 mal betrachtet</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 von %2 (%3) – %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Bereite vor</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Fehlgeschlagen</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Fertiggestellt</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Gestoppt</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Herunterladen stoppen</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>In %1 anzeigen</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>Eltern-Ordner öffnen</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Herunterladen neustarten</translation>
</message>
</context>
<context>
- <name>RefineSearchWidget</name>
+ <name>PlaylistModel</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Suche...</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>Keine Videos</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Keine weiteren Videos</translation>
+ </message>
+</context>
+<context>
+ <name>RefineSearchWidget</name>
<message>
<location filename="src/refinesearchwidget.cpp" line="31"/>
+ <source>Sort by</source>
+ <translation>Sortieren nach</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
- <translation type="unfinished"/>
+ <translation>Relevanz</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
- <translation type="unfinished"/>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
- <translation type="unfinished"/>
+ <translation>Anzahl anzeigen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
- <translation type="unfinished"/>
+ <translation>Bewertung</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
- <translation type="unfinished"/>
+ <translation>Alle Längen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
- <translation type="unfinished"/>
+ <translation>Heute</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
- <translation type="unfinished"/>
+ <translation>7 Tage</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
- <translation type="unfinished"/>
+ <translation>30 Tage</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
- <translation type="unfinished"/>
+ <translation>Dauer</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
- <translation type="unfinished"/>
+ <translation>Alle</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
- <translation type="unfinished"/>
+ <translation>Kurz</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
- <translation type="unfinished"/>
+ <translation>Mittel</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
- <translation type="unfinished"/>
+ <translation>Lang</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
- <translation type="unfinished"/>
+ <translation>Weniger als 4 Minuten</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Zwischen 4 und 20 Minuten</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Länger als 20 Minuten</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
- <translation type="unfinished"/>
+ <translation>Qualität</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
- <translation type="unfinished"/>
+ <translation>High Definition</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
- <translation type="unfinished"/>
+ <translation>720p oder höher</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Erledigt</translation>
</message>
+</context>
+<context>
+ <name>RegionsView</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation type="unfinished"/>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Willkommen bei <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Die Vollversion holen</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Eingeben</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>ein Schlüsselwort</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>ein Kanal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>um die Wiedergabe zu starten.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Anschauen</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Aktuelle Schlüsselwörter</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Aktuelle Kanäle</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation type="unfinished"/>
+ </message>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Machen Sie es sich gemütlich</translation>
+ <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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
- <translation type="unfinished"/>
+ <translation>Suche verfeinern</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
+ <translation>Haben Sie gemeint: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Videostream für %1 konnte nicht öffnen werden</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Netzwerk-Fehler: %1 für %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Υπάρχει ζωή έξω απο τον πλοηγό!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Έκδοση %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Αδειοδοτημένο στον/ην: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<source>%1 is Free Software but its development takes precious time.</source>
<translation>Το %1 είναι Ελεύθερο Λογισμικό αλλά η ανάπτυξη του παίρνει πολύτιμο χρόνο.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Παρακαλούμε <a href='%1%'>δωρίστε</a> για να υποστηρίξετε την συνεχόμενη ανάπτυξη του %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation>Μπορεί να θέλετε να δοκιμάσετε και τις άλλες μου εφαρμογές:</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, ένας αναπαραγωγέας μουσικής του YouTube</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, ένας αναπαραγωγέας μουσικής</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>Μεταφράστε το %1 στη γλώσσα σας χρησιμοποιώντας το %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Σχεδιασμός εικονιδίου από %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Έκδοση κάτω απο τους όρους της <a href='%1'>Γενικής Άδειας Χρήσης GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Κλείσιμο</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Σχετικά</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<source>What you always wanted to know about %1 and never dared to ask</source>
<translation>Ότι θέλατε να μάθετε σχετικά με το %1 και δεν τολμούσατε να ρωτήσετε</translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Καθαρισμός</translation>
+ <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>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Κωδικός:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Παρακαλώ αποκτήστε την άδεια χρήσης του %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Αυτή η δοκιμαστική έκδοση έληξε.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Î\91Ï\85Ï\84ή η δοκιμαÏ\83Ï\84ική ÎκδοÏ\83η θα λήξει Ï\83ε %1 ημÎÏ\81εÏ\82.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>ΧÏ\89Ï\81ίÏ\82 Ï\84ην άδεια Ï\87Ï\81ήÏ\83ηÏ\82, η εÏ\86αÏ\81μογή θα λήξη Ï\83ε %1 μÎÏ\81εÏ\82</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Χρήση της δοκιμαστικής έκδοσης</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Αποκτήστε την πλήρη έκδοση</translation>
+ <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>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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/δευτ</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/δευτ</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/δευτ</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>δευτερόλεπτα</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>λεπτά</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>απομένουν %4 %5</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>Αυτή είναι απλά η δοκιμαστική έκδοση του %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>Μπορεί να κατεβάσει βίντεο μικρότερα από %1 λεπτά ώστε να δοκιμάσετε τη λειτουργία κατεβάσματος.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Συνέχεια</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Αποκτήστε την πλήρη έκδοση</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 λήφθηκε σε %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Η λήψη ολοκληρώθηκε</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Αλλάξτε τοποθεσία...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Επιλέξτε την τοποθεσία λήψης</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Η τοποθεσία λήψης άλλαξε.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>Τα ήδη ληφθέντα θα παραμείνουν στην προηγούμενη τοποθεσία.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Λήψη στο: %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Αναζήτηση...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Αναζήτηση</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Εμφάνιση %1 ακόμα</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Κανένα βίντεο</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Δεν υπάρχουν άλλα βίντεο</translation>
+ <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>Βολευτείτε</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Διακοπή</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>Διακοπή αναπαραγωγής και επιστροφή στην προβολή αναζήτησης</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Παράλειψη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Μετάβαση στο επόμενο βίντεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Παύση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Παύση αναπαραγωγής</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Πλήρης οθόνη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Προβολή σε πλήρη οθόνη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Απόκρυψη της λίστας αναπαραγωγής και της εργαλειοθήκης</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<source>Go to the YouTube video page and pause playback</source>
<translation>Μετάβαση στη σελίδα βίντεο του YouTube και παύση αναπαραγωγής</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Αντιγραφή του δεσμού του τρέχοντος YouTube βίντεο στη μνήμη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Αντιγραφή του URL της τρέχουσας ροής βίντεο στη μνήμη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation>Εύρεση των υπόλοιπων επισοδείων του βίντεο, ελπίζουμε στη σωστή σειρά</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Αφαίρεση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>Αφαίρεση επιλεγμένων βίντεο απο την λίστα αναπαραγωγής</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Μετακίνηση προς τα &πάνω</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>Μετακίνηση επιλεγμένων βίντεο προς τα πάνω</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Μετακίνηση προς τα &κάτω</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation>Μετακίνηση επιλεγμένων βίντεο προς τα κάτω</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Καθαρισμός του ιστορικού αναζήτησης. Δεν μπορεί να γίνει επαναφορά.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>Έ&ξοδος</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Γεια</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Ιστοχώρος</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>Το %1 στο διαδίκτυο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Παρακαλούμε υποστηρίξτε την συνεχόμενη ανάπτυξη του %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Σχετικά</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Πληροφορίες για %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Αναζήτηση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Σίγαση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Λήψεις</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Εμφάνιση λεπτομερειών για τις λήψεις βίντεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Λήψη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Λήψη του τρέχοντος βίντεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Κοινή χρήση του τρέχοντος βίντεο με το %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Ηλ. αλληλογραφία</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Ηλ. αλληλογραφία</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Κλείσιμο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Διατήρηση στην κορυφή</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Διακοπή μετά από αυτό το βίντεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Αναφέρετε κάποιο σφάλμα...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Σύνθετη αναζήτηση...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Εφαρμογή</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Αγοράστε το %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Αναπαραγωγή</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>Λ&ίστα αναπαραγωγής</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>Βίν&τεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Προβολή</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Κοινή χρήση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation>Πατήστε %1 για να αυξήσετε την ένταση, %2 για να την χαμηλώσετε</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Άνοιγμα %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<source>Do you want to exit %1 with a download in progress?</source>
<translation>Θέλετε να κλείσετε το %1 ενώ βρίσκεται μια λήψη σε εξέλιξη;</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation>Αν κλείσετε το %1 τώρα, η λήψη θα ακυρωθεί.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Κλείσιμο και ακύρωση λήψης</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Αναμονή ολοκλήρωσης λήψης</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Έξοδος από &πλήρη οθόνη</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>Η έκδοση %2 του %1 είναι διαθέσιμη.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Υπενθύμιση αργότερα</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Για να πραγματοποιήσετε τη λήψη της ενημερωμένης έκδοσης κάντε τη λήψη του %1 ξανά από τον δεσμό που λάβατε στην αλληλογραφία σας και κάντε επανεγκατάσταση.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Ενημέρωση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Σφάλμα: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>Π&ροηγούμενο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Επιστροφή στο προηγούμενο κομμάτι</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Συμπαγής εμφάνιση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Άνοιγμα στην ιστοσελίδα του &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Αντιγραφή του &δεσμού YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Αντιγραφή του &URL της ροής βίντεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Αναζήτηση των &επισοδείων του βίντεο</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Καθαρισμός πρόσφατων αναζητήσεων</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Κάντε μια &δωρεά</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Εκκίνηση της αναπαραγωγής &χειροκίνητα</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Εκκίνηση αναπαραγωγής των βίντεο χειροκίνητα</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>Α&ναπαραγωγή</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Συνέχεια αναπαραγωγής</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Υπολειπόμενος χρόνος: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Ένταση στο %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Σίγαση</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Η ένταση αποκαταστάθηκε</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>H μέγιστη ανάλυση βίντεο τέθηκε σε %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Η ιδιωτικότητα σας είναι τώρα ασφαλής</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Οι λήψεις ολοκληρώθηκαν</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>Τώρα μπορείτε να επικολλήσετε το δεσμό του YouTube σε κάποια άλλη εφαρμογή</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>Τώρα μπορείτε να επικολλήσετε το URL της ροής βίντεο σε κάποια άλλη εφαρμογή</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>Ο σύνδεμος θα είναι έγκυρος μόνο για περιορισμένο χρονικό διάστημα.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>Αυτή είναι απλά μια δοκιμαστική έκδοση του %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Συνέχεια</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>από</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Αποστολή από %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Αποκτήστε την πλήρη έκδοση</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Λήψη %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>ΣÏ\86άλμα δικÏ\84Ï\8dοÏ\85: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Î\95Ï\80ικÏ\8cλληÏ\83η</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>Προβολές %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 από %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Προετοιμάζεται</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Απέτυχε</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Ολοκληρώθηκε</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Διακόπηκε</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Διακοπή λήψης</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Εμφάνιση σε %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>Άνοιγμα γονικού φακέλου</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Επανεκκίνηση λήψης</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Αναζήτηση...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Εμφάνιση %1 ακόμα</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Κανένα βίντεο</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Δεν υπάρχουν άλλα βίντεο</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Ταξινόμηση κατά ...</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Σχετικότητα</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Ημερομηνία</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Αριθμό προβολών</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Βαθμολογία</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Οποτεδήποτε</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Σήμερα</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>Εβδομάδα</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>Μήνας</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Διάρκεια</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Όλα</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Μικρό</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Μέτριο</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Μεγάλο</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Λιγότερο από 4 λεπτά</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Μεταξύ 4 και 20 λεπτών</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Μεγαλύτερο από 20 λεπτά</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Ποιότητα</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Υψηλή ανάλυση</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p είτε ψηλότερα</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Έγινε</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Καλωσορίσατε στο <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Αποκτήστε την πλήρη έκδοση</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Πληκτρολογήστε</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>μια λέξη-κλειδί</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>ένα κανάλι</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>για να αρχίσετε να βλέπετε βίντεο.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Δείτε</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Πρόσφατες λέξεις-κλειδιά</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Πρόσφατα κανάλια</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Βολευτείτε</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Πίσω</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Σύνθετη αναζήτηση</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Μήπως εννοείτε: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Αδυναμία λήψης της ροής βίντεο για %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Σφάλμα δικτύου: %1 για %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>¡Hay vida más allá del navegador!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versión %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licencia para: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Haga una <a href='%1'>donación</a> para ayudar a continuar el desarrollo de %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<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="45"/>
+ <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="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Icono diseñado por %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Publicado bajo la <a href='%1'>Licencia Pública General de GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Cerrar</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Acerca de</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Limpiar</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Introduzca los detalles de la licencia</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>Correo &electrónico:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Código:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Obtenga una licencia de %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Esta versión de prueba ha caducado.</translation>
+ <translation>Esta versión de demostración ha caducado.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 le permite descargar vídeos con duración mayor a %1 minutos y ver vídeos sin interrupciones.</translation>
+ <translation>La versión completa le permite descargar vídeos con duración mayor a %1 minutos y ver videos sin interrupciones.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Esta versión de prueba caducará en %1 días.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Sin una licencia, la aplicación caducará en %1 días.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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 realizado en la creación de %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Probar</translation>
+ <translation>Usar demostración</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obtener la versión completa</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <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>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Limpiar</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>segundos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>Quedan %4 %5</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Obtener la versión completa</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 descargados en %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Descarga finalizada</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
- <translation>Cambiar ubicación...</translation>
+ <translation>Cambiar ubicación…</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Elija la ubicación de las descargas</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Ubicación para descargas modificada.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Descargando a: %1</translation>
</message>
<translation>Descargas</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Descargando la actualización…</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Buscando...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Buscar</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostrar %1 más</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>Encontrar vídeos y canales por palabras clave</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>No hay vídeos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Examinar</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>No hay más vídeos</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Buscar videos por categoría</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Póngase cómodo</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Detener</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Omitir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Omitir vídeo y saltar al siguiente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pausar la reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>Pantalla &completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Ir a pantalla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Eliminar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>&Subir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>&Bajar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Salir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Hasta luego</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Sitio &web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <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="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Acerca de</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Información acerca de %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Buscar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Silenciar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Descargas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Descargar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Descargar el vídeo actual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Correo-e</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Correo-e</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Cerrar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Flotar en la parte superior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
- <translation>&Parar después de este vídeo</translation>
+ <translation>&Detener tras este vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Informar de un problema...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Refinar la búsqueda...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Más…</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>Vídeos &relacionados</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
<source>&Application</source>
<translation>&Aplicación</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
- <translation>Comprar %1...</translation>
+ <translation>Comprar %1…</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Lista de reprod.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Ver</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Compartir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>Ay&uda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Abriendo %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Cerrar y cancelar descarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Esperando a que finalice la descarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>&Salir de pantalla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Recordarme después</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Para obtener la versión actualizada, descargue %1 de nuevo desde el enlace que recibió por correo y reinstale.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualizar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>Ante&rior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Regresar a la pista anterior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Modo &compacto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Abrir la página de &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copiar el en&lace de YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copiar la &URL de flujo del vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Encontrar &partes de vídeos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Limpiar búsquedas recientes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Hacer una &donación</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Comenzar la reproducción &manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Comenzar la reproducción de vídeos manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Elija su ubicación para el contenido</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Reproducir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Continuar la reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tiempo restante: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volumen al %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>El volumen está silenciado</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>El volumen no está silenciado</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Su privacidad ahora está asegurada
</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Descargas completas</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Enviado desde %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Obtener la versión completa</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Descargando %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>Está 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 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>¿Quiere descargarla ahora?</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>Recordarme después</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Instalar actualización</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Error de red: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Pegar</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 visualizaciones</translation>
+ <translation>%1 reproducciones</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 de %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Preparando</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Fallidas</translation>
+ <translation>Falló</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Completadas</translation>
+ <translation>Completado</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Detenidas</translation>
+ <translation>Detenido</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Detener la descarga</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Mostrar en %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Abrir carpeta superior</translation>
+ <translation>Abrir carpeta contenedora</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Reiniciar descarga</translation>
+ <translation>Reiniciar la descarga</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Buscando…</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Mostrar %1 más</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>No hay vídeos</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>No hay más vídeos</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Ordenar por</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevancia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Número de vistas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Valoración</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Cualquier momento</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Hoy</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 días</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 días</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duración</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Todo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Corto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Medio</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Largo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Menos de 4 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Entre 4 y 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Mayor a 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Calidad</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta definición</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p o mayor</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Hecho</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation>Hecho</translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Bienvenido a <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Obtener la versión completa</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Escriba</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una palabra clave</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>para empezar a ver vídeos.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Ver</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Palabras clave recientes</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Canales recientes</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Póngase cómodo</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Atrás</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Reenviar a %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Regresar a %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Refinar la búsqueda</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Quizá quiso decir: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Más compartidos</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Más discutidos</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Mejor valorados</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Error de red: %1 por %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Argelia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentina</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Australia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Bélgica</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brasil</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Canadá</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Chile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Colombia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>República Checa</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egipto</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Francia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Alemania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Grecia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Hungría</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>India</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonesia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Irlanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Israel</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Italia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japón</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Jordania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Kenia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malasia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>México</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Marruecos</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Holanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Nueva Zelanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigeria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Perú</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filipinas</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polonia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rusia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Arabia Saudita</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Sudáfrica</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Corea del Sur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>España</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Suecia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Taiwán</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Túnez</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Turquía</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Emiratos Árabes Unidos</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Reino Unido</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Yemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Todo el mundo</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Hay vida más allá del navegador!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versión %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 es Software Libre pero su desarrollo lleva tiempo.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Por favor, <a href='%1'>hacé una donación</a> para apoyar el desarrollo de %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation>Talvez querás probar mis otras aplicaciones como:</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<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="45"/>
+ <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="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>Traducí %1 a tu idioma natal usando %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Iconos diseñados por %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Desarrollado bajo la <a href='%1'>Licencia Pública General de GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Cerrar</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Acerca de</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Limpiar</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Por favor autoricé %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Esta prueba ha vencido</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 te permite descargar videos mayores a %1 minutos y ver los videos sin interrupciones</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Esta prueba vencerá en %1 días</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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 apoyas el duro trabajo que he puesto creado %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Usar Prueba</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obtené la versión completa</translation>
+ <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>Limpiar</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>segundos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restante(s)</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Conseguí la versión completa</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 descargado en %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Descarga finalizada</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Cambiar destino...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Elegir el destino de la descarga</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Destino de la descarga cambiado.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Bajando a: %1</translation>
</message>
<translation>Descargas</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Buscando...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Buscar</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostrar %1 más</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Sin videos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>No hay más videos</translation>
+ <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>Personalizar</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Detener</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>Detener y volver a la búsqueda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Saltar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Siguiente video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pausar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Pantalla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Ir a pantalla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Copiar el enlace de YouTube del video al portapapeles</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Copiar la &URL del stream del video al portapapeles</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Borrar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mover hacia &arriba</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mover hacia &abajo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Salir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Chau</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Sitio web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <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="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Apoyar el desarrollo de %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Acerca de</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Información sobre %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Buscar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Silenciar volumen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Descargas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Mostrar detalles sobre la descarga de videos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Bajar video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Bajar el video actual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Compartí el video actual usando %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Correo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Correo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Cerrar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Siempre Visible</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Finalizar Después de este Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Reportar un inconveniente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Refinar Búsqueda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Programa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Comprar %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Lista de reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Ver</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Compartir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Abriendo %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Cerrar y cancelar descarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Esperar a que termine la descarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Salir de &Pantalla Completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Recordármelo después</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Para obtener la versión actualizada, descargá %1 de nuevo desde el enlace que recibiste via correo y reinstala </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualizar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>A6nterior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Volver a la pista previa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Modo Compacto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Abrir la página de &YouTube </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copiar el enlace de &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copiar Video &URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Encontrar Video &Partes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Borrar las búsquedas recientes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Hacer una &donación</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Iniciar Reproducción Manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Empezar a reproducir videos manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Reproducir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Continuar reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tiempo restante: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volumen al %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Volumen silenciado</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Volumen activo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Definición máxima de video seteada en %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Tu privacidad ahora está segura</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Descarga completa</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Enviado desde %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Conseguir la versión completa</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Descargando %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Error de conexión: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 visitas</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Preparando</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Falló</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Completado</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Detenido</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Detener descarga</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Mostrar en %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Abrir carpeta contenedora</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Reiniciar descarga</translation>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Buscando...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Mostrar %1 más</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>No hay videos</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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sortear por</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevancia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Contador de Visitas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Calificación</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Histórico</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Hoy</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 Días</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 Días</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duración</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Todos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Cortos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Medianos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Largos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Menores que 4 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Entre 4 y 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Mayores a 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Calidad</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta Definición</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p o mayor</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Finalizado</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Bienvenido a <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Conseguir la versión completa</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Escribir</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una palabra clave</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>para empezar a ver videos.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Ver</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Búsquedas recientes</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Canales recientes</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Personalizar</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Atrás</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Refinar Búsqueda</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Quiso decir: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Error de conexión: %1 para %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>¡Hay vida fuera del navegador!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versión %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 es Software Libre pero su desarrollo lleva mucho tiempo.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Por favor, considere <a href='%1'>donar</a> para apoyar el desarrollo de %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, reproductor de música de YouTube</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <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="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>Traduce %1 a tu idioma utilizando %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Icono diseñado por %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Publicado bajo la <a href='%1'>Licencia Pública General GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Cerrar</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Acerca de...</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Limpiar</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Introduzca la licencia de %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Esta versión de prueba ha caducado.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 le permite descargar videos cuya duración sea más grande que %1 y ver videos sin interrupciones.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Esta versión de prueba caducará en %1 días.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Utilizar la versión de prueba</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obtener la versión completa</translation>
+ <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>Limpiar</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>segundos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restante</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>Esta es sólo la versión demo de %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>Sólo se pueden descargar vídeos más cortos de %1 minutos, así puede probar la funcionalidad de descarga.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Obtener la versión completa</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 descargado en %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Descarga finalizada</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Cambiar ubicación...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Eligir la ubicación de descarga</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Ubicación de descarga cambiada.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Descargado: %1</translation>
</message>
<translation>Descargas</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Buscando...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Buscar</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostrar %1 más</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>No hay vídeos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>No hay más vídeos</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Parar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>Parar reproducción y volver a la vista de búsqueda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>Sa&ltar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Saltar al siguiente vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pausar reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Pantalla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Ir a pantalla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Copiar al portapapeles la &URL del stream de vídeo actual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation>Encontrar otras partes de video, con suerte, en el orden correcto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>Elimina&r</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>S&ubir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>&Bajar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Salir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Adiós</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Sitio &Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <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="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Por favor, apoye el continuo desarrollo de %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Acerca de</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Información sobre %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Búsqueda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Silenciar volumen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Descargas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Muestra detalles sobre las descargas de vídeos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Descargar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Descarga el vídeo actual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Correo electrónico</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Correo electrónico</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Cerrar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Siempre Visible</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Pausar Después De Este Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Reporte un inconveniente...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Refinar Búsqueda...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplicación</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Comprar %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>Lista de Re&producción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Ver</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>Com&partir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation>Presiona %1 para subir el volumen, %2 para bajarlo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Abriendo %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Cerrar y cancelar la descarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Esperar la finalización de la descarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Salir de pan&talla completa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Recordarme después</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Para obtener la versión actualizada, descargue %1 de nuevo desde el enlace que recibió por correo, y reinstale.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualizar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&revio</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Vuelve a la vista anterior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Modo Compacto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Abrir la página de &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copiar el &enlace de YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copiar Video En Línea &URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Encontrar Videos &Partes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Limpiar búsquedas recientes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Hacer una &donación</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Iniciar Reproducción Manual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Empezar a reproducir videos manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>Re&producir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Reiniciar la reproducción</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tiempo restante: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volumen al %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>El volumen está desactivado</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>El volumen está activado</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Definición Máxima de Video es %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Su privacidad ahora es segura</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Descargas completadas</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>Esta es sólo la versión de demo de %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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>
</message>
<message>
- <location filename="src/MediaView.cpp" line="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Enviado desde %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Obtener la versión completa</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Descargand %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Error de red: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 vistas</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) -- %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Preparando</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Falló</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Completo</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Parado</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Parar descarga</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Mostrar en %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Abrir carpeta padre</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Reiniciar descarga</translation>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Buscando...</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>No hay vídeos</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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sortear por</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevancia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Vistas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Calificación</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Histórico</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Hoy</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 Días</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 Días</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duración</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Todos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Corto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Mediano</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Largo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Menor que 4 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Entre 4 y 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Mayor que 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Calidad</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta Definición</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p o mayor</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Finalizado</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Bienvenido/a a <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Obtener la versión completa</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Introducir</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una palabra clave</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>empezar a ver vídeos</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Ver</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Palabras clave recientes</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Canales recientes</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Siéntete como en casa</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Volver</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Refinar Búsqueda</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Quiso decir: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Error de red: %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Selaimen ulkopuolellakin on elämää!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versio: %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 on ilmainen ohjelma, mutta sen kehittäminen vie kallista aikaa.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Voit tukea %2-kehitystä jatkumista tekemällä <a href='%1'>lahjoituksen</a>.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, YouTube-musiikkisoitin</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, musiikkisoitin</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Kuvakkeen suunnitteli %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Julkaistu <a href='%1'>GNU General Public License</a> -lisenssillä</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Sulje</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Tietoja</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Tyhjennä</translation>
+ <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>&Email:</source>
+ <translation>&Sähköposti:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Koodi:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Lisensioi %1.</translation>
+ <translation>Lisensoi %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Tämä demon kokeiluaika on päättynyt.</translation>
+ <translation>Tämä koekäyttöversio on vanhentunut.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Täysversio sallii sinun ladata yli %1 minuutin pituisia videoita ja katsoa videoita ilman keskeytyksiä.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Tämän demon kokeiluaika päättyy %1 päivän kuluttua.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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>Ostamalla täyden version tuet kovaa työtäni sovelluksen %1 parissa.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Käytä demoa</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Hanki täysversio</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Syötä lisenssi</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Osta lisenssi</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Tyhjennä</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>tavua</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>Kt</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>Mt</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>tavua/sekunnissa</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>Kt/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>Mt/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekunttia</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuuttia</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 jäljellä</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>Voit ladata vain videoita jotka ovat lyhyempiä kuin %1 minuuttia, jotta voit testata latausominaisuutta.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Jatka</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Hanki täysi versio</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 ladattu ajassa %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Lataus valmistui</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Vaihda sijaintia...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Valitse latausten sijainti</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Lataus sijaintia on muutettu.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Ladataan kansioon: %1</translation>
</message>
<translation>Lataukset</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Ladataan päivitystä...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Etsitään...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Etsi</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Näytä %1 lisää</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Ei videoita</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Ei enempää videoita</translation>
+ <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>Tee olosi kotoisaksi</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Pysäytä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Hyppää yli</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Siirry seuraavaan videoon</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Keskeytä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Keskeytä toisto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Koko näytön tila</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Siirry koko näytön tilaan</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Piilota soittolista sekä työkalupalkki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Poista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>Poista valitut videot toistolistalta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Siirrä &ylös</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Sirrä &alas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Lopeta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Näkemiin</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Nettisivusto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 netissä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Tue %1n jatkokehitystä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Tietoja</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Tietoja %1sta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Etsi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Vaimenna ääni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Lataukset</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Näytä tietoja latauksista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Lataa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Lataa nykyinen video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Jaa nykyinen video palvelulla %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Sähköposti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Sähköposti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Sulje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Pysy päällimmäisenä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>Py&säytä toisto tämän videon jälkeen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Ilmoita ongelmasta...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Määritä haku uudelleen...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Sovellus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Osta %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Toisto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>S&oittolista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Näytä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Jaa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Ohje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Avataan kohdetta %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Sulje ja peru lataus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Odota latauksen valmistumista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation> Poistu &koko näytön tilasta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 versio %2 on nyt saatavilla.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Muistuta myöhemmin</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Saadaksesi päivitetyn version, lataa %1 uudestaan sähköpostitse saamastasi linkistä ja asenna uudelleen.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Päivitä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Virhe: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>E&dellinen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Siirry takaisin edelliseen kappaleeseen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Kompakti &tila</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Avaa &YouTube-sivu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Kopioi YouTube-&linkki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Kopioi videovirran &URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Etsi videon &osat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>Ty&hjennä viimeisimmät haut</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Tee &lahjoitus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Aloita toisto &manuaalisesti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Aloittaa videoiden toiston manuaalisesti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Toista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Jatka toistoa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Aikaa jäljellä: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Äänentaso: %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Ääni on vaimennettu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Ääni ei ole vaimennettu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Yksityisyytesi on nyt turvattu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Lataukset ovat valmistuneet</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Jatka</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>/</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Lähetetty palvelusta %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Hanki täysi versio</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Ladataan %1ta/tä</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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>Haluatko ladata sen nyt?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Ohita tämä versio</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Muistuta myöhemmin</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Asenna päivitys</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Verkkovirhe: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>Katsottu %1 kertaa</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 / %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Valmistellaan</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Epäonnistui</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Valmis</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Pysäytetty</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Pysäytä lataus</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Avaa %1ssa/ssä</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>Avaa yläkansio</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Käynnistä lataus uudelleen</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Etsitään...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Näytä %1 lisää</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Ei videoita</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Ei enempää videoita</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Järjestysperuste</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Olennaisuus</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Päiväys</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Katselukerrat</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Arvostelu</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Milloin tahansa</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Tänään</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 päivää</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 päivää</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Kesto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Kaikki</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Lyhyt</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Keskipituinen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Pitkä</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Vähemmän kuin 4 minuuttia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>4-20 minuutin välillä</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Pidempi kuin 20 minuuttia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Laatu</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Teräväpiirto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p tai tarkempi</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Valmis</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Tervetuloa <a href='%1'>%2en</a></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Hanki täysversio</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Syötä</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>hakusana</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>kanava</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>aloittaaksesi videoiden katselu.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Katso</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Viimeisimmät hakusanat</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Viimeisimmät kanavat</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Tee olosi kotoisaksi</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Takaisin</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Määritä haku uudelleen</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Tarkoititko: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Videostriimiä ei saada kohteelle %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Verkkovirhe: "%1" "%2"lle</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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Selaimen ulkopuolellakin on elämää!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versio: %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Lisensoitu henkilölle: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Voit tukea %2-kehitystä jatkumista tekemällä <a href='%1'>lahjoituksen</a>.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, YouTube-musiikkisoitin</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, musiikkisoitin</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Kuvakkeen suunnitteli %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Julkaistu <a href='%1'>GNU General Public License</a> -lisenssillä</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Sulje</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Tietoja</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Tyhjennä</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Syötä tähän lisenssitietosi</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Sähköposti:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Koodi:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Lisensioi %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Tämä demon kokeiluaika on päättynyt.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Täysversio sallii sinun ladata yli %1 minuutin pituisia videoita ja katsoa videoita ilman keskeytyksiä.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Tämän demon kokeiluaika päättyy %1 päivän kuluttua.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Ilman lisenssiä tämä sovellus vanhenee %1 päivässä.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>Ostamalla täyden version tuet kovaa työtäni sovelluksen %1 parissa.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Käytä demoa</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Hanki täysversio</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Syötä lisenssi</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Osta lisenssi</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Tyhjennä</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>tavua</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>Kt</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>Mt</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>tavua/sekunnissa</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>Kt/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>Mt/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekunttia</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuuttia</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 jäljellä</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>Voit ladata vain videoita jotka ovat lyhyempiä kuin %1 minuuttia, jotta voit testata latausominaisuutta.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Jatka</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Hanki täysi versio</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 ladattu ajassa %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Lataus valmistui</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Vaihda sijaintia...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Valitse latausten sijainti</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Lataus sijaintia on muutettu.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Ladataan kansioon: %1</translation>
</message>
<translation>Lataukset</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Ladataan päivitystä...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Etsitään...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Etsi</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Näytä %1 lisää</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Ei videoita</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Ei enempää videoita</translation>
+ <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>Tee olosi kotoisaksi</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Pysäytä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Hyppää yli</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Siirry seuraavaan videoon</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Keskeytä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Keskeytä toisto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Koko näytön tila</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Siirry koko näytön tilaan</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Piilota soittolista sekä työkalupalkki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Poista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>Poista valitut videot toistolistalta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Siirrä &ylös</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Sirrä &alas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Lopeta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Näkemiin</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Nettisivusto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 netissä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Tue %1n jatkokehitystä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Tietoja</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Tietoja %1sta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Etsi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Vaimenna ääni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Lataukset</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Näytä tietoja latauksista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Lataa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Lataa nykyinen video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Jaa nykyinen video palvelulla %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Sähköposti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Sähköposti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Sulje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Pysy päällimmäisenä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>Py&säytä toisto tämän videon jälkeen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Ilmoita ongelmasta...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Määritä haku uudelleen...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Sovellus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Osta %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Toisto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>S&oittolista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Näytä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Jaa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Ohje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Avataan kohdetta %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Sulje ja peru lataus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Odota latauksen valmistumista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation> Poistu &koko näytön tilasta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 versio %2 on nyt saatavilla.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Muistuta myöhemmin</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Saadaksesi päivitetyn version, lataa %1 uudestaan sähköpostitse saamastasi linkistä ja asenna uudelleen.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Päivitä</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Virhe: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>E&dellinen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Siirry takaisin edelliseen kappaleeseen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Kompakti &tila</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Avaa &YouTube-sivu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Kopioi YouTube-&linkki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Kopioi videovirran &URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Etsi videon &osat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>Ty&hjennä viimeisimmät haut</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Tee &lahjoitus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Aloita toisto &manuaalisesti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Aloittaa videoiden toiston manuaalisesti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Toista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Jatka toistoa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Aikaa jäljellä: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Äänentaso: %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Ääni on vaimennettu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Ääni ei ole vaimennettu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Yksityisyytesi on nyt turvattu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Lataukset ovat valmistuneet</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Jatka</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>/</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Lähetetty palvelusta %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Hanki täysi versio</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Ladataan %1ta/tä</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <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>%1 %2 on nyt saatavilla. Sinulla on %3.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Haluatko ladata sen nyt?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Ohita tämä versio</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Muistuta minua myöhemmin</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Asenna päivitys</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Verkkovirhe: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Liitä</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>Katsottu %1 kertaa</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 / %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Valmistellaan</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Epäonnistui</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Valmis</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Pysäytetty</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Pysäytä lataus</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Avaa %1ssa/ssä</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>Avaa yläkansio</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Käynnistä lataus uudelleen</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Etsitään...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Näytä %1 lisää</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Ei videoita</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Ei enempää videoita</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Järjestysperuste</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Olennaisuus</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Päiväys</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Katselukerrat</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Arvostelu</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Milloin tahansa</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Tänään</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 päivää</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 päivää</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Kesto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Kaikki</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Lyhyt</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Keskipituinen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Pitkä</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Vähemmän kuin 4 minuuttia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>4-20 minuutin välillä</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Pidempi kuin 20 minuuttia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Laatu</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Teräväpiirto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p tai tarkempi</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Valmis</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Tervetuloa <a href='%1'>%2en</a></translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Hanki täysversio</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Syötä</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>hakusana</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>kanava</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>aloittaaksesi videoiden katselu.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Katso</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Viimeisimmät hakusanat</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Viimeisimmät kanavat</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Tee olosi kotoisaksi</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Takaisin</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Määritä haku uudelleen</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Tarkoititko: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Videostriimiä ei saada kohteelle %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Verkkovirhe: "%1" "%2"lle</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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There'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="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licence accordée à : %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Merci <a href='%1'>d'envoyer vos dons</a> pour aider à poursuivre le développement de %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<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="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, un lecteur de musique</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Icône dessinée par %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Proposé sous licence <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Fermer</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>À propos</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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'avez jamais osé demander</translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Effacer</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Entrez les details de votre licence</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Email :</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Code :</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Veuillez obtenir une licence pour %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Cette version démo a expiré.</translation>
+ <translation>Cette version de démo a expiré.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 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>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Cette version démo s'expire dans %1 jours.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>En l'absence de licence, l'application expirera dans %1 jours.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>En achetant la version complète, vous supporterais aussi le le grand travail que j'ai investi à la création de %1.</translation>
+ <translation>En achetant la version complète, vous supporterai aussi le grand travail que j'ai investi dans la création de %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Utilisez la version démo</translation>
+ <translation>Utilisez la version de démo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obtenir la version complète</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Entrer une licence</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Acheter une licence</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Effacer</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>secondes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restant</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>Il s'agit seulement de la version démo de %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuer</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Obtenir la version complète</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
+ <translation>%1 téléchargé sur %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
- <translation type="unfinished"/>
+ <translation>Téléchargement terminé</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Changer d'emplacement...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Choisissez l'emplacement de téléchargement</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Emplacement de téléchargement changé.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>Les téléchargements en cours iront à l'emplacement précédent.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Téléchargement de : %1</translation>
</message>
<translation>Téléchargements</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Téléchargement de la mise à jour...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Recherche...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Chercher</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Afficher %1 de plus</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Pas de vidéos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Plus de vidéos</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Arrêter</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Passer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Passer à la vidéo suivante</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pause</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Mettre en pause</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Plein écran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Mettre en plein écran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Cacher la liste de lecture et la barre d'outils</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Copier l'adresse de la vidéo YouTube courante dans le presse-papier</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Copier l'adresse du flux vidéo courant dans le presse-papier</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
- <translation type="unfinished"/>
+ <translation>Trouver les autres parties de la vidéo en espérant qu'elles soient dans le bon ordre</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Supprimer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Déplacer vers les &haut</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Déplacer vers les &bas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Effacer l'historique de recherche. Opération irréversible.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Quitter</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Au revoir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Site &Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 sur le Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Merci d'aider à poursuivre le développement de %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&À propos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>À propos de %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Chercher</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Couper le son</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Téléchargements</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Téléchargement</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Télécharger la vidéo en cours</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Partager cette vidéo avec %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Fermer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Laisser au dessus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Arrêter après cette vidéo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
- <translation type="unfinished"/>
+ <translation>&Signaler un problème...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
+ <translation>&Affiner la recherche...</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>&Related Videos</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <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>&Application</source>
<translation>&Application</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Acheter %1 …</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Lecture</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Liste de lecture</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Vidéo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Vue</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Partager</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Ouverture de %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Fermer et annuler le téléchargement</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Attendez la fin du téléchargement</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Quitter le &mode plein écran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 version %2 est maintenant disponible</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Me rappeler plus tard</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>To get the updated version, download %1 again from the link you received via email and reinstall.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Mettre à jour</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Erreur : %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&récédent</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Aller à la piste précédente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Mode compact</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Ouvrir la page &Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copier le &lien Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copier l'&URL du flux vidéo </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Trouver les &parties de la vidéo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Effacer les recherches récentes </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Faire un &Don</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<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"/>
+ <source>Choose your content location</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Jouer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Relancer la lecture</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <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="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volume à %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Volume OFF</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Volume ON</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Votre confidentialité est maintenant respectée</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Téléchargements terminés</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>Vous pouvez maintenant copier l'adresse Youtube dans une autre application</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>Vous pouvez maintenant coller l'adresse du flux vidéo dans une autre application</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>C'est juste la version démo de %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<source>It allows you to test the application and see if it works for you.</source>
<translation>Cela vous permet de tester l'application et voir si cela fonctionne pour vous.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuer</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Envoyé par %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Obtenir la version complète</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>%1 Téléchargement</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>Une nouvelle version 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>%1 %2 est maintenant disponible. Vous avez %3.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Voulez-vous la télécharger maintenant ?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Sauter Cette Version</translation>
+ </message>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Erreur réseau : %1</translation>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <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>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Coller</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistItemDelegate</name>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 vues</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Préparation</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Échec</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Terminé</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Arrêté</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Arrêter le téléchargement</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Montrer dans %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Ouvrir le dossier parent</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Redémarrer le téléchargement</translation>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>RefineSearchWidget</name>
+ <name>PlaylistModel</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Recherche en cours…</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>Pas de vidéos</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>Trier par</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
- <translation type="unfinished"/>
+ <translation>Pertinence</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
- <translation type="unfinished"/>
+ <translation>Date</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
- <translation type="unfinished"/>
+ <translation>Nombre de vues</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
- <translation type="unfinished"/>
+ <translation>Note</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
- <translation type="unfinished"/>
+ <translation>N'importe quand</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
- <translation type="unfinished"/>
+ <translation>Aujourd'hui</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
- <translation type="unfinished"/>
+ <translation>7 jours</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
- <translation type="unfinished"/>
+ <translation>30 jours</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
- <translation type="unfinished"/>
+ <translation>Durée</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
- <translation type="unfinished"/>
+ <translation>Tous</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
- <translation type="unfinished"/>
+ <translation>Court</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
- <translation type="unfinished"/>
+ <translation>Moyen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
- <translation type="unfinished"/>
+ <translation>Long</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
- <translation type="unfinished"/>
+ <translation>Inférieur à 4 minutes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Entre 4 et 20 minutes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Plus long que 20 minutes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
- <translation type="unfinished"/>
+ <translation>Qualité</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
- <translation type="unfinished"/>
+ <translation>Haute définition</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
- <translation type="unfinished"/>
+ <translation>720p ou plus</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Terminer</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation type="unfinished"/>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Bienvenue sur <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Obtenir la version complète</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Entrer</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>un mot-clé</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>une chaîne</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>pour commencer à regarder des vidéos.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Regarder</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Derniers mots-clés</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Chaînes récentes</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Retour</translation>
+ </message>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Installez-vous confortablement</translation>
+ <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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
- <translation type="unfinished"/>
+ <translation>Affiner la recherche</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
+ <translation>Vouliez-vous dire: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Impossible d'obtenir le flux vidéo de %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Erreur réseau : %1 pour %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
+++ /dev/null
-<?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="28"/>
- <source>There's life outside the browser!</source>
- <translation>Existe vida máis aló do navegador!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Versión %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <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="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Faga unha <a href='%1'>doazón</a> para axudar na continuación do desenvolvemento de %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <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="41"/>
- <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="45"/>
- <source>%1, a music player</source>
- <translation>%1, un reprodutor de música</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <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="56"/>
- <source>Icon designed by %1.</source>
- <translation>Icona deseñada por %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Publicado baixo a <a href='%1'>Licenza pública Xeral GNU</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Pechar</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Sobre</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <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>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Limpar</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Licenza %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Esta demo caducou.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <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 permite descargar vídeos con máis de %1 minutos e velos sen interrupcións.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Esta demo vai caducar en %1 días.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <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/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Usar a demostración</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obter a versión completa</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>bytes</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>bytes/seg</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/seg</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/seg</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>segundos</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>minutos</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 restantes</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <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="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>Continuar</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Obter a versión completa</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <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="14"/>
- <source>Change location...</source>
- <translation>Cambiar a localización...</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Escolla a localización da descarga</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Cambiada a localización da descarga.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <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="75"/>
- <source>Downloading to: %1</source>
- <translation>Descargando en: %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>Descargas</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Reproducir</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Deter</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Reproducir/deter</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Parar</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <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="21"/>
- <source>Next track</source>
- <translation>Seguinte pista</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Pista anterior</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Aumentar volume</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Diminuír volume</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Silenciar</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Buscar cara adiante</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Buscar cara atrás</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Buscando...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostrar %1 máis</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Non hai vídeos</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Non hai máis vídeos</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Erro</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Parar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <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="189"/>
- <source>S&kip</source>
- <translation>&Saltar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Saltar ao seguinte vídeo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Deter</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Deter a reprodución</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&Pantalla completa</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Ir á pantalla completa</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <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="233"/>
- <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="240"/>
- <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="247"/>
- <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="254"/>
- <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="260"/>
- <source>&Remove</source>
- <translation>&Retirar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <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="267"/>
- <source>Move &Up</source>
- <translation>Mover cara &arriba</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <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="274"/>
- <source>Move &Down</source>
- <translation>Mover cara a&baixo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <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="286"/>
- <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="291"/>
- <source>&Quit</source>
- <translation>&Saír</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Deica logo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>Sitio &web</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 na web</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <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="311"/>
- <source>&About</source>
- <translation>&Sobre</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Información acerca de %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Buscar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Silenciar o volume</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Descargas</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <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="378"/>
- <source>&Download</source>
- <translation>&Descarga</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Descargando o vídeo actual</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <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="415"/>
- <source>&Email</source>
- <translation>&Correo-e</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Correo-e</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Pechar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Aplicativo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Reproducir</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Lista de reprodución</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Vídeo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Ver</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Compartir</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>A&xuda</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Abrindo %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <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="848"/>
- <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="853"/>
- <source>Close and cancel download</source>
- <translation>Pechar e cancelar a descarga</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Agardar a que remate a descarga</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Abandonar a &pantalla completa</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <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="1377"/>
- <source>Remind me later</source>
- <translation>Lembrar máis adiante</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Para obter a versión actualizada, descargue %1 de novo desde a ligazón que recibiu por correo electrónico e reinstale.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Actualizar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Produciuse un erro: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Ir á pista anterior</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Reproducir</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Continuar a reprodución</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Tempo restante: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Volume ao %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>O volume está silenciado</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>O volume non está silenciado</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <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="1246"/>
- <source>Your privacy is now safe</source>
- <translation>A súa intimidade agora está segura</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Descargas completadas</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <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="554"/>
- <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="555"/>
- <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="654"/>
- <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="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>Continuar</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <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="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Enviado desde %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Obter a versión completa</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Descargando %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Produciuse un erro na rede: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 visualizacións</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Preparando</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Produciuse un fallo</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Completada</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Detida</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Deter a descarga</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Mostrar en %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Abrir o cartafol pai</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Reiniciar a descarga</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </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 <a href='%1'>%2</a>,</source>
- <translation>Benvido a <a href='%1'>%2</a,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Obter a versión completa</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Introduza</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>unha palabra clave</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>unha canle</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>para comezar a ver vídeos.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Ver</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Palabra clave recente</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Canles recentes</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Síntase cómodo</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <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="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Produciuse un erro na rede: %1 por %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>יש חיים מחוץ לדפדפן!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>גרסה %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 הנה תכנה חופשית אך פיתוחה לוקח המון זמן יקר.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>אנא <a href='%1'>תרמו</a> כדי לתמוך בהמשך הפיתוח של %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation>מומלץ לנסות להשתמש בשאר היישומים שלי:</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, נגן מוזיקה מיוטיוב</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, נגן מוזיקה</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>ניתן לתרגם את %1 לשפת אמך באמצעות %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>הסמל עוצב על ידי %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>התכנה שוחררה תחת תנאי <a href='%1'>הרישיון הציבורי הכללי של GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&סגירה</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>על אודות</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<source>What you always wanted to know about %1 and never dared to ask</source>
<translation>מה שתמיד רצית לדעת על %1 ולא העזת לשאול</translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>מחיקה</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>נא לרכוש את %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>גרסת הדגמה זו פגה.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>גרסת הדגמה זו תפוג בעוד %1 ימים.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>שימוש בהדגמה</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>קבלת הגרסה המלאה</translation>
+ <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>מחיקה</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>בתים</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>ק״ב</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>מ״ב</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>בתים/שנייה</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>ק״ב/שנייה</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>מ״ב/שנייה</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>שניות</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>דקות</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 נותרו</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>זוהי רק גרסת ההדגמה של %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>באמצעות גרסה זו ניתן להוריד קטעי וידאו שאורכם אינו עולה על %1 דקות כדי שתהיה באפשרותך לבחור את אפשרות ההורדה.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>המשך</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>קבלת הגרסה המלאה</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
+ <translation>%1 התקבל במהירות של %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
- <translation type="unfinished"/>
+ <translation>ההורדה הושלמה</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<source>%n Download(s)</source>
<translation><numerusform>הורדה אחת</numerusform><numerusform>%n הורדות</numerusform></translation>
</message>
<context>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>שינוי המיקום...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>נא לבחור את מיקום ההורדה</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>מיקום ההורדה השתנה.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>ההורדה הנוכחית עדיין תישמר במיקום הקודם.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>מתבצעת הורדה אל: %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>×\91×\94×\9c×\99×\9b×\99 ×\97×\99פ×\95ש...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>×\97×\99פ×\95ש</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>הצגת %1 נוספים</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>אין סרטונים</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>אין עוד סרטונים</translation>
+ <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>שבו בניחותא</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&עצירה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>עצירת הנגינה וחזרה אל תצוגת החיפוש</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&דילוג</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>דילוג אל הסרטון הבא</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>ה&שהיה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>השהיית הנגינה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&מסך מלא</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>מעבר למסך מלא</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>הסתרת רשימת ההשמעה וסרגל הכלים</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<source>Go to the YouTube video page and pause playback</source>
<translation>מעבר לעמוד הווידאו ב־YouTube והשהיית הנגינה.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>העתקת הקישור אל הווידאו הנוכחי אל לוח הגזירים</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>העתקת כתובת תזרים הווידאו אל לוח הגזירים</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation>חיפוש חלקים אחרים בתקווה שהם בסדר הנכון</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>ה&סרה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>הסרת הסרטונים הנבחרים מרשימת ההשמעה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>הזזה מ&מעלה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>הזזת הסרטונים הנבחרים במעלה רשימת ההשמעה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>הזזה מ&טה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation>הזזת הסרטונים הנבחרים במורד רשימת ההשמעה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>מחיקת היסטוריית החיפוש. לא ניתן לבטל</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>י&ציאה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>להתראות</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&אתר האינטרנט</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 באינטרנט</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>אנא תמכו בהמשך הפיתוח של %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&על אודות</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>מידע אודות %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>חיפוש</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>השתקת השמע</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>הו&רדות</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>הצגת פרטים על אודות הורדות וידאו</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>הו&רדה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>הורדת סרטון הווידאו הנוכחי</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>שיתוף הווידאו הנוכחי דרך %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&דוא״ל</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>דוא״ל</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&סגירה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&ציפה מלמעלה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>ל&עצור לאחר וידאו זה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
- <translation type="unfinished"/>
+ <translation>&דיווח על תקלה...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
+ <translation>&שיפור החיפוש...</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>&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="481"/>
+ <location filename="src/mainwindow.cpp" line="544"/>
<source>&Application</source>
<translation>&יישום</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>רכישת %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>נ&גינה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&רשימת השמעה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&וידאו</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&צפייה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&שיתוף</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&עזרה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation>ניתן ללחוץ על %1 כדי להגביר את עצמת השמע, %2 כדי להנמיך אותה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>%1 נפתח</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<source>Do you want to exit %1 with a download in progress?</source>
<translation>האם ברצונך לצאת מ־%1 כאשר ישנה הורדה פעילה?</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation>אם %1 ייסגר כעת, הורדה זו תבוטל.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>סגירה וביטול ההורדה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>יש להמתין לסיום ההורדה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>יציאה ממ&סך מלא</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 בגרסה %2 זמין כעת.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>להזכיר לי מאוחר יותר</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>כדי לקבל את הגרסה העדכנית, יש להוריד את %1 פעם נוספת מהקישור שקיבלת בדוא״ל ולהתקין מחדש.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>עדכון</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>שגיאה: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>ה&קודם</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>חזרה לרצועה הקודמת</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>מ&צב חסכוני</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>פתיחת העמוד ב&יוטיוב</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>העתקת ה&קישור ליוטיוב</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>העתקת כתובת ת&זרים הווידאו</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>חיפוש ק&טעי וידאו</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&ניקוי החיפושים האחרונים</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>ה&גשת תרומה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>התחלת נגינה י&דנית</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>התחלה ידנית בנגינת קטעי הווידאו</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&נגינה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>המשך הנגינה</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>הזמן הנותר: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>עצמת השמע היא %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>השמע מושתק</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>השמע אינו מושתק</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>איכות הנגינה המירבית מוגדרת ל־%1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>פרטיותך מוגנת כעת.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>ההורדות הושלמו</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>כעת ניתן להדביק את קישור ה־YouTube שלכם ליישום אחר</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>כעת ניתן להדביק את כתובת תזרים הווידאו ליישום אחר</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>הקישור יהיה תקף לזמן מוגבל בלבד.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>זוהי רק גרסת ההדגמה של %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>המשך</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>מתוך</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>נשלח דרך %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>קבלת הגרסה המלאה</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>%1 מתקבל</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>שגיאת רשת: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <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 צפיות</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 מתוך %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>בהכנה</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>כשל</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>הושלם</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>נעצר</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>עצירת ההורדה</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>הצגה ב%1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>פתיחת תיקיית ההורה</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>הפעלת ההורדה מחדש</translation>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>בהליכי חיפוש...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>הצגת %1 נוספים</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>אין סרטונים</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>אין עוד סרטונים</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
- <translation type="unfinished"/>
+ <translation>סידור לפי</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
- <translation type="unfinished"/>
+ <translation>רלוונטיות</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
- <translation type="unfinished"/>
+ <translation>תאריך</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
- <translation type="unfinished"/>
+ <translation>מונה צפיות</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
- <translation type="unfinished"/>
+ <translation>דירוג</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
- <translation type="unfinished"/>
+ <translation>בכל זמן שהוא</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
- <translation type="unfinished"/>
+ <translation>היום</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
- <translation type="unfinished"/>
+ <translation>7 ימים</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
- <translation type="unfinished"/>
+ <translation>30 ימים</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
- <translation type="unfinished"/>
+ <translation>משך</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
- <translation type="unfinished"/>
+ <translation>הכול</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
- <translation type="unfinished"/>
+ <translation>קצר</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
- <translation type="unfinished"/>
+ <translation>בינוני</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
- <translation type="unfinished"/>
+ <translation>ארוך</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
- <translation type="unfinished"/>
+ <translation>פחות מ־4 דקות</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>בין 4 ל־20 דקות</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>למעלה מ־20 דקות</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
- <translation type="unfinished"/>
+ <translation>איכות</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
- <translation type="unfinished"/>
+ <translation>אבחנה גבוהה (HD)</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
- <translation type="unfinished"/>
+ <translation>720p ומעלה</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
- <translation type="unfinished"/>
+ <translation>הסתיים</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <source>Done</source>
+ <translation>הסתיים</translation>
</message>
</context>
<context>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>ברוך בואך אל <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>קבלת הגרסה המלאה</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>הזנה</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>מילת מפתח</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>ערוץ</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>כדי להתחיל לצפות בסרטונים.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>צפייה</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>מילות מפתח אחרונות</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>ערוצים אחרונים</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation type="unfinished"/>
+ </message>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>שבו בניחותא</translation>
+ <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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
- <translation type="unfinished"/>
+ <translation>שיפור החיפוש</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
+ <translation>האם כוונתך הייתה: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>לא ניתן לקבל את תזרים הווידאו עבור %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>שגיאת רשת: %1 עבור %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Život postoji i van browsera!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Verzija %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Vaša <a href='%1'>donacija</a> će pomoći daljnjem razvoju %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <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="41"/>
+ <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="45"/>
+ <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="51"/>
+ <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="56"/>
+ <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="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Izdano pod <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Zatvori</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>O programu</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <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>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Obriši</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Molimo registrirajte %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <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/demostartupview.cpp" line="41"/>
+ <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>Puna verzija vam dozvoljava da skidate video duži od %1 minuta i da gledate video bez prekida.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Ova demo verzija će isteći za %1 dana.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Koristi demo verziju.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Preuzmi punu verziju</translation>
+ <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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bajtova</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bajtova/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekundi</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuta</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 preostalo</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <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="50"/>
+ <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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Nastavi</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <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="142"/>
+ <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="145"/>
+ <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="151"/>
+ <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>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <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="46"/>
+ <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="61"/>
+ <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="63"/>
+ <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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Preuzimam u: %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Pretraga...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Traži</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Prikaži još %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Nema videa</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nema više videa</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Stop</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Preskoči</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <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="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pauza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <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="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Cijeli ekran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <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="220"/>
+ <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="233"/>
+ <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="240"/>
+ <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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Kopiraj &URL trenutnog video streama u clipboard</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Ukloni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Pomakni &gore</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Pomakni &dolje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <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="286"/>
+ <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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Kraj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Doviđenja</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Web stranice</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <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="306"/>
+ <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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&O programu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <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="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Traži</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Utišaj zvuk</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Preuzimanja</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Preuzimanje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <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="398"/>
+ <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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Zatvori</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Budi na vrhu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Stani nakon ovog videa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Prijavi problem</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Suzi pretragu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Program</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Kupi %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Sviraj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Play lista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Pogled</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Podijeli</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Pomoć</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <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="847"/>
+ <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="848"/>
+ <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="853"/>
+ <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="854"/>
+ <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="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Izađi iz &Cijelog ekrana</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <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="1377"/>
+ <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="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Da bi skinuli nadogradnju, preuzmite %1 sa linka koji ste dobili e-mailom i reinstalirajte ga.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Unaprijedi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Greška: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&rethodni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <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="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Kompaktni mod</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Otvori &YouTube stranicu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Kopiraj YouTube &link</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Kopiraj &URL video streama</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Nađi &dijelove videa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Izbriši nedavne pretrage</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Izvrši &donaciju</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Ručno pokreni reprodukciju</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <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="908"/>
+ <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>&Play</source>
<translation>&Sviraj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>&Nastavi sviranje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <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="1194"/>
+ <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="1200"/>
+ <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="1203"/>
+ <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="1210"/>
+ <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="1246"/>
+ <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="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Preuzimanja završena</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <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="554"/>
+ <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="555"/>
+ <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="654"/>
+ <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="655"/>
+ <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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Nastavi</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <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="797"/>
+ <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="867"/>
+ <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="662"/>
+ <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="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Preuzimam %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Greška mreže: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 pregleda</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 od %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Pripremam</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Nije uspjelo</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Završeno</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Zaustavljeno</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Zaustavi preuzimanje</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Pokaži u %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Otvori mapu iznad</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Ponovo pokreni preuzimanje</translation>
+ <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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sortiraj po</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Važnost</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Broj pregleda</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Ocjena</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Bilo kada</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Danas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dana</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dana</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Trajanje</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <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="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Kratko</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Srednje</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Dugo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <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="80"/>
+ <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="81"/>
+ <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="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Kvaliteta</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Visoka razlučivost</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <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="118"/>
+ <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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Dobrodošli u <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <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="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Unesi</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>ključna riječ</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>kanal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <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="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Gledaj</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <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="168"/>
+ <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/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Udobno se smjestite</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Suzi pretragu</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <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="200"/>
+ <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="218"/>
+ <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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There'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="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Verzió: %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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>A %1 szabad szoftver, de a fejlesztése értékes időt emészt fel.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation><a href='%1'>Adakozással</a> támogassa a %2 program folyamatos fejlesztését.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, a YouTube zenelejátszó</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, zenelejátszó</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Ikon tervezője: %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>A <a href='%1'>GNU General Public licenccel</a> megjelentetve</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Bezárás</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Névjegy</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Törlés</translation>
+ <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>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Kód</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Szerezzen licencet a %1 programhoz</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>A demó változat lejárt.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 teljes verzió lehetőséget nyújt %1 percnél hosszabb videók letöltésére és a videók megszakítás nélküli lejátszására.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>A demó változat %1 nap múlva lejár.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Licenc nélkül, a program %1 nap múlva lejár.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>A teljes verzió megvásárlásával a %1 programba fektetett munkámat is támogatja.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Demó használata</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Teljes verzió beszerzése</translation>
+ <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>Törlés</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bájt</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bájt/mp</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/mp</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/mp</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>másodperc</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>perc</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<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="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Folytatás</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Teljes verzió beszerzése</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Letöltés befejezve</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Hely módosítása...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Letöltés helyének kiválasztása</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>A letöltés helye megváltozott.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Letöltés ide: %1</translation>
</message>
<translation>Letöltések</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Frissítés letöltése...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Keresés...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Keresés</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>További %1 elem megjelenítése</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Nem található videó</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Keresés</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nem található több videó</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Videók keresése kategória szerint</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Helyezze kényelembe magát</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Leállítás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>U&grás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Ugrás a következő videóra</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Megállítás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Lejátszás megállítása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Teljes képernyő</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Teljes képernyőre váltás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Az aktuális videó Youtube &hivatkozásának másolása a vágólapra</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Eltávolítás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mozgatás &felfelé</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mozgatás &lefelé</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Kilépés</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Viszlát</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Webhely</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 a weben</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Névjegy</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Információ a %1 programról</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Keresés</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Hangerő némítása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Letöltések</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Letöltés</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Aktuális videó letöltése</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Bezárás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Többi ablak fölött</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Videó után leállítás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Hiba bejelentése</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Keresés pontosítása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Alkalmazás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>%1 megvásárlása...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Lejátszás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Lejátszási lista</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Videó</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Megtekintés</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Megosztás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Súgó</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>%1 megnyitása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<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="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<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="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Kilépés a &teljes képernyős módból</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Figyelmeztetés később</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>A frissebb verzió beszerzéséhez töltse le újból a %1 programot az e-mailben lévő hivatkozáson keresztül, és telepítse újra a programot.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Frissítés</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Hiba: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>&Előző</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<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="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Kompaktmód</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>&YouTube oldal megnyitása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>YouTube &hivatkozás másolása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>&Videó-URL másolása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>További videó&részletek keresése</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Legutóbbi keresések törlése</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>&Támogasd</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Manuális lejátszás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<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="908"/>
+ <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>&Play</source>
<translation>&Lejátszás</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Lejátszás folytatása</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Hátralévő idő: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Hangerő: %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Hangerő némítva</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Hangerő némítása feloldva</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<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="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>A letöltések befejeződtek</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Folytatás</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation> - </translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>A %1 programból küldve</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Teljes verzió beszerzése</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Letöltés: %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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>A %1 program %2 verziója elérhető. Neked %3 van.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Szeretné letölteni most?</translation>
+ </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>Emlékeztessen később</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Frissítés telepitése</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Hálózati hiba: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Beillesztés</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 megtekintés</translation>
+ <translation>%1 néző</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 %2 közül (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Előkészítés</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Sikeres befejezés</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Leállítva</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Letöltés leállítása</translation>
+ <translation>Letöltés leállítása </translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Megjelenítés a következőben: %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Szülő mappa megnyitása</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Letöltés újraindítása</translation>
+ <translation>Letöltés újraindítása </translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Keresés...</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>Nincsenek videók</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Nincs több videó </translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Rendezés</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevancia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Dátum</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Megtekintések száma</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Értékelés</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Bármikor</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Ma</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 napja</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 napja</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Időtartam</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Összes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Rövid</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Közepes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Hosszú</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Rövidebb, mint 4 perc</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<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="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Hosszabb, mint 20 perc</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Minőség</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Nagyfelbontású</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p vagy nagyobb</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Kész</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation>Kész</translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Üdvözli a <a href='%1'>%2</a> program,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Teljes verzió beszerzése</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Írjon be</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>egy kulcsszót</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>egy csatornát</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>a videók megtekintéséhez.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Megtekintés</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Legutóbbi kulcsszavak</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Legutóbbi csatornák</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Helyezze kényelembe magát</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Vissza</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Tovább a %1-re</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Vissza a %1-re</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Keresés finomítása</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Így értette: %1?</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Hálózati hiba: %1 a következőhöz: %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Algéria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentína </translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Ausztrália</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgium</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brazília </translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Kanada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Chile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Kolumbia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Cseh Köztársaság</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egyiptom</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Franciaország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Németország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghána</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Görögország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Magyarország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>India</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonézia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Írország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Izrael </translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Olaszország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japán</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Jordánia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Kenya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malájzia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Mexikó </translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Marokkó</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Hollandia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Új Zéland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigéria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Fülöp-szigetek</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Lengyelország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Oroszország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Szaúd-Arábia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Szingapúr</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Dél Afrika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Dél Korea</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Spanyolország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Svédország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Tajvan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunézia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Törökország</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Egyesült Arab Emirségek</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Nagy Britannia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Jemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Világszerte</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Il ha vita foras del navigator!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 es software libere ma su developpamento require un tempore preciose.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation><a href='%1'>Dona</a>, per favor, pro supportar le developpamento continue de %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, un reproductor de musica de YouTube</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, un sonator de musica</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Icone designate per %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Liberate sub le <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Clauder</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Super</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Mundar</translation>
+ <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>&Email:</source>
+ <translation>&E-posta</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Codice</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Licentia %1, per favor</translation>
+ <translation>Per favor, licentia %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Iste demo ha expirate</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Le version complete permitte que tu discarga videos de un duration plus de %1 minutas e vider videos sin interruptiones.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Iste demo expirara in %1 dies.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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 le version complete, tu va supportar tamben le dur labor que io habeva pro crear %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Usar demo</translation>
+ <translation>Usar Demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Procura le version complete</translation>
+ <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>Mundar</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>secundas</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutas</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restante</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Obtener le version complete</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
+ <translation>%1 discargate in %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Discarga terminate</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Cambia le localisation...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Selige le localisation de discarga</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Le localisation de discarga esseva cambiate.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>A discargar a: %1</translation>
</message>
<translation>Discargas</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>A cercar...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Cercar</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Monstrar %1 plus</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Il ha nulle videos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Il non ha plus de videos</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Stop</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>S&altar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Saltar al proxime video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pausar le reproduction</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Schermo plen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Vader a schermo plen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Copiar le actual &ligamine de video YouTube al area de transferentia</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Remover</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mover in &alto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mover a &basso</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Quitar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Adeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Sito &web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 in le web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Super</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Info super %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Cercar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Sin sono</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Discargas</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Monstrar detalios super le discargas de videos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Discarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Discarga le video actual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Compartir le video currente usante %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-posta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-posta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Clauder</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
- <translation type="unfinished"/>
+ <translation>&Flottar in alto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Stoppar depost de iste video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
- <translation type="unfinished"/>
+ <translation>&Reportar un problema...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
+ <translation>&Affinar le cerca...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Plus...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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="481"/>
+ <location filename="src/mainwindow.cpp" line="544"/>
<source>&Application</source>
<translation>&Application</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Comprar %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reproduction</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>Lista de re&production</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Vider</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Compartir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Adjuta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>A aperir %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Claude e cancella le discarga</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Attende que le discarga fini</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Quita le &schermo plen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 version %2 es ora disponibile.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Rememora me plus tarde</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Pro obtener le version actualisate, discarga novemente %1 ab le ligamine que tu recipeva per e-posta e reinstalla lo.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualisar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&revie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Retroceder al tracia previe</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Modo compacte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Aperir le pagina de &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copiar le &ligamine de YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copiar le &URL de fluxo de video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Cercar &partes de video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Mundar le recercas recente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Face un &donation</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Initiar le reproduction &manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Initiar manualmente le reproduction de videos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Selige le loco de contento</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>Re&producer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Resumer reproduction</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tempore restante: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volumine a %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Sin sono</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Con sono</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Definition maxime de video: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Ora tu intimitate es secur </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Discargas complete</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<source>part</source>
<comment>This is for video parts, as in 'Cool video - part 1'</comment>
- <translation type="unfinished"/>
+ <translation>parte</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<source>episode</source>
<comment>This is for video parts, as in 'Cool series - episode 1'</comment>
- <translation type="unfinished"/>
+ <translation>episodio</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Inviate ab %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Procura le version complete</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>A discargar %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Error de rete: %1</translation>
+ <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>%1 %2 ora es disponibile. Tu ha %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>Rememora me plus tarde</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Installar actualisation</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <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 visualisationes</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>A preparar</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Fallite</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Complete</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Stoppate</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Stoppar le discarga</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Monstrar in %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Recomenciar le discarga</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>A cercar...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Monstrar %1 plus</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Nulle video</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>In non ha plus de videos</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
- <translation type="unfinished"/>
+ <translation>Ordinar per</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
- <translation type="unfinished"/>
+ <translation>Vider le contator</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Hodie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dies</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dies</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duration</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Omne</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
- <translation type="unfinished"/>
+ <translation>Curte</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
- <translation type="unfinished"/>
+ <translation>Medie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Longe</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
- <translation type="unfinished"/>
+ <translation>Minus de 4 minutas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Inter 4 e 20 minutas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Plus de 20 minutas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Qualitate</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
- <translation type="unfinished"/>
+ <translation>Alte definition</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
- <translation type="unfinished"/>
+ <translation>720p o plus</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
- <translation type="unfinished"/>
+ <translation>Facite</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <source>Done</source>
+ <translation>Facite</translation>
</message>
</context>
<context>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Benvenite a <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Procura le version complete</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Scriber</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una parola clave</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>pro comenciar a reguardar le videos.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Reguardar</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Parolas-clave recente</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Canales recente</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Retro</translation>
+ </message>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Face te ipse confortabile</translation>
+ <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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
- <translation type="unfinished"/>
+ <translation>Affinar le cerca</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
+ <translation>Tu voleva dicer: %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>Le plus compartite</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Le plus discutite</translation>
+ </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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Error de rete: %1 pro %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>Tote le mundo</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="id" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
- <name>AboutView</name>
- <message>
- <location filename="src/AboutView.cpp" line="28"/>
- <source>There's life outside the browser!</source>
- <translation>Hidup diluarnya browser!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Version %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 is Free Software but its development takes precious time.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Silahkan <a href='%1'>donate</a> untuk mendukung kelanjutan pangembangannya dari %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <source>You may want to try my other apps as well:</source>
- <translation>Anda mungkin ingin untuk mencoba aplikasiku yang lainnya:</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, suatu pemutar musik YouTube</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, suatu pemutar musik</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <source>Translate %1 to your native language using %2</source>
- <translation>Terjemahkan %1 ke bahasa aslimu gunakan %2</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="56"/>
- <source>Icon designed by %1.</source>
- <translation>Desain ikon oleh %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Dirilis dibawah the <a href='%1'>GNU General Public License</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Tutup</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Tentang</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <source>What you always wanted to know about %1 and never dared to ask</source>
- <translation>Apa kamu selalu ingin untuk mengetahui tentangnya %1 dan tidak pernah berani untuk bertanya</translation>
- </message>
-</context>
-<context>
- <name>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Bersih</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Silahkan dilisensi %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Demo ini telah habis masa berlakunya.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
- <translation>Versi lengkap memperbolehkan Anda untuk men-download video lebih dari %1 menit dan untuk menonton video tanpa disela.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Demo ini akan habis masa berlakunya dalam waktu %1 hari.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
- <translation>Dengan membeli versi penuh, Anda juga akan didukung kerja keras Saya letakkan ke dalam kreasi %1.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Gunakan Demo</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Dapatkan versi penuh</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>bit</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>bit/dtk</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/detik</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/sec</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>detik</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>menit</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 sisanya</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <source>This is just the demo version of %1.</source>
- <translation>Ini adalah hanya versi demo dari %1.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="50"/>
- <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
- <translation>Itu bisanya hanya download video yang pendek daripada %1 menit sehingga kamu bisa menguji fungsinya downloadnya.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="56"/>
- <source>Continue</source>
- <translation>Teruskan</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Dapatkan versi komplitnya</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <source>%n Download(s)</source>
- <translation><numerusform>%n Mendownload(s)</numerusform></translation>
- </message>
-</context>
-<context>
- <name>DownloadSettings</name>
- <message>
- <location filename="src/downloadsettings.cpp" line="14"/>
- <source>Change location...</source>
- <translation>Ganti lokasi...</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Pilihlah lokasi unduhan</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Merubah lokasi unduhan.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <source>Current downloads will still go in the previous location.</source>
- <translation>Unduhan saat ini masih ingin pergi di lokasi sebelumnya.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="75"/>
- <source>Downloading to: %1</source>
- <translation>Unduhan ke: %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>Unduhan</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Play</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Pause</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Mainkan/Jeda</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Stop</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Stop playing after current track</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Next track</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Previous track</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Increase volume</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Decrease volume</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Mute</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Seek forward</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Seek backward</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Pencarian...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Tampilkan %1 More</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>No videos</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>No more videos</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Gangguan</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Stop</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <source>Stop playback and go back to the search view</source>
- <translation>Stop playback and go back to the search view</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="189"/>
- <source>S&kip</source>
- <translation>S&kip</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Skip to the next video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Pause</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Pause playback</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&Full Screen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Go full screen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Hide the playlist and the toolbar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <source>Go to the YouTube video page and pause playback</source>
- <translation>Pergi ke halaman video YouTube dan jeda pemutaran</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="240"/>
- <source>Copy the current video YouTube link to the clipboard</source>
- <translation>Copy the current video YouTube link to the clipboard</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="247"/>
- <source>Copy the current video stream URL to the clipboard</source>
- <translation>Copy the current video stream URL to the clipboard</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="254"/>
- <source>Find other video parts hopefully in the right order</source>
- <translation>Mencari bagian-bagian video yang lainnya diharapkan dalam pesanan yang benar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="260"/>
- <source>&Remove</source>
- <translation>&Remove</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>Remove the selected videos from the playlist</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>Move &Up</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <source>Move up the selected videos in the playlist</source>
- <translation>Gerakkan ke atas video yang dipilih dalam daftar-main</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="274"/>
- <source>Move &Down</source>
- <translation>Move &Down</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <source>Move down the selected videos in the playlist</source>
- <translation>Gerakkan ke bawah video yang dipilih dalam daftar-main</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="286"/>
- <source>Clear the search history. Cannot be undone.</source>
- <translation>Menghapus sejarah pencarian. Tidak bisa dikembalikan.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="291"/>
- <source>&Quit</source>
- <translation>&Cabut</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Selamat tinggal</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>&Situs web</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 pada Web</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <source>Please support the continued development of %1</source>
- <translation>Please support the continued development of %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="311"/>
- <source>&About</source>
- <translation>&Tentang</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Info Tentang %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Search</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Bisukan volume</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Unduhan-unduhan</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Tampilkan detail tentang unduhan-unduhan video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Unduhan</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Unduhan-unduhan video saat ini</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Berbagi video saat ini gunakan %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&Surat</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Surat</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Tutup</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Mengambang ke puncak</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>&berhenti setelah video ini</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Application</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Beli %1...</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Putarbalik</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Daftar-Main</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Tampak</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Berbagi</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Help</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <source>Press %1 to raise the volume, %2 to lower it</source>
- <translation>Tekan %1 untuk menambahkan volume, %2 untuk merendahkan itu</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Membuka %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <source>Do you want to exit %1 with a download in progress?</source>
- <translation>Do you want to exit %1 with a download in progress?</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="848"/>
- <source>If you close %1 now, this download will be cancelled.</source>
- <translation>Jika Anda menutup %1 sekarang, unduhan ini akan dibatalkan.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="853"/>
- <source>Close and cancel download</source>
- <translation>Tutup dan membatalkan unduhan</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Menunggu unduhannya selesai</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Tinggalkan &Layar Penuh</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>%1 versi %2 sekarang telah tersedia.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>Beritahu saya lagi nanti</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Untuk mendapatkan versi terbaru, download %1 lagi dari link yang Anda terima melalui email dan pasangkan ulang.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Pembaruan data</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Error: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>S&ebelumnya</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Kembali lagi ke trek sebelumnya</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>&Model kompak</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Buka &Halaman YouTube</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Salin YouTube &Pintasan</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Mencari Video &Perkakas</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>&Bersihkan Jejak Pencarian</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>Buat &Sumbangan</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>&Mulai Memainkan secara Manual</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Mulai memainkan video secara manual</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Play</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Resume playback</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Sisanya waktu: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Volume at %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Volumenya adalah bisu</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Volumenya tidak bisu</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>Maksimumnya definisi video set ke %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Privasimu adalah aman sekarang</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Unduhan-unduhan komplit</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <source>You can now paste the YouTube link into another application</source>
- <translation>Sekarang Anda dapat paste link YouTube ke dalam aplikasi yang lain</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="554"/>
- <source>You can now paste the video stream URL into another application</source>
- <translation>You can now paste the video stream URL into another application</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="555"/>
- <source>The link will be valid only for a limited time.</source>
- <translation>Link akan berlaku hanya untuk waktu yang terbatas.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="654"/>
- <source>This is just the demo version of %1.</source>
- <translation>This is just the demo version of %1.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="655"/>
- <source>It allows you to test the application and see if it works for you.</source>
- <translation>Ini memungkinkan Anda untuk menguji aplikasi dan melihat apakah ia bekerja untuk Anda.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="685"/>
- <source>Continue</source>
- <translation>Continue</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <source>of</source>
- <comment>Used in video parts, as in '2 of 3'</comment>
- <translation>dari</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="795"/>
- <source>part</source>
- <comment>This is for video parts, as in 'Cool video - part 1'</comment>
- <translation>bagian</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="797"/>
- <source>episode</source>
- <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
- <translation>babak bagian</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="867"/>
- <source>Sent from %1</source>
- <translation>Dikirim dari %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Get the full version</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Downloading %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Network error: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 lihat-lihat</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 of %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Persiapan</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Kesalahan</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Completed</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Stopped</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Berhenti mengunduh</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Tampilkan di %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Open parent folder</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Mengulangi mengunduh</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>SearchLineEdit</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="177"/>
- <source>Search</source>
- <translation>Search</translation>
- </message>
-</context>
-<context>
- <name>SearchView</name>
- <message>
- <location filename="src/SearchView.cpp" line="88"/>
- <source>Welcome to <a href='%1'>%2</a>,</source>
- <translation>Selamat datang ke <a href='%1'>%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Get the full version</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Masukkan</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>sebuah kata kunci</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>a channel</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>to start watching videos.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Watch</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Recent keywords</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Saluran-saluran saat ini</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Make yourself comfortable</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <source>Cannot get video stream for %1</source>
- <translation>Cannot get video stream for %1</translation>
- </message>
- <message>
- <location filename="src/video.cpp" line="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Jaringan sedang error: %1 untuk %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>C'è vita fuori del browser!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versione %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licenziato a: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation><a href="%1">Fai una donazione</a> per aiutare lo sviluppo di %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, un player musicale per YouTube</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, un player musicale</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Icona disegnata da %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Rilasciato sotto licenza <a href="%1">GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Chiudi</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Informazioni</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Cancella</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Inserisci i dati della tua licenza:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Codice:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Compra %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Questa demo è scaduta.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 versione completa ti permette di scaricare video più lunghi di %1 minuti e di guardare i video senza interruzioni.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Questa demo scadrà in %1 giorni.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Senza una licenza, l'applicazione scadrà in %1 giorni.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>Acquistando la versione completa, supporterai anche il lavoro che ho fatto per creare %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Usa la demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Compra la versione completa</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Inserisci la tua licenza</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Compra una licenza</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Cancella</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>secondi</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuti</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 al termine</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Compra la versione completa</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 scaricato in %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Download completato</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Cambia destinazione...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Scegli la destinazione dei download</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>La destinazione dei download è cambiata.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Scarica in: %1</translation>
</message>
<translation>Download</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Download dell'aggiornamento in corso...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Ricerca...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Ricerca</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostra altri %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>Trova video e canali per parola chiave</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Nessun video</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Sfoglia</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nessun altro video</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Sfoglia i video per categoria</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Mettiti comodo</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Ferma</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Salta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Salta al prossimo video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Metti in pausa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Schermo intero</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Vai in modalità schermo intero</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Elimina</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Sposta &sopra</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>Sposta video selezionati verso l'alto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Sposta so&tto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Cancella le ultime ricerche. L'azione non potrà essere annullata.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Esci</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Ciao</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Sito &web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 sul Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Supporta lo sviluppo di %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Informazioni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informazioni su %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Disattiva l'audio</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Mostra informazioni sui download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Scarica il video corrente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Condividi il video corrente usando %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Chiudi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Fluttua in alto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Ferma dopo questo video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Segnala un problema...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Raffina la ricerca...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Altro...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>Video &correlati</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
<source>&Application</source>
<translation>&Applicazione</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Compra %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Riproduzione</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Playlist</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Visualizza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Condividi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Aiuto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Apertura di %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Chiudi e annulla i download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Aspetta che i download siano completi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Lascia lo &schermo intero</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>E' disponibile %1 versione %2</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Ricordamelo più tardi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Per aggiornare, scarica di nuovo %1 dal link che hai ricevuto per email e installa.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Aggiorna</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Errore: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&recedente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Torna alla traccia precedente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Modalità &compatta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Apri la pagina di &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copia il &link a YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copia la &URL dello stream video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Trova le &parti del video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Cancella le ultime ricerche</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Fai una &donazione</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Riproduzione &manuale</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Inizia a riprodurre i video manualmente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Scegli la località dei contenuti</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Play</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tempo rimanente: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volume al %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Audio disattivato</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Audio attivato</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>La tua privacy è al sicuro</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>I download sono completi</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>Ora puoi incollare il link a YouTube in un'altra applicazione</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>Ora puoi incollare la URL dello stream in un'altra applicazione</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<source>It allows you to test the application and see if it works for you.</source>
<translation>Ti permette di testare l'applicazione e verificare che funzioni sul tuo computer.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continua</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Inviato da %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Compra la versione completa</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Scarica in: %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>Una nuova versione di %1 è disponibile!</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="28"/>
+ <source>%1 %2 is now available. You have %3.</source>
+ <translation>%1 %2 è ora disponibile. Tu hai la %3.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Vuoi scaricare ora?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Salta questa versione</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Ricordamelo più tardi</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Installa aggiornamento</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Errore di rete: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Incolla</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 visualizzazioni</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 di %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>In preparazione</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Fallito</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Completato</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Fermo</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Interrompi il download</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Mostra nel %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>Mostra nella cartella</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Prova a scaricare di nuovo</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Ricerca...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Mostra altri %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Nessun video</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Nessun altro video</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Ordina per</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Pertinenza</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Visualizzazioni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Voto</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Qualsiasi</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Oggi</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 giorni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 giorni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Durata</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Tutti</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Breve</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Media</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Lunga</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Meno di 4 minuti</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Tra i 4 e i 20 minuti</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Oltre i 20 minuti</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Qualità</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta definizione</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p o maggiore</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Fatto</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation>Fatto</translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Benvenuto su <a href="%1">%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Compra la versione completa</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Scrivi</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>una parola chiave</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canale</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>per iniziare a guardare i video.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Guarda</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Ultime ricerche</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Ultimi canali</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Mettiti comodo</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Indietro</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Avanza a %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Torna a %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Raffina la ricerca</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Forse cercavi: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Più condivisi</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Più discussi</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Più votati</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Errore di rete: %1 per %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Algeria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentina</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Australia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgio</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brasile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Canada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Cile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Colombia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Repubblica Ceca</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egitto</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Francia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Germania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Grecia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Ungheria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>India</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonesia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Irlanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Israele</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Italia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Giappone</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Giordania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Kenya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malaysia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Messico</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Marocco</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Olanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Nuova Zelanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigeria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Perù</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filippine</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polonia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Russia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Arabia Saudita</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapore</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Sudafrica</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Corea del Sud</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Spagna</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Svezia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Taiwan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunisia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Turchia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Emirati Arabi Uniti</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Regno Unito</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Yemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Tutto il mondo</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ja_JP" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutView</name>
+ <message>
+ <location filename="src/aboutview.cpp" line="32"/>
+ <source>There's life outside the browser!</source>
+ <translation>Webブラウザなしでも大丈夫!</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="33"/>
+ <source>Version %1</source>
+ <translation>バージョン %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はフリーソフトウェアですが、開発には貴重な時間が費やされています。</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="43"/>
+ <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="47"/>
+ <source>You may want to try my other apps as well:</source>
+ <translation>私が作った他のアプリケーションにも興味がありますか。</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="50"/>
+ <source>%1, a YouTube music player</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="54"/>
+ <source>%1, a music player</source>
+ <translation>%1, ミュージックプレイヤー</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="60"/>
+ <source>Translate %1 to your native language using %2</source>
+ <translation>%2を使って、%1をあなたの母語に翻訳してください。</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="65"/>
+ <source>Icon designed by %1.</source>
+ <translation>アイコンは%1さんのデザインです。</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="69"/>
+ <source>Released under the <a href='%1'>GNU General Public License</a></source>
+ <translation><a href='%1'>GNU General Public License</a>で配布されます</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="84"/>
+ <source>&Close</source>
+ <translation>閉じる(&C)</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.h" line="17"/>
+ <source>About</source>
+ <translation>プログラムについて</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>%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>&Email:</source>
+ <translation>メール(&E):</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>コード(&C):</translation>
+ </message>
+</context>
+<context>
+ <name>ActivationView</name>
+ <message>
+ <location filename="local/src/activationview.cpp" line="47"/>
+ <source>Please license %1</source>
+ <translation type="unfinished"/>
+ </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>ライセンスを入力</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</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="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/秒</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="340"/>
+ <source>KB/sec</source>
+ <translation>KB/秒</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="343"/>
+ <source>MB/sec</source>
+ <translation>MB/秒</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="349"/>
+ <source>seconds</source>
+ <translation>秒</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="352"/>
+ <source>minutes</source>
+ <translation>分</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="355"/>
+ <source>%4 %5 remaining</source>
+ <translation>残り %4 %5</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>これは %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 type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="63"/>
+ <source>Continue</source>
+ <translation>続ける</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="64"/>
+ <source>Get the full version</source>
+ <translation>製品版を入手する。</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="150"/>
+ <source>%1 downloaded in %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="153"/>
+ <source>Download finished</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <location filename="src/downloadmanager.cpp" line="159"/>
+ <source>%n Download(s)</source>
+ <translation type="unfinished"><numerusform></numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>DownloadSettings</name>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="15"/>
+ <source>Change location...</source>
+ <translation>場所を変更...</translation>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="47"/>
+ <source>Choose the download location</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="59"/>
+ <source>Download location changed.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="61"/>
+ <source>Current downloads will still go in the previous location.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="72"/>
+ <source>Downloading to: %1</source>
+ <translation type="unfinished"/>
+ </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>ダウンロード</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>再生</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="17"/>
+ <source>Pause</source>
+ <translation>一時停止</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="18"/>
+ <source>Play/Pause</source>
+ <translation>再生/一時停止</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="19"/>
+ <source>Stop</source>
+ <translation>停止</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="20"/>
+ <source>Stop playing after current track</source>
+ <translation>現在の曲が終わったら停止</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="21"/>
+ <source>Next track</source>
+ <translation>次の曲</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="22"/>
+ <source>Previous track</source>
+ <translation>前の曲</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="23"/>
+ <source>Increase volume</source>
+ <translation>音量を上げる</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="24"/>
+ <source>Decrease volume</source>
+ <translation>音量を下げる</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="25"/>
+ <source>Mute</source>
+ <translation>ミュート</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="26"/>
+ <source>Seek forward</source>
+ <translation>後方へ</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="27"/>
+ <source>Seek backward</source>
+ <translation>前方へ</translation>
+ </message>
+</context>
+<context>
+ <name>HomeView</name>
+ <message>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>検索</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>さあリラックスしましょう</translation>
+ </message>
+</context>
+<context>
+ <name>LoadingWidget</name>
+ <message>
+ <location filename="src/loadingwidget.cpp" line="90"/>
+ <source>Error</source>
+ <translation>エラー</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="src/mainwindow.cpp" line="213"/>
+ <source>&Stop</source>
+ <translation>ストップ(&S)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="214"/>
+ <source>Stop playback and go back to the search view</source>
+ <translation>再生を停止させて、検索ビューに戻ります</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="232"/>
+ <source>S&kip</source>
+ <translation>スキップ(&k)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="233"/>
+ <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"/>
+ <source>&Pause</source>
+ <translation>一時停止(&P)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
+ <source>Pause playback</source>
+ <translation>再生を一時停止します</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="246"/>
+ <source>&Full Screen</source>
+ <translation>フルスクリーン(&F)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="247"/>
+ <source>Go full screen</source>
+ <translation>フルスクリーン</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="263"/>
+ <source>Hide the playlist and the toolbar</source>
+ <translation>プレイリストとツールバーを隠す</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="276"/>
+ <source>Go to the YouTube video page and pause playback</source>
+ <translation>一時停止してYouTubeのページを開きます</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="283"/>
+ <source>Copy the current video YouTube link to the clipboard</source>
+ <translation>このビデオのYouTubeページへのリンクをクリップボードにコピーします</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="290"/>
+ <source>Copy the current video stream URL to the clipboard</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="297"/>
+ <source>Find other video parts hopefully in the right order</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="303"/>
+ <source>&Remove</source>
+ <translation>削除(&R)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="304"/>
+ <source>Remove the selected videos from the playlist</source>
+ <translation>プレイリストから選択した動画を削除</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="310"/>
+ <source>Move &Up</source>
+ <translation>上へ(&U)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="311"/>
+ <source>Move up the selected videos in the playlist</source>
+ <translation>選択した動画をプレイリスト内で上へ移動させます</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="317"/>
+ <source>Move &Down</source>
+ <translation>下へ(&D)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="318"/>
+ <source>Move down the selected videos in the playlist</source>
+ <translation>選択した動画をプレイリスト内で下へ移動させます</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="329"/>
+ <source>Clear the search history. Cannot be undone.</source>
+ <translation>検索履歴を削除します。取り消しは出来ません。</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="334"/>
+ <source>&Quit</source>
+ <translation>終了(&Q)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="337"/>
+ <source>Bye</source>
+ <translation>プログラムを終了</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="341"/>
+ <source>&Website</source>
+ <translation>&Webページへ</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="343"/>
+ <source>%1 on the Web</source>
+ <translation>%1のWebページを開きます</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="349"/>
+ <source>Please support the continued development of %1</source>
+ <translation>%1の開発をサポートしてください!</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="354"/>
+ <source>&About</source>
+ <translation>プログラムについて(&A)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="356"/>
+ <source>Info about %1</source>
+ <translation>%1について</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="364"/>
+ <source>Search</source>
+ <translation>検索</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="383"/>
+ <source>Mute volume</source>
+ <translation>ミュートにする</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
+ <source>&Downloads</source>
+ <translation>ダウンロード(&D)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="413"/>
+ <source>Show details about video downloads</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="421"/>
+ <source>&Download</source>
+ <translation>ダウンロード(&D)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="422"/>
+ <source>Download the current video</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="441"/>
+ <source>Share the current video using %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="458"/>
+ <source>&Email</source>
+ <translation>メール(&E)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="459"/>
+ <source>Email</source>
+ <translation>メール</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="463"/>
+ <source>&Close</source>
+ <translation>閉じる(&C)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="473"/>
+ <source>&Float on Top</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="478"/>
+ <source>&Stop After This Video</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="485"/>
+ <source>&Report an Issue...</source>
+ <translation>問題点を報告(&R)...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="489"/>
+ <source>&Refine Search...</source>
+ <translation type="unfinished"/>
+ </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>&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>&Application</source>
+ <translation>アプリケーション(&A)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="515"/>
+ <source>Buy %1...</source>
+ <translation>%1 を購入...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="558"/>
+ <source>&Playback</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="572"/>
+ <source>&Playlist</source>
+ <translation>プレイリスト(&P)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="581"/>
+ <source>&Video</source>
+ <translation>動画(&V)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="594"/>
+ <source>&View</source>
+ <translation>表示(&V)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="601"/>
+ <source>&Share</source>
+ <translation>共有(&S)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="615"/>
+ <source>&Help</source>
+ <translation>ヘルプ(&H)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="690"/>
+ <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"/>
+ <source>Opening %1</source>
+ <translation>%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 type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="937"/>
+ <source>If you close %1 now, this download will be cancelled.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="942"/>
+ <source>Close and cancel download</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="943"/>
+ <source>Wait for download to finish</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1102"/>
+ <source>Leave &Full Screen</source>
+ <translation>フルスクリーンモードを終了する(&F)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1475"/>
+ <source>%1 version %2 is now available.</source>
+ <translation>%1 バージョン %2 が利用可能です</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1479"/>
+ <source>Remind me later</source>
+ <translation>あとで通知する</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1480"/>
+ <source>Update</source>
+ <translation>更新</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="982"/>
+ <source>Error: %1</source>
+ <translation>エラー: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="222"/>
+ <source>P&revious</source>
+ <translation>前へ(&R)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="223"/>
+ <source>Go back to the previous track</source>
+ <translation>前の曲へ飛びます</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="262"/>
+ <source>&Compact Mode</source>
+ <translation>コンパクト モード(&C)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="275"/>
+ <source>Open the &YouTube Page</source>
+ <translation>YouTube のページを開く(&Y)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="282"/>
+ <source>Copy the YouTube &Link</source>
+ <translation>YouTube のリンクをコピー(&L)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="289"/>
+ <source>Copy the Video Stream &URL</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="296"/>
+ <source>Find Video &Parts</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="324"/>
+ <source>&Clear Recent Searches</source>
+ <translation>最近の検索を消去(&C)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="348"/>
+ <source>Make a &Donation</source>
+ <translation>寄付する(&D)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="405"/>
+ <source>&Manually Start Playing</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="406"/>
+ <source>Manually start playing videos</source>
+ <translation type="unfinished"/>
+ </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>&Play</source>
+ <translation>再生(&P)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1003"/>
+ <source>Resume playback</source>
+ <translation>再生再開します</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1236"/>
+ <source>Remaining time: %1</source>
+ <translation>残り時間: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1294"/>
+ <source>Volume at %1%</source>
+ <translation>ボリューム%1%</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1300"/>
+ <source>Volume is muted</source>
+ <translation>音量OFFにしました</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1303"/>
+ <source>Volume is unmuted</source>
+ <translation>音量ONにしました</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1310"/>
+ <source>Maximum video definition set to %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1351"/>
+ <source>Your privacy is now safe</source>
+ <translation>プライバシーは保護されています</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1366"/>
+ <source>Downloads complete</source>
+ <translation>ダウンロード完了</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>YouTube のリンクを別のアプリケーションに貼り付けることができます</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="561"/>
+ <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"/>
+ <source>The link will be valid only for a limited time.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="636"/>
+ <source>This is just the demo version of %1.</source>
+ <translation>これは %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>アプリケーションのテストや動作確認にご利用いただけます。</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="667"/>
+ <source>Continue</source>
+ <translation>続ける</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 type="unfinished"/>
+ </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 type="unfinished"/>
+ </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 type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="847"/>
+ <source>Sent from %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="644"/>
+ <source>Get the full version</source>
+ <translation>製品版を入手する。</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="681"/>
+ <source>Downloading %1</source>
+ <translation type="unfinished"/>
+ </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>このバージョンをスキップ</translation>
+ </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>貼り付け</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistItemDelegate</name>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
+ <source>%1 views</source>
+ <translation>%1回 閲覧</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>失敗</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
+ <source>Completed</source>
+ <translation>完了</translation>
+ </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>ダウンロードを停止</translation>
+ </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>親フォルダーを開く</translation>
+ </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>検索中...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>さらに%1エントリ観る</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>見つかりませんでした</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>見つかりませんでした</translation>
+ </message>
+</context>
+<context>
+ <name>RefineSearchWidget</name>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <source>Sort by</source>
+ <translation>並び順</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
+ <source>Relevance</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <source>Date</source>
+ <translation>日付</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
+ <source>View Count</source>
+ <translation>閲覧回数</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
+ <source>Rating</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
+ <source>Anytime</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
+ <source>Today</source>
+ <translation>今日</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
+ <source>7 Days</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
+ <source>30 Days</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
+ <source>Duration</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <source>All</source>
+ <translation>すべて</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
+ <source>Short</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <source>Medium</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <source>Long</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
+ <source>Less than 4 minutes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
+ <source>Between 4 and 20 minutes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
+ <source>Longer than 20 minutes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <source>Quality</source>
+ <translation>品質</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
+ <source>High Definition</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
+ <source>720p or higher</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <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="71"/>
+ <source>Welcome to <a href='%1'>%2</a>,</source>
+ <translation>ようこそ<a href='%1'>%2</a>へ!</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="50"/>
+ <source>Get the full version</source>
+ <translation>製品版を入手する。</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="85"/>
+ <source>Enter</source>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="90"/>
+ <source>a keyword</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="91"/>
+ <source>a channel</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="96"/>
+ <source>to start watching videos.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="120"/>
+ <source>Watch</source>
+ <translation>検索</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="138"/>
+ <source>Recent keywords</source>
+ <translation>最近検索したキーワード</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="151"/>
+ <source>Recent channels</source>
+ <translation>最近のチャンネル</translation>
+ </message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>戻る(&B)</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>%1 に進む</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>%1 に戻る</translation>
+ </message>
+</context>
+<context>
+ <name>SidebarWidget</name>
+ <message>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
+ <source>Refine Search</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
+ <source>Did you mean: %1</source>
+ <translation>もしかして: %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 type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/video.cpp" line="231"/>
+ <source>Network error: %1 for %2</source>
+ <translation>ネットワークエラー: %1 (%2へのアクセスにて)</translation>
+ </message>
+</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>アルジェリア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>アルゼンチン</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>オーストラリア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>ベルギー</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>ブラジル</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>カナダ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>チリ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>コロンビア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>チェコ共和国</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>エジプト</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>フランス</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>ドイツ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>ガーナ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>ギリシャ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>香港</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>ハンガリー</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>インド</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>インドネシア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>アイルランド</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>イスラエル</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>イタリア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>日本</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>ヨルダン</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>ケニア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>マレーシア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>メキシコ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>モロッコ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>オランダ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>ニュージーランド</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>ナイジェリア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>ペルー</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>フィリピン</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>ポーランド</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>ロシア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>サウジアラビア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>シンガポール</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>南アフリカ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>韓国</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>スペイン</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>スウェーデン</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>台湾</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>チュニジア</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>トルコ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>ウガンダ</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>アラブ首長国連邦</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>イギリス</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>イエメン</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>全世界</translation>
+ </message>
+</context>
+</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Ningkene yoiku urip ning njobone browser!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versi %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Sumonggo <a href='%1'>Nyumbang</a> kanggo ndukung kelanjutane pangembangane seko %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <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="41"/>
+ <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="45"/>
+ <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="51"/>
+ <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="56"/>
+ <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="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Dirilis nok ngisore the <a href='%1'>GNU Pusate Lisensine Publik</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Tutup</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Seputarane</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <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>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Resik</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Sumonggo lisensi %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <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/demostartupview.cpp" line="41"/>
+ <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 lengkap mungkinake sampeyan ngunduhi video luwih suwi seko %1 menit lan nggo nonton video tanpo intrupsi.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Iki demone arep enthek ing %1 dino.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Gunakke Demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Entukno versi komplite</translation>
+ <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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bit</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bit/detik</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/detik</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/detik</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>detik</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>menit</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 sisone</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <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="50"/>
+ <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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Terusno</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <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="142"/>
+ <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="145"/>
+ <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="151"/>
+ <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>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>ngGanti lokasi...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <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="61"/>
+ <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="63"/>
+ <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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Ngunduhi reng: %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>ngGoleki...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Nelusuri</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Kethok %1 Luwih</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Ogak video</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Gakono video m'eneh</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Mandheg</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>S&kip</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <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="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Lheren</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <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="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Layar Kebak</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <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="220"/>
+ <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="233"/>
+ <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="240"/>
+ <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="247"/>
+ <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="254"/>
+ <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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&ngGuwak</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mindah &Unggah</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mindah &Mudhun</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <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="286"/>
+ <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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Medhal</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Bye</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Website</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <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="306"/>
+ <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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Tentange</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <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="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Nelusuri</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>mBisukno volumene</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&nDownloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&nDownload</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <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="398"/>
+ <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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Layanginternet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Layanginternet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Tutup</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Ngambang ing Pucuk</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Mandek Sakwise Video Iki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Laporke sakwijining Isu...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Nyaring Penggolekan...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Applikasi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Tuku %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Mbaliknyetel</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Daftar-nyetel</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&nDelok</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Ngedumi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Nulung</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Mbukak'i %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <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="848"/>
+ <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="853"/>
+ <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="854"/>
+ <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="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Ninggalno &LayarKebak</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <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="1377"/>
+ <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="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Kanggo ngentukake pengayarane versi, unduhmomotan %1 meneh seko turutane receivene panjenengan lewat surat lan ngulang install.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Nganyarke</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&revious</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <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="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Mode Praktis</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Mbukak &YouTube Halamane</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Njiplak YouTube &Link</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Njiplak Video Stream &URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Nggoleki Video &Seri</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Ngresiki Penggolekan Sing ketuang</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Nggawe sakwijining &Sumbangan</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Mainke Secoro Manual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <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="908"/>
+ <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>&Play</source>
<translation>&Nyetel</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Nglanjutno nyetel-ulang</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <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="1194"/>
+ <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="1200"/>
+ <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="1203"/>
+ <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="1210"/>
+ <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="1246"/>
+ <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="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Unduhane komplit</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <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="554"/>
+ <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="555"/>
+ <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="654"/>
+ <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="655"/>
+ <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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Nglanjutke</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <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="797"/>
+ <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="867"/>
+ <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="662"/>
+ <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="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Ngunduhi %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Jaringane error: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 Ndeloki</translation>
+ <translation>%1 tampilan</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 of %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Nyiapake</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Gagal</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Komplit</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Mandhekake</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Ngendhekno ngunduhe</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Tampilno ing %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Mbukak map induk</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Ngengulang ngunduhane</translation>
+ <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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Bidik didasarke</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relefan</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Ndeloki Itungane</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Rating</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Kapanwae</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Dinoiki</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 Ndino</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 Dino</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Durasine</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <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="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Cekak</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Sedengan</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Dowo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <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="80"/>
+ <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="81"/>
+ <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="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Kualitas</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Definisi duwur</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <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="118"/>
+ <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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Sugengrawuh kanggo <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <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="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Lebokno</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>sakwiji kata-kunci</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>sakwiji saluran</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <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="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Nonton</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <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="168"/>
+ <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/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>ngGawe awakmu nyaman</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Nyaring Penggolekane</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <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="200"/>
+ <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="218"/>
+ <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
+++ /dev/null
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ka_GE" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
- <name>AboutView</name>
- <message>
- <location filename="src/AboutView.cpp" line="28"/>
- <source>There's life outside the browser!</source>
- <translation>სიცოცხლე ბრაუზერის გარეთ!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>ვერსია %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 უფასო პროგრამაა, მაგრამ მისი შექმნა ძვირფას დროს მოითხოვს.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>გთხოვთ <a href='%1'>გააკეთეთ შემოწირულობა</a> რომ დაეხმაროთ %2 -ის განვითარებას.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <source>You may want to try my other apps as well:</source>
- <translation>თქვენ შეგიძლიათ ცადოთ ჩემი სხვა პროგრამები:</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, Youtube მუსიკალური დამკვრელი</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, მუსიკალური დამკვრელი</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <source>Translate %1 to your native language using %2</source>
- <translation>გადათარგმნეთ %1 თქვენს მშობლიურ ენაზე %2 -ის გამოყენებით</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="56"/>
- <source>Icon designed by %1.</source>
- <translation>ხატულის ავტორია %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>გამოცემა <a href='%1'>GNU General Public License</a> ლიცენზიით</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&დახურვა</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>პროგრამის შესახებ</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <source>What you always wanted to know about %1 and never dared to ask</source>
- <translation>რისი ცოდნა გინდოდა %1 -ის შესახებ და ვერ ბედავდი კითხვას</translation>
- </message>
-</context>
-<context>
- <name>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>გასუფთავება</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>ლიცენზია %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>დემო ვერსიას ვადა გაუვიდა</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <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/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>დემო ვესიას ვადა გაუვა %1 დღეში</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <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/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>დემო ვერსიის გამოყენება</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>სრული ვერსიის ყიდვა</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>ბაიტები</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>კბ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>მბ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>ბაიტი/წმ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>კბ/წმ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>მბ/წმ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>წამები</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>წუთები</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>დარჩა %4 %5</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <source>This is just the demo version of %1.</source>
- <translation>ეს %1 -ის მხოლოდ დემო ვერსიაა.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>გაგრძელება</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>მთლიანი ვერსიის გადმოწერა</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <source>%n Download(s)</source>
- <translation type="unfinished"><numerusform></numerusform></translation>
- </message>
-</context>
-<context>
- <name>DownloadSettings</name>
- <message>
- <location filename="src/downloadsettings.cpp" line="14"/>
- <source>Change location...</source>
- <translation>ადგილმდებარეობის შეცვლა</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>მიუთითეთ გადმოწერის ადგილმდებარეობის </translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>გადმოწერის ადგილმდებარეობა შეცვლილია.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <source>Current downloads will still go in the previous location.</source>
- <translation>ახლანდელი გადმოწერები ისევ ძველ დირექტორიაში შეინახებიან.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="75"/>
- <source>Downloading to: %1</source>
- <translation>ფაილები ინახება: %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>გადმოწერები</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>დაკვრა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>პაუზა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>დაკვრა/პაუზა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>შეჩერება</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>დაკვრის დასრულება ამ სიმღერის შემდეგ.</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>შემდეგი სიმღერა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>წინა სიმღერა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>ხმის აწევა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>ხმის დაწევა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>გაჩუმება</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>წინ გადახვევა</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>უკან გ ადახვევა</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>ვძებნი...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>მანახე კიდევ %1</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>ვიდეოები არ არის</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>მეტი ვიდეოები აღარ არის</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>შეცდომა</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&შეჩერება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <source>Stop playback and go back to the search view</source>
- <translation>დაკვრის შეჩერება და ძებნის ფორმაში გადასვლა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="189"/>
- <source>S&kip</source>
- <translation>პ&შემდეგი</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>შემდეგ ვიდეოზე გადასვლა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&პაუზა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation> დაკვრის დაპაუზება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&მთლიან ეკრანზე</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>მთლიან ეკრანზე გაშლა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>ვიდეოების სიის და პანელის დამალვა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <source>Go to the YouTube video page and pause playback</source>
- <translation>YouTube-ს გვერდზე გადასვლა და დაკვრის შეჩერება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="240"/>
- <source>Copy the current video YouTube link to the clipboard</source>
- <translation>YouTube-ს ბმულის კოპირება ბუფერში</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="247"/>
- <source>Copy the current video stream URL to the clipboard</source>
- <translation>ამ ვიდეო ნაკადის შენახვა ბუფერში</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="254"/>
- <source>Find other video parts hopefully in the right order</source>
- <translation>ვიდეოს სხვა ნაწილების მოძებნა სწორი განლაგებით</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="260"/>
- <source>&Remove</source>
- <translation>&წაშლა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>მონიშნული ვიდეოების სიიდან ამოშლა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>&ზემოთ აწევა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <source>Move up the selected videos in the playlist</source>
- <translation>მონიშნული ვიდეოების გადატანა მაღლა აწევა სიაში</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="274"/>
- <source>Move &Down</source>
- <translation>&ქვემოთ ჩაწევა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <source>Move down the selected videos in the playlist</source>
- <translation>მონიშნული ვიდეოების გადატანა დაბლა დაწევა სიაში</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="286"/>
- <source>Clear the search history. Cannot be undone.</source>
- <translation>ძებნის ისტორიის გასუფთავება. </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="291"/>
- <source>&Quit</source>
- <translation>&დასრულება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>ნახვამდის</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>&საიტი</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 საიტზე</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <source>Please support the continued development of %1</source>
- <translation>გთხოვთ მხარი დაუჭიროთ %1 -ის დეველოპმენტს</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="311"/>
- <source>&About</source>
- <translation>&შესახებ</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>ინფორმაცია %1 შესახებ</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>ძებნა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>გაჩუმება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>$გადმოწერები</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>ვიდეოების გადმოწერების დეტალური ნახვა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&გადმოწერა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>ამ ვიდეოს გადმოწერა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>ვიდეოს გაზიარება %1 -ის გამოყენებით</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&ელფოსტა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>ელფოსტა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&დახურვა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&ზემოთ განთავსება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>ამ ვიდეოს შემდეგ &შეჩერება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&აპლიკაცია</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>იყიდეთ %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&დაკვრა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&ვიდეოების სია</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&ვიდეო</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&ხედი</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&გაზიარება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&დახმარება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <source>Press %1 to raise the volume, %2 to lower it</source>
- <translation>ხმის ასაჭერად დააჭირე ღილაკს %1 და დასაწევად %2</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>იხსნება %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <source>Do you want to exit %1 with a download in progress?</source>
- <translation>თქვენ გინდათ დახუროთ %1 გადმოწერის პროცესში?</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="848"/>
- <source>If you close %1 now, this download will be cancelled.</source>
- <translation>თუ თქვენ დახურავთ %1 -ს, ეს გადმოწერა შეწყდება.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="853"/>
- <source>Close and cancel download</source>
- <translation>დახურვა და გადმოწერის შეწყვეტა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>გადმოწერის დასრულებამდე მოცდა.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>მთლიანი ეკრანის რეჟიმის დატოვება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>%1 ვერსია %2 უკვე ხელმისაწვდომია.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>მოგვიანებით შეხსენება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>განახლებული ვერსიი მისარებად, ისევ გადმოიწერეთ %1 ბმულიდან რომელიც მოგივიდათ ელფოსტაზე და გაუკეთეთ რეინსტალაცია.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>განახლება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>შეცდომა: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>პ&წინა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>წინა ბილიკზე დაბრუნება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>&კომპაქტური ხედი</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>გახსენი &YouTube-ს გვერდი</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>YouTube-ს &ბმულის დაკოპირება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>ვიდეოს ნაკადის &ბმულის დაკოპირება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>მოძებნე ვიდეოს &ნაწილები</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>&გაასუფთავე ბოლო ძებნები</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>&შემოწირულობის გაკეთება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>დაკვრის დაწყება &ხელით </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>ხელით ვიდეოს დაკვრის დაწყება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&დაკვრა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>დაკვრის გაგრძელება</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>დარჩენილი დრო %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>ხმის სიმაღლე %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>ხმა გამორთულია</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>ხმა ჩართულია</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>ვიდეოს მაქსიმალური გაფართოებაა არის %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>თქვენი პირადი პარამეტრები ახლა უსაფრთხოა</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>გადმოწერები დასრულებულია</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <source>You can now paste the YouTube link into another application</source>
- <translation>თქვენ უკვე შეგიძლიათ ჩასვათ YouTube-ს ბმული სხვა აპლიკაციაში</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="554"/>
- <source>You can now paste the video stream URL into another application</source>
- <translation>თქვენ უკვე სეგიძლიად დააკოპიროთ ვიდეოს ბმული სხვა აპლიკაციაში</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="555"/>
- <source>The link will be valid only for a limited time.</source>
- <translation>ეს ბმული ვალიდური იქნება მხოლოდ გარკვეული დროის განმავლობაში.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="654"/>
- <source>This is just the demo version of %1.</source>
- <translation>ეს მხოლოდ %1 -ის დემო ვერსიაა.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>გაგრძელება</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <source>of</source>
- <comment>Used in video parts, as in '2 of 3'</comment>
- <translation>გან</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>გამოგზავნილია %1 -დან</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>სრული ვერსიის გადმოწერა</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>ვტვირთავ %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>ქსელის შეცდომა: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 ნახვა</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>გადმოწერილია %1 %2 -დან (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>მიმდინარეობს მზადება</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>შეცდომა</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>დასრულებულია</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>შეჩერებულია</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>გადმოწერის შეჩერება</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>ანახე %1 -ში</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>დირექტორიის გახსნა</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>გადმოწერის თავიდან დაწყება</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <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 <a href='%1'>%2</a>,</source>
- <translation>მოგესალმებით <a href='%1'>%2 -ში</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>სრული ვერსიის ყიდვა</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>შეიყვანეთ</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>საკვანძო სიტყვა</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>არხი</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>ვიდეოს ყურების დასაწყებად</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>ყურება</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>ბოლო საკვანძო სიტყვები</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>ბოლო არხები</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>შეიქმენით კომფორტი</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <source>Cannot get video stream for %1</source>
- <translation>%1 -ის ვიდეო ნაკადი მიუწვდომელია</translation>
- </message>
- <message>
- <location filename="src/video.cpp" line="218"/>
- <source>Network error: %1 for %2</source>
- <translation>ქსელის შეცდომა: %1 %2 -ზე</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ky" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutView</name>
+ <message>
+ <location filename="src/aboutview.cpp" line="32"/>
+ <source>There's life outside the browser!</source>
+ <translation>Браузердин тышындагы жашоо!</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="33"/>
+ <source>Version %1</source>
+ <translation>Версия %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Лицензияланган: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
+ <source>%1 is Free Software but its development takes precious time.</source>
+ <translation>%1 деген эркин ПК, бирок анын иштетүүсү өтө көп убакытымды алат.</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="43"/>
+ <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
+ <translation>Сизден өтүнөм, %2'ка <a href='%1'>тартуу кылып</a> мындан аркы иштетүүсүн колдоп бериңиз .</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="47"/>
+ <source>You may want to try my other apps as well:</source>
+ <translation>Сиз менин дагы башка тиркемелеримди карап көрсөңүз болот:</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="50"/>
+ <source>%1, a YouTube music player</source>
+ <translation>%1, YouTube музыка ойноткучу</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="54"/>
+ <source>%1, a music player</source>
+ <translation>%1, музыка ойноткучу</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="60"/>
+ <source>Translate %1 to your native language using %2</source>
+ <translation>%1'ту %2 аркылуу сиздин эне тилиңизге которуу</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="65"/>
+ <source>Icon designed by %1.</source>
+ <translation>Иконканын автору %1.</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="69"/>
+ <source>Released under the <a href='%1'>GNU General Public License</a></source>
+ <translation><a href='%1'>GNU General Public License</a> шартында чыгарылган</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="84"/>
+ <source>&Close</source>
+ <translation>&Жабуу</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.h" line="17"/>
+ <source>About</source>
+ <translation>Программа жөнүндө</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>%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>&Email:</source>
+ <translation>&E-mail:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Код:</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>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="322"/>
+ <source>bytes</source>
+ <translation>байт</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="325"/>
+ <source>KB</source>
+ <translation>КБ</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="328"/>
+ <source>MB</source>
+ <translation>МБ</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="337"/>
+ <source>bytes/sec</source>
+ <translation>байт/сек</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="340"/>
+ <source>KB/sec</source>
+ <translation>КБ/сек</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="343"/>
+ <source>MB/sec</source>
+ <translation>МБ/сек</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="349"/>
+ <source>seconds</source>
+ <translation>секунда</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="352"/>
+ <source>minutes</source>
+ <translation>мүнөт</translation>
+ </message>
+ <message>
+ <location filename="src/downloaditem.cpp" line="355"/>
+ <source>%4 %5 remaining</source>
+ <translation>%4 %5 калды</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>Бул программа %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>Жүктөө функционалдуулугун текшерүү үчүн, бул %1 мүнөттөн кыскараак видеолорду гана жүктөп бере алат.</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="63"/>
+ <source>Continue</source>
+ <translation>Улантуу</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="64"/>
+ <source>Get the full version</source>
+ <translation>Толук версиясын алуу</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="150"/>
+ <source>%1 downloaded in %2</source>
+ <translation>%1 файлы %2 жерине жүктөлдү</translation>
+ </message>
+ <message>
+ <location filename="src/downloadmanager.cpp" line="153"/>
+ <source>Download finished</source>
+ <translation>Жүктөп алуу аякталды</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="src/downloadmanager.cpp" line="159"/>
+ <source>%n Download(s)</source>
+ <translation type="unfinished"><numerusform></numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>DownloadSettings</name>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="15"/>
+ <source>Change location...</source>
+ <translation>Жүктөө жерин өзгөртүү...</translation>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="47"/>
+ <source>Choose the download location</source>
+ <translation>Жүктөө жерин тандоо</translation>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="59"/>
+ <source>Download location changed.</source>
+ <translation>Жүктөп алуу жери өзгөртүлдү.</translation>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="61"/>
+ <source>Current downloads will still go in the previous location.</source>
+ <translation>Кезектеги жүктөөлөр мурунку жеринде сакталат.</translation>
+ </message>
+ <message>
+ <location filename="src/downloadsettings.cpp" line="72"/>
+ <source>Downloading to: %1</source>
+ <translation>Жүктөлүп жаткан жери: %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>Жүктөөлөр</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="16"/>
+ <source>Play</source>
+ <translation>Ойнотуу</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="17"/>
+ <source>Pause</source>
+ <translation>Бир азга токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="18"/>
+ <source>Play/Pause</source>
+ <translation>Ойнотуу/Бир азга токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="19"/>
+ <source>Stop</source>
+ <translation>Токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="20"/>
+ <source>Stop playing after current track</source>
+ <translation>Кезектеги жолчодон кийин ойнотууну токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="21"/>
+ <source>Next track</source>
+ <translation>Кийинки жолчо</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="22"/>
+ <source>Previous track</source>
+ <translation>Мурунку жолчо</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="23"/>
+ <source>Increase volume</source>
+ <translation>Катуураак</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="24"/>
+ <source>Decrease volume</source>
+ <translation>Акырыныраак</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="25"/>
+ <source>Mute</source>
+ <translation>Басаңдатуу</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="26"/>
+ <source>Seek forward</source>
+ <translation>Алга түрүү</translation>
+ </message>
+ <message>
+ <location filename="src/globalshortcuts.cpp" line="27"/>
+ <source>Seek backward</source>
+ <translation>Артка түрүү</translation>
+ </message>
+</context>
+<context>
+ <name>HomeView</name>
+ <message>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Издөө</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>Ачкыч сөз менен видеолорду жана каналдарды табыңыз</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Сереп</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Видеолорду категория боюнча кароо</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Өз үйүңүздөгүдөй болуңуз</translation>
+ </message>
+</context>
+<context>
+ <name>LoadingWidget</name>
+ <message>
+ <location filename="src/loadingwidget.cpp" line="90"/>
+ <source>Error</source>
+ <translation>Ката</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="src/mainwindow.cpp" line="213"/>
+ <source>&Stop</source>
+ <translation>&Токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="214"/>
+ <source>Stop playback and go back to the search view</source>
+ <translation>Ойнотууну токтотуп издөө көрүнүшүнө кайтуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="232"/>
+ <source>S&kip</source>
+ <translation>&Өткөрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="233"/>
+ <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"/>
+ <source>&Pause</source>
+ <translation>&Бир азга токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
+ <source>Pause playback</source>
+ <translation>Ойнотууну бир азга токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="246"/>
+ <source>&Full Screen</source>
+ <translation>&Толук экран</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="247"/>
+ <source>Go full screen</source>
+ <translation>Толук экран режимине өтүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="263"/>
+ <source>Hide the playlist and the toolbar</source>
+ <translation>Ойнотуу тизмесин жана аспап панелин жашыруу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="276"/>
+ <source>Go to the YouTube video page and pause playback</source>
+ <translation>Видеонун YouTube барагына өтүү жана ойнотууну бир азга токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="283"/>
+ <source>Copy the current video YouTube link to the clipboard</source>
+ <translation>Кезектеги видеонун YouTube шилтемесин алмашуу буферине көчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="290"/>
+ <source>Copy the current video stream URL to the clipboard</source>
+ <translation>Кезектеги видео агымдын дарегин алмашуу буферине көчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="297"/>
+ <source>Find other video parts hopefully in the right order</source>
+ <translation>Видеонун башка бөлүктөрүн үмүт кылып туура ирети менен табуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="303"/>
+ <source>&Remove</source>
+ <translation>&Өчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="304"/>
+ <source>Remove the selected videos from the playlist</source>
+ <translation>Тандалган видеолорду ойнотуу тизмесинен өчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="310"/>
+ <source>Move &Up</source>
+ <translation>&Өйдө</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="311"/>
+ <source>Move up the selected videos in the playlist</source>
+ <translation>Тандалган видеолорду ойнотуу тизмесинен өйдө жылдыруу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="317"/>
+ <source>Move &Down</source>
+ <translation>&Ылдый</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="318"/>
+ <source>Move down the selected videos in the playlist</source>
+ <translation>Тандалган видеолорду ойнотуу тизмесинен ылдый жылдыруу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="329"/>
+ <source>Clear the search history. Cannot be undone.</source>
+ <translation>Издөө тарыхын тазалоо. Өзгөртүүлөр кайталанбас.</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="334"/>
+ <source>&Quit</source>
+ <translation>&Чыгуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="337"/>
+ <source>Bye</source>
+ <translation>Кош болуңуз</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="341"/>
+ <source>&Website</source>
+ <translation>&Веб-сайт</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="343"/>
+ <source>%1 on the Web</source>
+ <translation>%1 интернетте</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="349"/>
+ <source>Please support the continued development of %1</source>
+ <translation>%1'дун мындан аркы иштетүүсүн колдоп бериңиз</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="354"/>
+ <source>&About</source>
+ <translation>Программа &жөнүндө</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="356"/>
+ <source>Info about %1</source>
+ <translation>%1 жөнүндө маалымат</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="364"/>
+ <source>Search</source>
+ <translation>Издөө</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="383"/>
+ <source>Mute volume</source>
+ <translation>Үндү өчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
+ <source>&Downloads</source>
+ <translation>&Жүктөөлөр</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="413"/>
+ <source>Show details about video downloads</source>
+ <translation>Видео жүктөөлөрү жөнүндө кошумча маалымат көрсөтүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="421"/>
+ <source>&Download</source>
+ <translation>&Жүктөп алуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="422"/>
+ <source>Download the current video</source>
+ <translation>Кезектеги видеону жүктөп алуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="441"/>
+ <source>Share the current video using %1</source>
+ <translation>Кезектеги видеону %1 аркылуу бөлүшүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="458"/>
+ <source>&Email</source>
+ <translation>&E-mail</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="459"/>
+ <source>Email</source>
+ <translation>E-mail</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="463"/>
+ <source>&Close</source>
+ <translation>&Жабуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="473"/>
+ <source>&Float on Top</source>
+ <translation>Үстүнөн &калкытуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="478"/>
+ <source>&Stop After This Video</source>
+ <translation>Бул видеодон кийин &токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="485"/>
+ <source>&Report an Issue...</source>
+ <translation>Ката жөнүндө &маалымдоо...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="489"/>
+ <source>&Refine Search...</source>
+ <translation>Издөөнү &тактоо...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Дагы...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>&Байланыштуу видеолор</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <source>Watch videos related to the current one</source>
+ <translation>Кезектегиге байланыштуу видеону көрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="544"/>
+ <source>&Application</source>
+ <translation>&Тиркеме</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="515"/>
+ <source>Buy %1...</source>
+ <translation>%1'ту сатып алуу...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="558"/>
+ <source>&Playback</source>
+ <translation>&Ойнотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="572"/>
+ <source>&Playlist</source>
+ <translation>Ойнотуу &тизмеси</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="581"/>
+ <source>&Video</source>
+ <translation>&Видео</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="594"/>
+ <source>&View</source>
+ <translation>&Көрүнүш</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="601"/>
+ <source>&Share</source>
+ <translation>&Бөлүшүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="615"/>
+ <source>&Help</source>
+ <translation>&Жардам</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="690"/>
+ <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"/>
+ <source>Opening %1</source>
+ <translation>%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>Жүктөп алуу болуп жаткан кезде %1'дан чыккыңыз келеби?</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="937"/>
+ <source>If you close %1 now, this download will be cancelled.</source>
+ <translation>Эгер сиз %1'ту азыр жапсаңыз, бул жүктөп алуу жокко чыгарылат.</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="942"/>
+ <source>Close and cancel download</source>
+ <translation>Жабуу жана жүктөп алууну жокко чыгаруу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="943"/>
+ <source>Wait for download to finish</source>
+ <translation>Жүктөп алуунун аяктоосун күтүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1102"/>
+ <source>Leave &Full Screen</source>
+ <translation>&Толук экран режиминен чыгуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1475"/>
+ <source>%1 version %2 is now available.</source>
+ <translation>%1 версия %2 азыркы кезде колго жетердик.</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1479"/>
+ <source>Remind me later</source>
+ <translation>Кечирээк эске салуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1480"/>
+ <source>Update</source>
+ <translation>Жаңыртуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="982"/>
+ <source>Error: %1</source>
+ <translation>Ката: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="222"/>
+ <source>P&revious</source>
+ <translation>&Мурунку</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="223"/>
+ <source>Go back to the previous track</source>
+ <translation>Мурунку жолчого кайтуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="262"/>
+ <source>&Compact Mode</source>
+ <translation>&Компакт режими</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="275"/>
+ <source>Open the &YouTube Page</source>
+ <translation>&YouTube барагын ачуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="282"/>
+ <source>Copy the YouTube &Link</source>
+ <translation>YouTube &шилтемесин көчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="289"/>
+ <source>Copy the Video Stream &URL</source>
+ <translation>Видео агымдын &шилтемесин көчүрүү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="296"/>
+ <source>Find Video &Parts</source>
+ <translation>Видео &фрагменттерди табуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="324"/>
+ <source>&Clear Recent Searches</source>
+ <translation>Соңку издөөлөрдү &тазалоо</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="348"/>
+ <source>Make a &Donation</source>
+ <translation>&Тартуу кылуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="405"/>
+ <source>&Manually Start Playing</source>
+ <translation>Ойнотууну &кол менен баштатуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="406"/>
+ <source>Manually start playing videos</source>
+ <translation>Видео ойнотууну кол менен баштатуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Мазмундун турган жерин тандаңыз</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
+ <source>&Play</source>
+ <translation>&Ойнотуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1003"/>
+ <source>Resume playback</source>
+ <translation>Ойнотууну улантуу</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1236"/>
+ <source>Remaining time: %1</source>
+ <translation>Калган убакыт: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1294"/>
+ <source>Volume at %1%</source>
+ <translation>Катуулук %1%</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1300"/>
+ <source>Volume is muted</source>
+ <translation>Үн өчүрүлдү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1303"/>
+ <source>Volume is unmuted</source>
+ <translation>Үн күйгүзүлдү</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1310"/>
+ <source>Maximum video definition set to %1</source>
+ <translation>Видеонун чечиминин жогорку чеги: %1</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1351"/>
+ <source>Your privacy is now safe</source>
+ <translation>Жашырындуулугуңуз камсыздалды</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1366"/>
+ <source>Downloads complete</source>
+ <translation>Жүктөп алуу аякталды</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>Эми сиз видеонун YouTube шилтемесин башка тиркемеге коё аласыз</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="561"/>
+ <source>You can now paste the video stream URL into another application</source>
+ <translation>Сиз эми азыр видео агымдын дарегин башка тиркемеге сала аласыз</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="562"/>
+ <source>The link will be valid only for a limited time.</source>
+ <translation>Чакан убакытка чейин гана шилтеме анык болот.</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="636"/>
+ <source>This is just the demo version of %1.</source>
+ <translation>Бул программа %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>Бул тиркемени сынап көргөнгө мүмкүндүк берет.</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="667"/>
+ <source>Continue</source>
+ <translation>Улантуу</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>/</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>бөлүк</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>эпизод</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="847"/>
+ <source>Sent from %1</source>
+ <translation>%1 жеринен жөнөтүү</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="644"/>
+ <source>Get the full version</source>
+ <translation>Толук версиясын алуу</translation>
+ </message>
+ <message>
+ <location filename="src/mediaview.cpp" line="681"/>
+ <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="159"/>
+ <source>%1 views</source>
+ <translation>%1 көрүү</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
+ <source>%1 of %2 (%3) — %4</source>
+ <translation>%1/%2 (%3) — %4</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
+ <source>Preparing</source>
+ <translation>Даярдоо</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
+ <source>Failed</source>
+ <translation>Ката</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
+ <source>Completed</source>
+ <translation>Аякталды</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
+ <source>Stopped</source>
+ <translation>Токтотулду</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
+ <source>Stop downloading</source>
+ <translation>Жүктөп алууну токтотуу</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
+ <source>Show in %1</source>
+ <translation>%1 жеринен көрсөтүү</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
+ <source>Open parent folder</source>
+ <translation>Эне каталогун ачуу</translation>
+ </message>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
+ <source>Restart downloading</source>
+ <translation>Жүктөп алууну кайта баштатуу</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Издөө...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Дагы көрсөтүү %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Видеолор жок</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Дагы видеолор жок</translation>
+ </message>
+</context>
+<context>
+ <name>RefineSearchWidget</name>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <source>Sort by</source>
+ <translation>Сорттоо ыкмасы</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
+ <source>Relevance</source>
+ <translation>Релеванттуулук</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
+ <source>View Count</source>
+ <translation>Көрүү саны</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
+ <source>Rating</source>
+ <translation>Рейтинг</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
+ <source>Anytime</source>
+ <translation>Каалаган убакыт</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
+ <source>Today</source>
+ <translation>Бүгүн</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
+ <source>7 Days</source>
+ <translation>7 күн</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
+ <source>30 Days</source>
+ <translation>30 күн</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
+ <source>Duration</source>
+ <translation>Узундук</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <source>All</source>
+ <translation>Баары</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
+ <source>Short</source>
+ <translation>Кыска</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <source>Medium</source>
+ <translation>Орточо</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <source>Long</source>
+ <translation>Узун</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
+ <source>Less than 4 minutes</source>
+ <translation>4 мүнөттөн кыскараак</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
+ <source>Between 4 and 20 minutes</source>
+ <translation>4 менен 20 мүнөттүн арасынан</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
+ <source>Longer than 20 minutes</source>
+ <translation>20 мүнөттөн көбүрөөк</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <source>Quality</source>
+ <translation>Сапат</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
+ <source>High Definition</source>
+ <translation>Жогорку чечим</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
+ <source>720p or higher</source>
+ <translation>720p же чоңураак</translation>
+ </message>
+ <message>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Даяр</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <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="71"/>
+ <source>Welcome to <a href='%1'>%2</a>,</source>
+ <translation><a href='%1'>%2</a>'ка кош келиңиз,</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="50"/>
+ <source>Get the full version</source>
+ <translation>Толук версиясын сатып алуу</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="85"/>
+ <source>Enter</source>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
+ <translation>Видеолорду</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="90"/>
+ <source>a keyword</source>
+ <translation>ачкыч сөз</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="91"/>
+ <source>a channel</source>
+ <translation>канал</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="96"/>
+ <source>to start watching videos.</source>
+ <translation>менен табып көрүү.</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="120"/>
+ <source>Watch</source>
+ <translation>Көрүү</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="138"/>
+ <source>Recent keywords</source>
+ <translation>Соңку ачкыч сөздөр</translation>
+ </message>
+ <message>
+ <location filename="src/searchview.cpp" line="151"/>
+ <source>Recent channels</source>
+ <translation>Соңку каналдар</translation>
+ </message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Артка</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>%1 алга</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>%1 кайтуу</translation>
+ </message>
+</context>
+<context>
+ <name>SidebarWidget</name>
+ <message>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
+ <source>Refine Search</source>
+ <translation>Издөөнү тактоо</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
+ <source>Did you mean: %1</source>
+ <translation>Муну болжогон жоксузбу: %1</translation>
+ </message>
+</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Көп бөлүшкөндөр</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Көп талкуулангандар</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Мыктылар</translation>
+ </message>
+</context>
+<context>
+ <name>Video</name>
+ <message>
+ <location filename="src/video.cpp" line="213"/>
+ <source>Cannot get video stream for %1</source>
+ <translation>%1 үчүн видео агымды алуу оңунан чыккан жок</translation>
+ </message>
+ <message>
+ <location filename="src/video.cpp" line="231"/>
+ <source>Network error: %1 for %2</source>
+ <translation>Тармак катасы: %1 %2 үчүн</translation>
+ </message>
+</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Алжир</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Аргентина</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Австралия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Белгия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Бразилия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Канада</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Чили</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Колумбия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Чехия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Египт</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Франция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Германия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Гана</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Греция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Гонконг</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Венгрия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>Индия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Индонезия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Ирландия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Израиль</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Италия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Япония</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Иордан</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Кения</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Малайзия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Мексика</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Марокко</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Нидерланддар</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Жаңы Зеландия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Нигерия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Перу</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Филиппиндер</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Польша</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Орусия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Сауд Аравиясы</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Сингапур</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Түштүк Африка</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Түштүк Корея</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Испания</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Швеция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Тайвань</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Тунис</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Түркия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Уганда</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Бириккен Араб Эмираттары</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Улуу Британия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Йемен</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Бүткүл дүйнөлүк</translation>
+ </message>
+</context>
+</TS>
\ No newline at end of file
DEPENDPATH += $$PWD
# ls -1 *.ts | tr '\n' ' '
-TRANSLATIONS += ar.ts ca.ts ca_ES.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 hr.ts hu.ts ia.ts id.ts it.ts jv.ts ka_GE.ts nb.ts nl.ts nn.ts pl.ts pl_PL.ts pt.ts pt_BR.ts ro.ts ru.ts sk.ts sl.ts sq.ts sr.ts sv_SE.ts tr.ts uk_UA.ts zh_CN.ts
+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
isEmpty(QMAKE_LRELEASE) {
win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
+++ /dev/null
-<?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="28"/>
- <source>There's life outside the browser!</source>
- <translation>Det finnes et liv utenfor nettleseren!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Versjon %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <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="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Vennligst <a href='%1'>doner</a> for og støtte videre utvikling av %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <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="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, en musikkspiller for YouTube</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, en musikkspiller</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <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="56"/>
- <source>Icon designed by %1.</source>
- <translation>Ikonet er designet av %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Utgitt under <a href='%1'>GNU General Public License</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Steng</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Om</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <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>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Nullstill</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Vennligst lisensier %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Demoen er utløpt.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
- <translation>Fullversjonen lar deg laste ned videoer lenger enn %1 minutt og se videoer uten avbrytelser.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Demoen utløper om %1 dager.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <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/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Bruk demoen</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Kjøp fullversjonen</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>bytes</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>bytes/sek</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/sek</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/sek</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>sekunder</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>minutter</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 gjenstår</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <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="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>Fortsett</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Kjøp fullversjonen</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <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="14"/>
- <source>Change location...</source>
- <translation>Endre sted ...</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Velg nedlastingsmappe</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Nedlastingsmappe endret.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <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="75"/>
- <source>Downloading to: %1</source>
- <translation>Laster ned til: %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>Nedlastinger</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Spill av</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Pause</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Spill av/Pause</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Stopp</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Stopp avspilling etter denne videoen.</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Neste video</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Forrige video</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Øk lydvolumet</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Senk lydvolumet</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Lydløs</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Søk forover</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Søk bakover</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Søker...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Vis %1 flere</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Ingen videoer</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Ingen flere videoer</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Feil</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Stopp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <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="189"/>
- <source>S&kip</source>
- <translation>&Hopp over</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Hopp til neste video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Pause</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Sett avspilling på pause</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&Fullskjerm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Fullskjermsvisning</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Gjem spillelista og verktøylinja</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <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="240"/>
- <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="247"/>
- <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="254"/>
- <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="260"/>
- <source>&Remove</source>
- <translation>&Fjern</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>Fjern valgte videoer fra spillelista</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>Flytt &opp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <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="274"/>
- <source>Move &Down</source>
- <translation>Flytt &Ned</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <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="286"/>
- <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="291"/>
- <source>&Quit</source>
- <translation>&Avslutt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Farvel</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>&Nettsted</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 på internett</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <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="311"/>
- <source>&About</source>
- <translation>&Om</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Informasjon om %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Søk</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Lydløs</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Nedlastinger</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Vis detaljer om nedlasting av video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Nedlasting</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Last ned denne videoen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Del denne videoen med %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&Epost</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Epost</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Steng</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Vis over andre</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>&Stopp etter denne videoen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>Applikasjon</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Kjøp %1 …</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Avspilling</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Spilleliste</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Visning</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Del</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Hjelp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Åpner %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <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="848"/>
- <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="853"/>
- <source>Close and cancel download</source>
- <translation>Steng og avbryt nedlastingen </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Vent mens nedlastingen fullføres</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Forlat &Full Skjerm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <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="1377"/>
- <source>Remind me later</source>
- <translation>Minn meg på det senere</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Last ned %1 igjen fra lenken du fikk via epost for å få den oppdaterte versjone, og installer så på nytt.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Oppdater</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Feil: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>&Forrige</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Gå til forrige spor</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>&Kompakt modus</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Åpne siden på &YouTube</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Kopier &lenken til YouTube</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>Kopier &URL-en til videostrømmen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Finn &deler av videoen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>T&øm siste søk</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>Gi en &donasjon</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>Start avspillingen &manuelt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Spill av videoer manuelt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Spill av</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Gjenoppta avspilling</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Gjenstående tid: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Volum %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Lydløst er på</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Lydløst er av</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>Maksimum video definisjon innstilling til %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Ditt privatliv er nå sikkert</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Nedlastinger fullført</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <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="554"/>
- <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="555"/>
- <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="654"/>
- <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="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>Fortsett</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <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="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Sent fra %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Kjøp fullversjonen</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Nedlasting %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Feil på nettverk: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 visninger</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 av %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Forbereder</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Feilet</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Fullført</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Stoppet</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Stop nedlasting</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Vis i %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Åpne vertsmappen</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Start nedlastingen på nytt</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </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 <a href='%1'>%2</a>,</source>
- <translation>Velkommen til <a href='%1'>%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Kjøpfullversjon</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Skriv</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>ett nøkkelord</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>en kanal</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>for å begynne avspilling av video</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Se</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Seneste søkeord</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Seneste kanaler</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Finn deg til rette</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <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="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Feil på nettverk: %1 for %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Er is leven buiten de browser!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versie %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 is gratis software, maar de ontwikkeling ervan vergt kostbare tijd.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation><a href='%1'>Doneer</a> om bij te dragen aan de verdere ontwikkeling van %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, een YouTube-muziekspeler</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, een muziekspeler</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Pictogram ontworpen door %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Uitgebracht onder de <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Sluit</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Over</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Wis</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Licenceer alstublieft %1</translation>
+ <translation>Alstublieft, Licenceer %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Deze demo is verlopen.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>De volledige versie zal het mogelijk maken om video's langer dan %1 minuten te bekijken zonder onderbrekingen.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Deze demo zal binnen %1 dagen verlopen.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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>Door dit produkt te kopen beloont u mij voor het harde werk dat ik geïnvesteerd heb in het maken van %1.</translation>
+ <translation>Door dit produkt te kopen beloon je mij voor het harde werk dat ik geïnvesteerd heb in het maken van %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Gebruik demo</translation>
+ <translation>Gebruik de demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Verkrijg de volledige versie</translation>
+ <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>Wis</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>seconden</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minuten</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 resterend</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Ga door</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Verkrijg de volledige versie</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 gedownload in %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Download greed</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Verander locatie...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Kies de downloadlocatie</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Downloadlocatie aangepast.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Downloaden naar:%1</translation>
</message>
<translation>Downloads</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Bezig met zoeken...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Zoek</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Laat %1 meer zien</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Geen video's</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Geen video's meer</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Stop</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Sla over</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Spoel door naar de volgende vieo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pauzeer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pauzeer afspelen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Volledig scherm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Schakel over naar Volledig scherm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Verberg de afspeellijst en de werkbalk</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Verwijder</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>Verwijder de geselecteerde video's uit de afspeellijst</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Verplaats &omhoog</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>Verplaats de geselecteerde video's in de afspeellijst naar boven</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Verplaats &omlaag</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation>Verplaats de geselecteerde video's in de afspeelijst naar beneden</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Sluit af</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Tot ziens</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Website</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 op het internet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Over</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informatie over %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Zoek</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Demp volume</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Downloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Geef details weer van videodownloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Download de huidige video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Sluit</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Zweef erboven</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Stop na deze video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Rapporteer een Probleem...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Verfijn Zoekopdracht...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Programma</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Koop %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Afspeelopties</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Afspeellijst</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Weergave</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Deel</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Help</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Bezig met openen van %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Sluit en annuleer het downloaden</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Wacht tot het downloaden is voltooid</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Verlaat &volledig scherm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 versie %2 nu beschikbaar.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Herinner mij later</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Om de nieuwste versie te verkrijgen. download %1 opnieuw via de link in de e-mail en herinstalleer.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Werk bij</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Fout: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>V&orige</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Ga terug naar het vorige nummer</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Compacte modus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Open de &Youtube-pagina</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Kopieer de YouTube-&link</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Kopieer de videostream-&URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Vind video&fragmenten</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Wis recente zoekopdrachten</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Geef een &donatie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Speel handmatig af</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Speel handmatig video's af</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Speel af</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Hervat afspelen</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Resterende tijd: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volume op %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Volume is gedempt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Volume is niet gedempt</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Maximale videokwaliteit staat op %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Uw privacy is nu gewaarborgd</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Downloads afgerond</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Ga door</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Verstuurd vanaf %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Verkrijg de volledige versie</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Bezig met downloaden van %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Netwerkfout: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 bekeken</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 van %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Bezig met voorbereiden</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Mislukt</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Afgerond</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Gestopt</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Stop het downloaden</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Toon in %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Open oudermap</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Herstart downloaden</translation>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Bezig met zoeken...</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>Geen video's</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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sorteer op</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevantie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Weergaven</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Waardering</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Elke Periode</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Vandaag</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 Dagen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 Dagen</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duur</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Alles</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Kort</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Gemiddeld</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Lang</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Minder dan 4 minuten</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Tussen 4 en 20 minuten</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Langer dan 20 minuten</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Kwaliteit</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>HD Resolutie </translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p of hover</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Klaar</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Welkom bij <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Verkrijg de volledige versie</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Typ</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>een zoekwoord</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>een kanaal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>om te beginnen met het bekijken van video's.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Bekijk</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Recente zoekwoorden</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Recente kanalen</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Ga er lekker voor zitten</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Terug</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Verfijn Zoekopdracht</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Bedoelde je: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Netwerkfout: %1 voor %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
+++ /dev/null
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="nn" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
- <name>AboutView</name>
- <message>
- <location filename="src/AboutView.cpp" line="28"/>
- <source>There's life outside the browser!</source>
- <translation>Det finst eit liv utanfor nettlesaren!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Versjon %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 er fri programvare, men utviklinga tek dyrebar tid.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Ver venleg og <a href='%1'>doner</a> for å støtta vidare utvikling av %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <source>You may want to try my other apps as well:</source>
- <translation>Du er kanskje interessert i å prøva dei andre programma mine:</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, ein musikkspelar for YouTube</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, ein musikkspelar</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <source>Translate %1 to your native language using %2</source>
- <translation>Omset %1 til morsmålet ditt med %2</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="56"/>
- <source>Icon designed by %1.</source>
- <translation>Ikonet er utforma av %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Utgjeve under <a href='%1'>GNU General Public License</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Lukk</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Om</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <source>What you always wanted to know about %1 and never dared to ask</source>
- <translation>Alt du alltid har ynskt å vita om %1, men aldri tort spørja om</translation>
- </message>
-</context>
-<context>
- <name>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Nullstill</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Ver venleg og lisensier %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Demoen har laupt ut.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
- <translation>Den fullstendige utgåva lar deg lasta ned videoar som er meir enn %1 minutt lange, og lar deg sjå videoar utan avbrot.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Denne demoen lauper ut om %1 dagar.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
- <translation>Ved å kjøpa den fullstendige utgåva, støttar du arbeidet lagt inn i å skapa %1.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Bruk demoen</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Kjøp fullversjonen</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>byte</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>byte/sek</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/sek</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/sek</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>sekund</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>minutt</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 gjenstår</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <source>This is just the demo version of %1.</source>
- <translation>Dette er berre demoutgåva av %1.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="50"/>
- <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
- <translation>Han kan berre lasta ned videoar på under %1 minutt, for at du skal kunna prøva ut nedlastingsfunksjonen.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="56"/>
- <source>Continue</source>
- <translation>Hald fram</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Kjøp fullversjonen</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <source>%n Download(s)</source>
- <translation><numerusform>%n nedlasting</numerusform><numerusform>%n nedlastingar</numerusform></translation>
- </message>
-</context>
-<context>
- <name>DownloadSettings</name>
- <message>
- <location filename="src/downloadsettings.cpp" line="14"/>
- <source>Change location...</source>
- <translation>Endra stad …</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Vel nedlastingsmappe</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Nedlastingsmappe endra.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <source>Current downloads will still go in the previous location.</source>
- <translation>Nedlastingar som er i gong vil likevel lagrast i den førre mappa.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="75"/>
- <source>Downloading to: %1</source>
- <translation>Lastar ned til: %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>Nedlastingar</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Spel av</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Pause</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Spel av/pause</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Stopp</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Stopp avspelinga etter denne videoen</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Neste video</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Førre video</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Auk lydvolumet</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Senk lydvolumet</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Lydlaus</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Søk framover</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Søk bakover</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Søkjer …</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Vis %1 fleire</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Ingen videoar</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Ingen fleire videoar</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Feil</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Stopp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <source>Stop playback and go back to the search view</source>
- <translation>Stoppar avspeling og går tilbake til søkjevisinga</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="189"/>
- <source>S&kip</source>
- <translation>&Hopp over</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Hopp til neste video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Pause</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Set avspeling på pause</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&Fullskjerm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Fullskjermvising</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Gøym spelelista og verktøylinja</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <source>Go to the YouTube video page and pause playback</source>
- <translation>Gå til video-sida på YouTube og set avspelinga på pause</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="240"/>
- <source>Copy the current video YouTube link to the clipboard</source>
- <translation>Kopier denne YouTube video-lenkja til utklippstavla</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="247"/>
- <source>Copy the current video stream URL to the clipboard</source>
- <translation>Kopier denne videostraumlenkja til utklippstavla</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="254"/>
- <source>Find other video parts hopefully in the right order</source>
- <translation>Finn andre deler av videoen, vonleg i rett følgje</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="260"/>
- <source>&Remove</source>
- <translation>&Fjern</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>Fjern valde videoar frå spelelista</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>Flytt &opp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <source>Move up the selected videos in the playlist</source>
- <translation>Flytt opp valde videoar i spelelista</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="274"/>
- <source>Move &Down</source>
- <translation>Flytt &ned</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <source>Move down the selected videos in the playlist</source>
- <translation>Flytt ned valde videoar i spelelista</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="286"/>
- <source>Clear the search history. Cannot be undone.</source>
- <translation>Fjern all søkjehistorie. Kan ikkje angrast.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="291"/>
- <source>&Quit</source>
- <translation>&Avslutt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Farvel</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>&Nettstad</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 på internett</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <source>Please support the continued development of %1</source>
- <translation>Vi håpar du kan bidra til vidare utvikling av %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="311"/>
- <source>&About</source>
- <translation>&Om</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Informasjon om %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Søk</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Lydlaus</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Nedlastingar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Vis detaljar om videonedlasting</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Nedlasting</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Last ned denne videoen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Del denne videoen med %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&Epost</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Epost</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Steng</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Vis over andre</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>&Stopp etter denne videoen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Program</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Kjøp %1 …</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Avspeling</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Speleliste</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Vising</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Del</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Hjelp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <source>Press %1 to raise the volume, %2 to lower it</source>
- <translation>Trykk på %1 for å auka lydvolumet, %2 for å senka</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Opnar %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <source>Do you want to exit %1 with a download in progress?</source>
- <translation>Vil du avslutta %1 medan ei nedlasting er i gang?</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="848"/>
- <source>If you close %1 now, this download will be cancelled.</source>
- <translation>Vis du stenger %1 no, vil nedlastinga avbrytast</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="853"/>
- <source>Close and cancel download</source>
- <translation>Steng og avbryt nedlastinga</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Vent medan nedlastinga vert fullførd</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Forlat &fullskjerm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>Versjon %2 av %1 er no tilgjengeleg.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>Minn meg på det seinare</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Last ned %1 igjen frå lenkja du fekk via epost, og installer på nytt, for å få den oppdaterte versjonen.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Oppdater</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Feil: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>&Førre</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Gå til førre spor</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>&Kompakt modus</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Opna &YouTube-sida</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Kopier YouTube-&lenkja</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>Kopier &URL-en til videostraumen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Finn &delane av videoen</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>&Tøm siste søk</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>&Doner</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>Start avspelinga &manuelt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Spel av videoar manuelt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Spel av</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Gjenoppta avspeling</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Tid igjen: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Volum %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Lydlaust er på</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Lydlaust er av</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>Maksimum videodefinisjon sett til %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Privatlivet ditt er no sikkert</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Nedlastingar fullførde</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <source>You can now paste the YouTube link into another application</source>
- <translation>Du kan no lima inn YouTube-lenkja i eit anna program</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="554"/>
- <source>You can now paste the video stream URL into another application</source>
- <translation>Du kan no lima inn videostraumlenkja i eit anna program</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="555"/>
- <source>The link will be valid only for a limited time.</source>
- <translation>Denne lenkja vil berre vera gyldig i ei avgrensa tid.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="654"/>
- <source>This is just the demo version of %1.</source>
- <translation>Dette er berre demoutgåva av %1.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="655"/>
- <source>It allows you to test the application and see if it works for you.</source>
- <translation>Dette lèt prøva ut programmet og sjå om det er noko for deg.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="685"/>
- <source>Continue</source>
- <translation>Hald fram</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <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="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Send frå %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Kjøp fullversjonen</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Lastar ned %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Feil på nettverket: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 visingar</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 av %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Førebur</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Feila</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Ferdig</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Stoppa</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Stopp nedlasting</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Vis i %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Opna vertsmappa</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Start nedlastinga på nytt</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </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 <a href='%1'>%2</a>,</source>
- <translation>Velkomen til <a href='%1'>%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Kjøpfullversjonen</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Skriv</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>eit nøkkelord</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>ein kanal</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>for å å sjå videoar.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Snurr film</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Siste søkjeord</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Siste kanalar</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Finn deg til rette</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <source>Cannot get video stream for %1</source>
- <translation>Kan ikkje henta videostraumen til %1</translation>
- </message>
- <message>
- <location filename="src/video.cpp" line="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Feil på nettverket: %1 for %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Istnieje życie poza przeglądarką!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Wersja %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 jest wolnym oprogramowaniem, ale jego rozwój pochłania cenney czas.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Proszę <a href='%1'>wesprzyj nas darowizną</a> żybyśmy mogli ciągle rozwijać %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Ikony zaprojektowane przez %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Wydane na licencji<a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Zamknij</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>O programie Minitube</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Wyczyść</translation>
+ <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>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation type="unfinished"/>
+ <translation>Proszę licencjonować %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Te demo wygasło.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Pełna wersja pozwoli ci ściągać filmiki dłuższe niż %1 minut i oglądać je bez przycięć.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Te demo wygasa za %1 dni.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Bez licencji ta aplikacja wygaśnie za %1 dni.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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"/>
+ <translation>Przez zakup pełnej wersji wesprzesz również ciężką pracę, którą włożyłem w stworzenie %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Użyj Dema</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Pobierz pełną wersję</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Wprowadź Licencję</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Kup Licencję</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Wyczyść</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bajty</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bajtów/sekundę</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekund</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minut</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<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="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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 jedynie pobierać filmy krótsze niż%1 minut, więc można przetestować funkcje pobierania.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Kontynuuj</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Pobierz pełną wersję</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
- <translation type="unfinished"/>
+ <translation>Pobieranie ukończone</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Zmień katalog pobierania...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Wybierz katalog pobierania</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Katalog pobierania został zmieniony.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Pobierane do: %1</translation>
</message>
<translation>Pobrane pliki</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Ściąganie aktualizacji...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Szukam...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Szukaj</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Pokaż kolejne %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Brak plików</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Przeglądaj</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nie ma więcej plików</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Przeglądaj wideo według kategorii</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Poczuj się komfortowo</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Zatrzymaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>Prze&skocz dalej</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Skocz do następnego pliku wideo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pauza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Wstrzymaj odtwarzanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>Pełny ekran (&F)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Przełącz na pełny ekran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>Usuń (&D)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Przenieś &Wyżej</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Przenieś &Niżej</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Wyczyść historię wyszukiwania. NIEODWRACALNIE.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>Wyjdź (&Q)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Żegnaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Strona domowa projektu (&W)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 w sieci</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>O programie (&A)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informacje o %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Szukaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Wycisz</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Pobrane</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Pokaż szczegóły o pobranych plikach</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Pobierz</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Pobierz aktualny plik</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Zamknij</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Więcej...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplikacje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Kup %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Odtwarzanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Lista odtwarzania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Wideo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Widok</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>Udo&stępnij</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Pomoc</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Otwieranie %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Zamnij i anuluj pobieranie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Poczekaj na zakończenie pobierania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Opuść &tryb pełnoekranowy</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Przypomnij mi później</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Aktualizuj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Błąd %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>Pop&rzedni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Powrót do poprzedniego utworu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
- <translation type="unfinished"/>
+ <translation>Otwórz na &Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
- <translation type="unfinished"/>
+ <translation>Kopiuj adres &URL strumienia wideo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
- <translation type="unfinished"/>
+ <translation>Wy&czyść Ostatnie Poszukiwania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
- <translation type="unfinished"/>
+ <translation>Przekaż &darowiznę</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Odtwarzaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Kontynuuj odtwarzanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Pozostały czas %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Głośność na %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Dźwięk jest wyciszony</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Przywrócono dźwięk</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Twoja prywatność jest teraz bezpieczna</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Pobieranie ukończone</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Kontynuuj</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
- <translation type="unfinished"/>
+ <translation>Wysłano z %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Pobierz pełną wersję</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Pobieranie %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Błąd sieci %1</translation>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Czy chcesz to teraz pobrać?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Pomiń Tą Wersję</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Przypomnij Mi Później</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Wklej</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistItemDelegate</name>
+ <message>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 widziane</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 of %2 (%3) — %4</translation>
+ <translation>%1 z %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Przegotowuję</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Nieudane</translation>
+ <translation>Niepowodzenie</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Zakończone</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Zatrzymane</translation>
+ <translation>Zatrzymano</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Zatrzymaj pobieranie</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Pokaż w %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Otwórz katalog macierzysty</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Pobierz od nowa</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Szukanie...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Pokaż kolejne %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Brak wideo</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Nie ma więcej wideo</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
- <translation type="unfinished"/>
+ <translation>Sortuj według</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
- <translation type="unfinished"/>
+ <translation>Daty</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
- <translation type="unfinished"/>
+ <translation>Kiedykolwiek</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
- <translation type="unfinished"/>
+ <translation>Dzisiaj</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
- <translation type="unfinished"/>
+ <translation>7 Dni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
- <translation type="unfinished"/>
+ <translation>30 Dni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
- <translation type="unfinished"/>
+ <translation>Wszystko</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
- <translation type="unfinished"/>
+ <translation>Krótsze niż 4 minuty</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Pomiędzy 4 a 20 minutami</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>Dłuższe niż 20 minut</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
- <translation type="unfinished"/>
+ <translation>Jakość</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
- <translation type="unfinished"/>
+ <translation>Ukończono</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <source>Done</source>
+ <translation>Ukończono</translation>
</message>
</context>
<context>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Witaj w <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Pobierz pełną wersję</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Zatwierdź</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>słowo kluczowe</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>kanał</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>aby rozpocząć oglądanie</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Oglądaj</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Ostatnio szukane</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Odwiedzone kanały</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Czuj sie komfortowo</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Wstecz</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Przewiń do %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Cofnij do %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
+ <translation>Czy chodziło o: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Błąd sieci: %1 for %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Algieria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentyna</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Australia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brazylia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Kanada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Chile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Kolumbia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Czechy</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egipt</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Francja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Niemcy</translation>
+ </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>Grecja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Węgry</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>Indie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonezja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Irlandia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Izrael</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Włochy</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japonia</translation>
+ </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>Kenia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malezja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Meksyk</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Maroko</translation>
+ </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>Nowa Zelandia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigeria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filipiny</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polska</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rosja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Arabia Saudyjska</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Południowa Afryka</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Południowa Korea</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Hiszpania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Szwecja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Tajwan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunezja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Turcja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Życie istnieje też poza przeglądarką!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Wersja %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licencjonowane dla: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Proszę o <a href='%1'>dotacje</a> dla dalszego rozwoju %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, odtwarzacz muzyki z YouTube'a</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, odtwarzacz muzyki</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Ikony zaprojektowane przez %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Wydane na licencji<a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Zamknij</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>O programie</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Wyczyść</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Podaj szczegóły twojej licencji</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>Adres &Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Kod:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Proszę zalicencjonować %1</translation>
+ <translation>Proszę kup licencję %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Ta wersja demo wygasła.</translation>
+ <translation>To demo wygasło.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Pełna wersja pozwala na pobieranie filmów dłuższych niż %1 min. oraz oglądać filmy bez przeszkód.</translation>
+ <translation>Pełna wersja pozwoli Ci pobierać filmy dłuższe niż %1 minut(y) i oglądać je bez zakłóceń.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>To demo wygaśnie za %1 dni.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Bez licencji, program wygaśnie za %1 dni.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>Kupując pełną wersję, wspierasz także moją ciężką pracę którą wkładam w tworzenie %1.</translation>
+ <translation>Kupując pełną wersję, wspieraż także ciężką pracę, jaką włożyłem w stworzenie %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Dawaj Demo!</translation>
+ <translation>Uruchom w trybie demonstracyjnym</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Pobierz pełną wersję</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Wprowadź dane licencji</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Kup licencję</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Wyczyść</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>B</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>B/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sek.</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>min.</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>pozostało %4 %5</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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 pobierać jedynie filmy krótsze niż %1 minut, dla przetestowania funkcji pobierania.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Dalej</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Pobierz pełną wersję</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 ściągnięte w %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Ściąganie zakończone</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Zmień katalog pobierania...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Wybierz katalog pobierania</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Katalog pobierania został zmieniony.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Pobierane do: %1</translation>
</message>
<translation>Pobrane pliki</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Pobieranie aktualizacji...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Szukam...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Szukaj</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Pokaż kolejne %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>Znajdź filmy i kanały po słowie kluczowym</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Brak plików</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Przeglądaj</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nie ma więcej plików</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Przeglądaj filmy po kategorii</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Rozgość się</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Zatrzymaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>Prze&skocz dalej</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Przejdź do następnego pliku wideo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pauza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Wstrzymaj odtwarzanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Pełny ekran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Przełącz na pełny ekran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Usuń</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Przesuń w &Górę</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Przesuń w &Dół</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Czyści historię wyszukiwania. Nieodwracalnie.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Weź to wyłącz</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Narciarz</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Wyświetl stronę</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 on the Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Wesprzyj dalszy rozwój %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>O &Programie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informacje o %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Szukaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Wycisz</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Pobrane</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Pokaż szczegóły o pobranych plikach</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Pobierz</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Pobierz aktualny plik</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Podziel się tym filmem przez %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>e-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Zamknij</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Ustaw na wierzchu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Zatrzymaj po tym filmie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>Zgłoś problem...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Zawęź wyszukiwanie...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Więcej...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>Powiązane filmy</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
<source>&Application</source>
<translation>&Aplikacja</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Kup%1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Odtwarzanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Lista odtwarzania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Wideo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Widok</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Podziel się</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Halp znaczy pomoc</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Otwieranie %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Zamnij i anuluj pobieranie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Poczekaj na zakończenie pobierania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Opuść pełny ekran (&F)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>Wersja %1 %2 jest dostępna</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Przypomnij później</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Aby pobrać zaktualizowaną wersję, pobierz na nowo %1 używając linka otrzymanego na e-mail, i zainstaluj ponownie.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Zaktualizuj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Błąd %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&oprzedni</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Wróć do poprzedniej ścieżki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Tryb kompaktowy</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Otwórz stronę &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Skopiuj &link do strony Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Skopiuj &URL strumienia wideo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Znajdź części filmu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Wyczyść ostatnie wyszukiwania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Przekaż &dotację</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Ręczne rozpoczynanie odtwarzania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Ręcznie odtwarzaj filmy</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Wybierz swoją lokalizację</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Graj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Przywróć odtwarzanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Pozostały czas: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Głośność: %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Dźwięk wyciszony</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Dźwięk przywrócony</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Twoja prywatność jest już bezpieczna</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Pobieranie ukończone</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Dalej</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Przesłane od %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Zdobądź pełną wersję</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Pobieranie %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <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>%1 %2 jest dostępna. Aktualnie posiadasz %3.</translation>
+ </message>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Błąd sieci %1</translation>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Chcesz pobrać teraz?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Pomiń tą wersję</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Przypomnij mi później</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Instaluj aktualizację</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
+ <message>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Wklej</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 odtworzeń</translation>
+ <translation>%1widziany</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 z %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Przygotowuję</translation>
+ <translation>Przygotowywanie</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Nieudane</translation>
+ <translation>Niepowodzenie</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Zakończone</translation>
+ <translation>Ukończone</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Zatrzymane</translation>
+ <translation>Zatrzymano</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Zatrzymaj pobieranie</translation>
+ <translation>Przerwij pobieranie</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Pokaż w %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Otwórz katalog główny</translation>
+ <translation>Otwórz katalog nadrzędny</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Pobierz od nowa</translation>
+ <translation>Pobierz ponownie</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Szukanie...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Pokaż kolejne %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Brak filmów</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Nie ma więcej filmów</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sortuj według</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Trafność</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Ocena</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Kiedykolwiek</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Dzisiaj</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Czas trwania</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Wszystkie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Krótkie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Średnie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Długie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Krótsze niż 4 minuty</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Pomiędzy 4 a 20 minut</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Dłuższe niż 20 minut</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Jakość</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Jakość HD</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p lub wyższa</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Zrobione</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation>Zrobione</translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Witaj w <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Pobierz pełną wersję</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Zatwierdź</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>słowo kluczowe</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>kanał</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>aby rozpocząć oglądanie</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Oglądaj</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Ostatnie wyszukiwania</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Ostatnie kanały</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Rozgość się</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Wstecz</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Idź do %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Powróć do %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Zawęź wyszukiwanie</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Masz na myśli: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Najwięcej udostępniane</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Najczęściej dyskutowane</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Najlepiej oceniane</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Strumieniowanie %1 nie powiodło się</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Błąd sieci: %1 dla %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Algieria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentyna</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Australia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brazylia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Kanada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Chile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Kolumbia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Czechy</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egipt</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Francja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Niemcy</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Grecja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Węgry</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>Indie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonezja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Irlandia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Izrael</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Włochy</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japonia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Jordania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Kenia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malezja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Meksyk</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Maroko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Holandia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Nowa Zelandia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigeria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filipiny</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polska</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rosja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Arabia Saudyjska</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Południowa Afryka</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Korea Południowa</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Hiszpania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Szwecja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Tajwan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunezja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Turcja</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Zjednoczone Emiraty Arabskie</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Wielka Brytania</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Jemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Ogólnoświatowy</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="pt" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
- <name>AboutView</name>
- <message>
- <location filename="src/AboutView.cpp" line="28"/>
- <source>There's life outside the browser!</source>
- <translation>Existe vida para além do navegador!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Versão %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 é Software Livre mas o seu desenvolvimento leva tempo precioso.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Por favor <a href='%1'>Faça um donativo</a> para suportar o desenvolvimento continuado do%2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <source>You may want to try my other apps as well:</source>
- <translation>Pode também querer experimentar outra das minhas aplicações:</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, um leitor de música YouTube</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <source>Translate %1 to your native language using %2</source>
- <translation>Traduzir %1 para a sua língua nativa usando %2</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="56"/>
- <source>Icon designed by %1.</source>
- <translation>Icon criado por %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Lançado nos termos da <a href='"%1'>GNU General Public License</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Fechar</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Sobre</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <source>What you always wanted to know about %1 and never dared to ask</source>
- <translation>Tudo o que sempre quis saber sobre o %1 e nunca se atreveu a perguntar</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>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Por favor licencie %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Esta demo expirou.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <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/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Esta demo expirará em %1 dias.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
- <translation>Comprando a versão completa, estará a contribuir pelo trabalho duro em criar %1.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Use a demo.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Transfira a versão completa</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>bytes</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>bytes/seg</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/sec</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/seg</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>segundos</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>minutos</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 restante</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <source>This is just the demo version of %1.</source>
- <translation>Isto é apenas uma versão de demonstração de %1.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="50"/>
- <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
- <translation>Apenas pode transferir vídeos mais curtos que %1 minuto(s) de forma a testar a funcionalidade de transferência.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="56"/>
- <source>Continue</source>
- <translation>Continuar</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Transfira a versão completa</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <source>%n Download(s)</source>
- <translation><numerusform>%n Transferência</numerusform><numerusform>%n Transferências</numerusform></translation>
- </message>
-</context>
-<context>
- <name>DownloadSettings</name>
- <message>
- <location filename="src/downloadsettings.cpp" line="14"/>
- <source>Change location...</source>
- <translation>Mudar pasta de destino...</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Escolha a pasta de destino da transferência</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>A pasta de destino da transferência foi actualizada.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <source>Current downloads will still go in the previous location.</source>
- <translation>A pasta de transferência actual irá manter-se na mesma pasta.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="75"/>
- <source>Downloading to: %1</source>
- <translation>A transferir para: %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>Transferências</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Iniciar</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>Iniciar/Pausar</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Parar</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Parar assim que terminar o vídeo ou música corrente</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Próximo vídeo/música</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Vídeo/música anterior</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Aumentar volume</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Diminuir volume</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Silêncio</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Avançar</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Retroceder</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>A pesquisar...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostrar mais %1</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Sem vídeos</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Sem mais vídeos</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Erro</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Parar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <source>Stop playback and go back to the search view</source>
- <translation>Para a reprodução e voltar à vista de pesquisa</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="189"/>
- <source>S&kip</source>
- <translation>S&altar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Saltar para o próximo vídeo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Pausar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Pausar reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>Ecrã &Completo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Ir para ecrã completo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Esconder a lista de reprodução e a barra de ferramentas</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <source>Go to the YouTube video page and pause playback</source>
- <translation>Ir para a página do Youtube do vídeo e parar a reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="240"/>
- <source>Copy the current video YouTube link to the clipboard</source>
- <translation>Copiar o link do Youtube do vídeo actual para a área de transferência</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="247"/>
- <source>Copy the current video stream URL to the clipboard</source>
- <translation>Copiar o URL da emissão de vídeo actual para a área de transferência</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="254"/>
- <source>Find other video parts hopefully in the right order</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="260"/>
- <source>&Remove</source>
- <translation>&Remover</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>Remover os vídeos seleccionados da lista de reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>Mover para &Cima</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <source>Move up the selected videos in the playlist</source>
- <translation>Mover para cima os vídeos seleccionados na lista de reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="274"/>
- <source>Move &Down</source>
- <translation>Mover para &Baixo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <source>Move down the selected videos in the playlist</source>
- <translation>Mover para baixo os vídeos seleccionados na lista de reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="286"/>
- <source>Clear the search history. Cannot be undone.</source>
- <translation>Limpar o histório de pesquisa. Não pode ser desfeito.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="291"/>
- <source>&Quit</source>
- <translation>&Sair</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Adeus</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>Sítio &Web</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 na Internet</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <source>Please support the continued development of %1</source>
- <translation>Por favor suporte o desenvolvimento continuado do %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="311"/>
- <source>&About</source>
- <translation>&Sobre</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Informação sobre %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Pesquisar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Silenciar o volume</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Transferências</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Mostar detalhes sobre a transferência de vídeos</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Transferência</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Transferir o vídeo actual</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Fechar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Aplicação</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Comprar %1...</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Lista de reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Vídeo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Ver</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Ajuda</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <source>Press %1 to raise the volume, %2 to lower it</source>
- <translation>Prima %1 para aumentar o volume, %2 para reduzi-lo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>A abrir %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <source>Do you want to exit %1 with a download in progress?</source>
- <translation>Deseja sair %1 com uma transferência activa?</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="848"/>
- <source>If you close %1 now, this download will be cancelled.</source>
- <translation>Se fechar %1, a transferência irá ser cancelada.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="853"/>
- <source>Close and cancel download</source>
- <translation>Fechar e cancelar a transferência</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Espere que a transferência termine</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Sair do modo de &Ecrã Inteiro</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>%1 a versão %2 já se encontra disponível.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>Lembre-me mais tarde.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Para receber a versão actualizada, através da ligação que recebeu no seu email transfira novamente %1 e reinstale.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Actualizar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Erro:%1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Ir para a faixa anterior</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Reproduzir</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Retomar a reprodução</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Tempo restante:%1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Volume a :%1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>O volume está silenciado</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>O volume não está silenciado</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>Definição de vídeo máxima estabelecida em %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>A sua privacidade está agora assegurada</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Transferência completa</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <source>You can now paste the YouTube link into another application</source>
- <translation>Pode agora colar o link do Youtube noutra aplicação</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="554"/>
- <source>You can now paste the video stream URL into another application</source>
- <translation>Pode agora colar o URL da emissão de vídeo noutra aplicação</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="555"/>
- <source>The link will be valid only for a limited time.</source>
- <translation>O link será válido apenas por algum tempo.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="654"/>
- <source>This is just the demo version of %1.</source>
- <translation>Isto é apenas uma versão de demonstração de %1.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="655"/>
- <source>It allows you to test the application and see if it works for you.</source>
- <translation>Permite testes a aplicacção e verificar como funciona.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="685"/>
- <source>Continue</source>
- <translation>Continuar</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <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="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Transfira a versão completa</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Transferir: %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Erro de rede: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 visualizações</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 de %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>A preparar</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Falhou</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Completo</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Parado</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Parar a transferência</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Mostrar em %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Abrir pasta anterior</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Recomeçar a transferência</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>SearchLineEdit</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="177"/>
- <source>Search</source>
- <translation>Pesquisar</translation>
- </message>
-</context>
-<context>
- <name>SearchView</name>
- <message>
- <location filename="src/SearchView.cpp" line="88"/>
- <source>Welcome to <a href='%1'>%2</a>,</source>
- <translation>Bem-vindo ao <a href='%1'>%2</a></translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Obter a versão completa</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Digite</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>uma palavra-chave</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>um canal</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>para começar a assistir vídeos.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Assistir</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Pesquisas recentes</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Canais recentes</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Acomode-se confortavelmente</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <source>Cannot get video stream for %1</source>
- <translation>Não é possível obter o video stream para %1</translation>
- </message>
- <message>
- <location filename="src/video.cpp" line="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Erro de rede: %1 para %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Há vida fora do navegador!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versão %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 é um Software livre, mas seu desenvolvimento toma um tempo precioso.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Por favor <a href='%1'>doe</a> para apoiar o desenvolvimento continuado de %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<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="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, um tocador de música</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Ícone desenhado por %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Lançado sob a <a href='%1'>Licença Pública Geral GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Fechar</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Sobre</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Limpar</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Por favor, licença %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Esta demonstração expirou.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 versão completa permite que você baixe vídeos com mais de %1 minutos e assista-os sem interrupções.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Esta demonstração irá expirar em %1 dias.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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 versão completa, você também vai apoiar o trabalho duro eu dediquei em criar %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Usar Demonstração</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obter a versão completa</translation>
+ <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>Limpar</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/seg</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>segundos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minutos</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 restantes</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Obter a versão completa</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 baixados em %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Download terminou</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Alterar local...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Escolha um local para o download</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Local de download alterado.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Baixando para: %1</translation>
</message>
<translation>Downloads</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Pesquisando...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Pesquisar</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Mostrar mais %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Não há vídeos</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Não há mais vídeos</translation>
+ <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>Sinta-se confortável</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Parar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>Pu&lar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Pular para o próximo vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pausar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pausar a reprodução</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Tela Cheia</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Ir para a tela cheia</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Remover</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mover para &cima</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mover para &baixo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Sair</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Tchau</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Si&te</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 na Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Sobre</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informações sobre %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Pesquisar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Volume mudo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Downloads</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Baixar o vídeo atual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Fechar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Sempre Acima</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Parar Após Este Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Relatar um problema...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Refinar Pesquisa...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplicação</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Adquirir %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Reprodução</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Playlist</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Visualizar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Compartilhar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Ajuda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Abrindo %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<source>Do you want to exit %1 with a download in progress?</source>
<translation>Você deseja sair de "%1" com uma transferência em curso?</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Fechar e cancelar download</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Aguardar o download terminar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Deixar Em &Tela Cheia</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Lembrar mais tarde</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Para obter a versão atualizada, baixe %1 novamente do link que você recebeu via e-mail e reinstale-o.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Atualizar</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Erro: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>Ante&rior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Ir para a faixa anterior</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Modo &Compacto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Abrir a Página do &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copiar o &Link do YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copiar a &URL do Stream do Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Localizar &Parte Do Vídeo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>&Limpar Buscas Recentes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Faça uma &Doação</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Iniciar &Manualmente A Reprodução</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Iniciar manualmente a reprodução de vídeos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Reproduzir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Continuar reprodução</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Tempo restante: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volume a %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Volume está mudo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Volume não está mudo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Sua privacidade está agora segura</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Downloads finalizados</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuar</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Envido de %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Obter a versão completa</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Baixando %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Erro na rede: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <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 exibições</translation>
+ <translation>%1 visualizações</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 de %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Preparando</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>Falhou</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Finalizado</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Parado</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>Parar download</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>Mostrar em %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>Abrir pasta pai</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>Reiniciar download</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Pesquisando...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Mostrar mais %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Sem vídeos</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Não há mais vídeos</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Ordenar por</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevância</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Número De Visualizações</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Avaliação</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Sempre</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Hoje</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 Dias</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 Dias</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Duração</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Todos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Breve</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Médio</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Longo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Menos de 4 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Entre 4 e 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Mais de 20 minutos</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Qualidade</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Alta Definição</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p ou superior</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Feito</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Bem-vindo ao <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Obter a versão completa</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Digite</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>uma palavra chave</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>um canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>para começar a assistir vídeos.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Assistir</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Palavra-chave recente</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Canais recentes</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Sinta-se confortável</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Voltar</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Refinar Pesquisa</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Você quis dizer: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Erro na rede: %1 para %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Există viață dincolo de browser!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Versiunea %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licență pentru %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Vă rugăm să <a href='%1'>donați</a> pentru a ajuta la continuarea dezvoltării %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<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="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, un player pentru colecția muzicală proprie</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Iconița a fost concepută de %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Oferit sub <a href='%1'>Licența Publică Generală GNU</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>În&chide</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Despre</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Șterge</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Introdu detaliile licenței tale</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Cod:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Licențiază %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Acest demo a expirat.</translation>
+ <translation>Versiunea demo a expirat.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Versiunea integrală permite descărcarea videoclipurilor mai lungi de %1 minute și vizualizarea neîntreruptă a acestora.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Acest demo va expira în %1 zile.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Fără licență, aplicația va expira în %1 zile.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>Cumpărând versiunea integrală sprijini munca mea depusă în realizarea %1.</translation>
+ <translation>Cumpărând versiunea integrală îmi sprijini efortul depus pentru crearea %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Folosește demo</translation>
+ <translation>Folosește Demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Obține versiunea integrală</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Introdu Licența</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Cumpără Licență</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Șterge</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bytes/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sec</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>secunde</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minute</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 rămase</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Continuă</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>ObțineIa versiunea integrală</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 descărcat în %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Descărcare terminată</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Schimbă locația...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Alege locația de descărcare</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Locația de descărcare a fost schimbată.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Descărcare în: %1</translation>
</message>
<translation>Descărcări</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Descărcare actualizări...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Căutare...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Caută</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Afișează încă %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Nu sunt videoclipuri</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nu mai sunt videoclipuri</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Stop</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>O&mite</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Treci la videoclipul următor</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pauză</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pune redarea pe pauză</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>Ec&ran complet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Vizualizează pe tot ecranul</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>Ș&terge</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Mută în &sus</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Mută în &jos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Ieșire</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>La revedere</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>Site &Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 pe Web</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Despre</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informații despre %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Căutare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Oprire sunet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Descărcări</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Arată detalii despre descărcările video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Descărcare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Descarcă videoclipul curent</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>În&chide</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Detașează</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Oprește După Acest Videoclip</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Raportează o problemă...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Căutare rafinată...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplicație</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Cumpără %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Redare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Listă de redare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>Vi&zualizare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>Î&mpărtășește</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Ajutor</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Deschidere %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Închide și anulează descărcarea</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<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="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Ieși din Ec&ran Complet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Reamintește-mi mai târziu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Pentru a avea versiunea la zi, descarcă %1 folosind adresa de internet primită prin email și reinstalează aplicația.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Actualizează</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Eroare: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>&Anterioare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Mergi înapoi la piesa precedentă</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Modul &Compact</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Deschide Pagina &YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Copiază &adresa videoclipului YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Copiază adresa &fluxului video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Caută &Părți ale Videoclipului</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>Șt&erge Căutările Recente</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Fă o &Donație</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Pornește Redarea &Manual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Pornește redarea videoclipurilor manual</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Redare</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Rezumă redarea videoclipului</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Timp rămas : %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Volum %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Sunetul este oprit</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Sunetul este pornit</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Intimitatea dumneavoastră este acum în siguranță</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Descărcări complete</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Continuă</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Trimis din %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Obține versiunea integrală</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Descărcare %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>O nouă versiune %1 este disponibilă!</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="28"/>
+ <source>%1 %2 is now available. You have %3.</source>
+ <translation>%1 %2 este acum disponibilă. Tu ai %3.</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Dorești descărcarea ei acum?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Renunță la Această Versiune</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Amintește-mi Mai Târziu</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Instalează Actualizări</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Eroare de rețea : %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Adaugă</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 vizualizări</translation>
+ <translation>%1 vizionări</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 din %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Pregătire</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Eșuat</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Terminat</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Oprit</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Oprește descărcarea</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Arată în %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Deschide directorul părinte</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Repornire descărcare</translation>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Căutare...</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>Nici un videoclip</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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Sortează după</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevanță</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Dată</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Vizualizări</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Evaluare</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Oricând</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Astăzi</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 Zile</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 Zile</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Durată</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Toate</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Scurt</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Mediu</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Lung</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Mai scurt de 4 minute</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Între 4 și 20 minute</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Mai lung de 20 minute</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Calitate</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Înaltă Definiție HD</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p sau definiție mai mare</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Terminat</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Bine ați venit la <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Obține versiunea integrală</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Introduceți</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>un cuvânt cheie</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>un canal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>pentru a începe să vizionați videoclipuri.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Urmărește</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Căutări recente</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Canale recente</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Faceţi-vă confortabil</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>Î&napoi</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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Căutare Rafinată</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Ai vrut să spui: %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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Eroare reţea: %1 pentru %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
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Жизнь вне браузера!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Версия %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Зарегистрирована на: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<source>%1 is Free Software but its development takes precious time.</source>
<translation>%1 - свободное ПО, но его разработка отнимает драгоценное время.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Пожалуйста, <a href='%1'>поддержите</a> дальнейшую разработку %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation>Вы также можете попробовать другие мои приложения:</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, плеер музыки c YouTube </translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, музыкальный плеер</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>Перевести %1 на ваш родной язык с помощью %2</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Автор значка %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Выпущено на условиях <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Закрыть</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>О программе</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<source>What you always wanted to know about %1 and never dared to ask</source>
<translation>Все что Вы всегда хотели узнать о %1 и никогда бы не спросили</translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Очистить</translation>
+ <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>&Email:</source>
+ <translation>&Email:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Код:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Лицензия %1</translation>
+ <translation>
+Лицензия %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Демонстрационный период истек.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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 type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Ð\94емонÑ\81Ñ\82Ñ\80аÑ\86ионнÑ\8bй пеÑ\80иод истекает через %1 дн.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>СÑ\80ок Ñ\80абоÑ\82Ñ\8b, Ñ\8dÑ\82ого пÑ\80иложениÑ\8f, без лиÑ\86ензии истекает через %1 дн.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Ð\94емонÑ\81Ñ\82Ñ\80аÑ\86иÑ\8f</translation>
+ <translation>Ð\98Ñ\81полÑ\8cзоваÑ\82Ñ\8c демо</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Получить полную версию</translation>
+ <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>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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>байт</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>Кбайт</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>Мбайт</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>байт/сек</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>Кбайт/сек</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>Мбайт/сек</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>секунд</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>минут</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>осталось %4 %5</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>Это всего лишь демо-версия %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>Можно загружать только видео не длиннее %1 минут, для проверки функциональности загрузчика. </translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Продолжить</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Получить полную версию</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 загружен в %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Загрузка завершена</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Изменить путь...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Выбрать путь загрузки</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Путь для загружаемых файлов изменён.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>Файлы, загружаемые в данный момент будут сохранены по прежнему адресу.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Файлы загружаются в %1</translation>
</message>
<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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Поиск...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Поиск</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Показать ещё %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Клипы не найдены</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Больше нет клипов</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Остановить</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>Остановить воспроизведение и вернуться к поиску</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>П&ропустить</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Перейти к следующему клипу</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Пауза</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Приостановить воспроизведение</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&На весь экран</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Полноэкранное воспроизведение</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Скрыть список воспроизведения и панель инструментов</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<source>Go to the YouTube video page and pause playback</source>
<translation>Приостановить воспроизведение и перейти на страницу видео в YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>Скопировать ссылку текущего клипа YouTube в буфер обмена</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>Скопировать адрес текущего видео потока в буфер обмена</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
<translation>Найти другие части видео, надеюсь, в правильном порядке</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Удалить</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>Удалить выбранные клипы из списка воспроизведения</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>В&верх</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>Переместить выбранные видеоклипы вверх в списке воспроизведения</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>В&низ</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation>Переместить выбранные видеоклипы вниз в списке воспроизведения</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>Очистить историю запросов. Изменения необратимы.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Выход</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Пока</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Домашняя страница</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 в интернете</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
<translation>Поддержите дальнейшую разработку %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&О программе</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Сведения о %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Поиск</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Выключить звук</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>Загрузки</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Показать подробности о загрузках видео</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>Загрузить</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Загрузить проигрываемый файл</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Поделиться текущим видео с помощью %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Email</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Закрыть</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Поверх всех окон</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>Ост&ановить после этого видео</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>Соо&бщить об ошибке</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Уточнить поиск...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Больше...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>По&хожее видео</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <source>Watch videos related to the current one</source>
+ <translation>Смотреть видео, связанные с текущим</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="544"/>
<source>&Application</source>
<translation>Пр&иложение</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Купить %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Воспроизведение</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Список воспроизведения</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Видео</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Просмотр</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Поделиться</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>Спр&авка</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation>Нажмите %1 для увеличения громкости и %2 для уменьшения</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Открытие %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<source>Do you want to exit %1 with a download in progress?</source>
<translation>Вы действительно хотите закрыть %1 в то время, как загружаются файлы?</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation>Если вы закроете %1 прямо сейчас, текущие загрузки будут отменены.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Выйти отменив загрузки</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Подождать завершения загрузок</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Покинуть п&олноэкранный режим</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 версия %2 теперь доступна.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Напомнить позже</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Чтобы получить обновленную версию, скачайте %1 ещё раз по ссылке, которую вы получили по электронной почте и переустановите программу.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Обновление</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Ошибка: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>Пр&едыдущий</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Вернуться к предыдущему треку</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Компак&тный режим</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>От&крыть страницу YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Копировать &ссылку на YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Копировать ссылку на в&идео поток</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Найти &фрагменты видео</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>О&чистить последние поисковые запросы</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Сд&елать пожертвование</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Начать проигрывание вручную</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Начать проигрывание видео вручную</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>Пр&оиграть</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Продолжить воспроизведение</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Осталось: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Громкость %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Звук выключен</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Звук включен</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>Максимальное разрешение видео: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Конфиденциальность обеспечена</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Загрузка завершена</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>Теперь можно вставить адрес YouTube в другое приложение</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>Теперь можно вставить адрес видео потока в другое приложение</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>Адрес будет существовать ограниченное время.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>Данная программа является демо-версией %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Продолжить</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>из</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Отправить из %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Купить полную версию</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Загружаю %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Ð\9eÑ\88ибка Ñ\81еÑ\82и: %1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Ð\92Ñ\81Ñ\82авиÑ\82Ñ\8c</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 просмотров</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>Загружено %1 из %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Подготовка</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Ошибка</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Завершено</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Остановлено</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Ð\9eÑ\81Ñ\82ановиÑ\82Ñ\8c загÑ\80Ñ\83зкÑ\83</translation>
+ <translation>Ð\9eÑ\82мена загÑ\80Ñ\83зки</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Показать в %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Открыть каталог</translation>
+ <translation>Открыть родительский каталог</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Продолжить загрузку</translation>
+ <translation>Перезапустить загрузку</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Идет поиск...</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>Нет видео</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Нет больше видео</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Сортировать по</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Релевантность</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Кол-во просмотров</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Рейтинг</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>В любое время</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Сегодня</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 дней</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 дней</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Продолжительность</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Все</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Короткие</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Средние</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Длинные</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Короче чем 4 минуты</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Между 4 и 20 минутами</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Дольше чем 20 минут</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Качество</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Высокое разрешение</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p или больше</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Готово</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation>Готово</translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Добро пожаловать в <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Купить полную версию</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Введите</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>запрос</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>канал</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>чтобы начать просмотр.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Смотреть</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Последние запросы</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Последние каналы</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Чувствуйте себя как дома</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>Н&азад</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Вперед к %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Назад к %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Уточнить поиск</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Возможно вы имели в виду: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Самые обсуждаемые</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Лучшие оценки</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Не удалось получить видео поток для %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Ошибка сети: %1 на %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Алжир</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Аргентина</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Австралия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Бельгия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Бразилия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Канада</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Чили</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Колумбия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Чехия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Египет</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Франция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Германия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Гана</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Греция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Гонконг</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Венгрия</translation>
+ </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>Мексика</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Марокко</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Нидерланды</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Новая Зеландия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Нигерия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Перу</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Филиппины</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Польша</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Россия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Саудовская Аравия</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Сингапур</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Южно-Африканская Республика</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Республика Корея</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Испания</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Швеция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Тайвань</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Тунис</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Турция</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Уганда</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Объединённые Арабские Эмираты</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Великобритания</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Йемен</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There'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="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Verzia %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>Licencované pre: %1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 je Slobodným Softvérom, ktorého vývoj si žiada značnú dávku času.</translation>
+ <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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Prosím o finančnú <a href='%1'>podporu</a> pokračujúceho vývoja %2.</translation>
+ <translation>Preto prosím o akúkoľvek finančnú <a href='%1'>podporu</a> pri pokračujúcom vývoji %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, prehrávač YouTube muziky</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, kvalitný hudobný prehrávač</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
- <translation>Dizajn ikony spravil %1.</translation>
+ <translation>Ikonu nadizajnoval %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Vydané pod <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Zatvoriť</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>O projekte</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Vyčisiť</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Vlož svoje licenčné detaily</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&E-mail:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>&Kód:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Licencuj si %1 prosím</translation>
+ <translation>Prosím licencujte %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Aktuálna demoverzia expirovala.</translation>
+ <translation>Demoverzia expirovala.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>S plnou verziou budeš môcť sťahovať videá dlhšie ako %1 minút a sledovanie bude bez prerušení.</translation>
+ <translation>Plná verzia ti umožní stiahnuť videá dlhšie než %1 minút a tiež ich prezeranie bez prerušení.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Aktuálna demoverzia expiruje za %1 dní.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Aplikácia bez licencie expiruje za %1 dní.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>Zakúpením plnej verzie podporíš námahu, vynaloženú pri tvorbe %1.</translation>
+ <translation>Zakúpením plnej verzie tiež podporíš vynaložené úsilie pri tvorbe %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Použiť demoverziu</translation>
+ <translation>Použiť demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Získať plnú verziu</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Vložiť licenciu</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Zakúpiť licenciu</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Vyčisiť</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bajtov</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>bajtov/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/sek</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekúnd</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minút</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>zostáva %4 %5</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>Ide o demoverziu %1.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>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="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Pokračuj</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Získať plnú verziu</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 stiahnuté za %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Sťahovanie ukončené.</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Zmeniť umiestnenie...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Zmeniť umiestnenie sťahovaní</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Umiestnenie sťahovaní zmenené.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Sťahujem do: %1</translation>
</message>
<translation>Sťahovania</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Sťahujem aktualizáciu...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Hľadám...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Hľadať</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Zobraziť %1 ďalších</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <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/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Žiadne videá</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Prehliadať</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Žiadne ďalšie videá</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Prehliadať videá podľa kategórie</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Daj sa do pohody</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
- <translation>%Zastaviť</translation>
+ <translation>&Zastaviť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Preskočiť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Preskočiť na nasledovné video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pozasaviť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Pozastaviť prehrávanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Celá obrazovka</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Na celú obrazovku</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<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="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Odstrániť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
- <translation>Presunúť &Nahor</translation>
+ <translation>Presunúť &nahor</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
- <translation>Presunúť &Nadol</translation>
+ <translation>Presunúť &nadol</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Ukončiť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Maj sa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
- <translation>&Webstránka</translation>
+ <translation>&Domovská stránka</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 na Internete</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&O projekte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>Informácie o %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Hľadať</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Stlmiť hlasitosť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&Sťahovania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Zobraziť detaily o sťahovaní</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&Stiahnuť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Stiahnuť aktuálne video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-mail</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-mailová adresa</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Zatvoriť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>&Vždy na vrchu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>&Zastav po tomto videu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>&Nahlásiť problém...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Upraviť kritériá hľadania...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Viac...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>&Pridružené vidá</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
<source>&Application</source>
<translation>&Aplikácia</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Zakúpiť %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Prehrávanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Playlist</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Zobrazenie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Zdieľanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>&Nápoveda</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Otváram %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Zatvoriť a zrušiť sťahovanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Počkať kým skončí sťahovanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
- <translation>Opustiť &Celú Obrazovku</translation>
+ <translation>Opustiť režim &celej obrazovky</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Pripomenúť neskôr</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Pre získanie novšej verzie stiahni %1 z odkazu, ktorý ti bude zaslaný na e-mailovú adresu a preinštaluj aplikáciu.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Aktualizácia</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Chyba: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>&Predošlé</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Ísť na predošlé video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>&Kompaktný mód</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Otvoriť &YouTube stránku</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
- <translation>Kopírovať YouTube &Odkaz</translation>
+ <translation>Kopírovať &odkaz z YouTube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Kopírovať &URL video streamu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
- <translation>Nájsť zvyšné &časti videa</translation>
+ <translation>Nájsť zvyšné relevantné &časti</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
- <translation>&Vyčistiť posledné hľadania</translation>
+ <translation>&Vyčistiť zoznam posledných hľadaní</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
- <translation>Darovať &príspevok</translation>
+ <translation>Finančne &podporiť</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
- <translation>&Manuálne začať prehrávanie</translation>
+ <translation>&Manuálne prehrávanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
- <translation>Manuálne začať prehrávanie videí</translation>
+ <translation>Koniec manuálneho prehrávania</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Vybrať svoju obsahovú lokáciu</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Prehrať</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Obnoviť prehrávanie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Zostávajúci čas: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Hlasitosť na %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Hlasitosť stlmená</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Hlasitosť nie je stlmená</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Nemaj obavy o súkromie</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Sťahovanie kompletné</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>Ide o demoverziu %1.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Pokračuj</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Odoslané z %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Získať plnú verziu</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Sťahujem %1.</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>Nová verzia %1 je práve dostupná!</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="28"/>
+ <source>%1 %2 is now available. You have %3.</source>
+ <translation>%1 %2 je práve dostupná. Máš %3.</translation>
+ </message>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Chyba siete: %1</translation>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Chceš ju stiahnuť?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Preskočiť túto verziu</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Pripomenúť mi neskôr</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Nainštalovať aktualizáciu</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
+ <message>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Vložiť</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 zhliadnutí</translation>
+ <translation>%1 prezretí</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 z %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Pripravovanie</translation>
+ <translation>Pripravujem</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Neúspešné</translation>
+ <translation>Zlyhané</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Kompletné</translation>
+ <translation>Úspešné</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>Zastavené</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Zastaviť sťahovanie</translation>
+ <translation>Zastav sťahovanie</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Zobraziť v %1</translation>
+ <translation>Zobraz v %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Otvoriť nadradený adresár</translation>
+ <translation>Otvor nadradený adresár</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Reštartovať sťahovanie</translation>
+ <translation>Opakuj sťahovanie</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Hľadám...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>Zobraz %1 viac</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Žiadne videá</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Niet viac videí</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Zoradiť podľa</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Relevancia</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>Dátum</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Počet zhliadnutí</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Hodnotenie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Kedykoľvek</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Dnes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
- <translation>7 Dní</translation>
+ <translation>7 dní</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
- <translation>30 Dní</translation>
+ <translation>30 dní</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Dĺžka</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Všetko</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Krátky</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Stredný</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Dlhý</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Menej ako 4 minúty</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Medzi 4 a 20 minútami</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Viac ako 20 minút</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Kvalita</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Vysoké rozlíšenie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p alebo vyššie</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
+ <source>Done</source>
+ <translation>Hotovo</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
<source>Done</source>
<translation>Hotovo</translation>
</message>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Vitaj v aplikácii <a href='%1>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Získať plnú verziu</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Vlož</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>kľúčové slovo</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>názov kanálu</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>pre spustenie sledovania.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Pozerať</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Posledné kľúčové slová</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Posledné kanály</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Pohodlne sa usaď</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>&Späť</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>Vpred k %1</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Späť k %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Upraviť kritériá hľadania</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Mali ste na mysli: %1</translation>
</message>
</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>Najzdieľanejšie</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>Najdiskutovanejšie</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>Najvyššiehodnotené</translation>
+ </message>
+</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>Nedostupný video stream pre %1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Chyba siete: %1 pre %2</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Alžirsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Argentína</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Austrália</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belgicko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brazília</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Kanada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Čile</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Kolumbia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Česká Republika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Egypt</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Francúzsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Nemecko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Ghana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Grécko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Maďarsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>India</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Indonézia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>Írsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>Izrael</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>Taliansko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japonsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Jordánsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Keňa</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malajzia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Mexiko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Maroko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Holandsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Nový Zéland</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nigéria</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filipíny</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Poľsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rusko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Saudská Arábia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Južná Afrika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Južná Kórea</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>Španielsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>Švédsko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Taiwan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunisko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Turecko</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Spojené Arabské Emiráty</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>Veľká Británia</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Jemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Celosvetovo</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Zunaj brskalnika je življenje!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>Različica %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <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 prosta programska oprema, a njen razvoj zahteva dragocen čas.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation><a href='%1'>Darujte prosim</a> za podporo stalnemu razvoju %2.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, YouTube glasbeni predvajalnik</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, glasbeni predvajalnik</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<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="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Ikone je izrisal %1.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>Izdano na podlagi licence <a href='%1'>GNU General Public License</a></translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Zapri</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>O programu</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Počisti</translation>
+ <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>&Email:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>Kupite prosim licenco %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
<translation>Različica demo je potekla.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Polna različica omogoča prenos posnetkov daljših od %1 minut in njihovo spremljanje brez prekinitev.</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Različica demo bo potekla čez %1 dni.</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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>Z nakupom polne različice, boste podprli veliko truda, ki sem ga vložil v %1.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
<translation>Uporabi demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Pridobi celotno različico</translation>
+ <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>Počisti</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>bajtov</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>kB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>byte/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>kB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/s</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>sekund</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>minut</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 ostaja</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<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="50"/>
+ <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>Prenese lahko samo posnetke krajše od %1 minut, da lahko preverite delovanje funkcije prenosa.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Nadaljuj</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Pridobi popolno različico</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
<translation>%1 preneseno v %2</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>Prenos končan</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<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="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Sprememba mesta ...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>Izberite mesto prenosa</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>Spremenili ste mesto prenosa.</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>Prenos v: %1</translation>
</message>
<translation>Prenosi</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>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Iskanje ...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Išči</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Pokaži %1 več</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Nobenega videa</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nobenega videa več</translation>
+ <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>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>U&stavi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>Pres&koči</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Skoči na naslednji video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Pavza</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Premor v predvajanju</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Celozaslonski način</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Gre v celozaslonski način</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Skrije predvajalni seznam in orodno vrstico</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>Odst&rani</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Premakni &gor</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>Premakni &dol</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Zapri</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Nasvidenje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Spletno mesto</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 na spletu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&O programu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <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="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Išči</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Nemo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>Pre&nosi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>Pokaže podrobnosti o prenosih posnetkov</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>Pre&nesi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Prenese trenutni posnetek</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
<translation>Deli trenutni posnetek preko %1 </translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&E-pošta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>E-pošte</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Zapri</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>Lebdeče na vrhu</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>U&stavi za tem posnetkom</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
<translation>P&rijavi napako ...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
<translation>&Izboljšaj iskanje ...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&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>&Application</source>
<translation>&Aplikacija</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>Kupi %1 ...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Predvajanje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>&Predvajalni seznam</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Pogled</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>&Deli</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>P&omoč</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>Odpiranje %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<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="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Zapri in prekliči prenos</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>Počakaj, da konča prenos.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>Zapusti celozaslonski način</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Opozori me kasneje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Za namestitev posodobljene različice, prenesite %1 s povezave, ki ste jo prejeli po elektronski pošti in ponovno namestite.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Posodobitev</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Napaka: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>P&redhodna</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
<translation>Predhodna sled</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Strnjen način</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>Odpri stran &Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>Kopiraj povezavo Youtube</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Kopiraj &URL toka video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>&Poišči ostale dele posnetka</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>Počisti nedavna iskanja</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Pošlji &donacijo</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>Ročno začni predvajanje</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Prični z ročnim predvajanjem posnetkov</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>&Predvajaj</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Nadaljuj s predvajanjem</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Preostali čas: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Glasnost %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Glasnost je utišana</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Glasnost je povrnjena</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Vaša zasebnost je zdaj varna</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>Prenosi so končani</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<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="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Nadaljuj</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <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="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>Poslano iz %1</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Pridobi celotno različico</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>Prenašanje %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Napaka omrežja: %1</translation>
+ <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>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 ogledov</translation>
+ <translation>%1 predvajanj</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 od %2 (%3) — %4</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
- <translation>Pripravljanje</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Neuspešno</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
- <translation>Dokončano</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Ustavljeno</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>Ustavi prenos</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
- <translation>Pokaži v %1</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Odpri nadrejeno mapo</translation>
+ <translation type="unfinished"/>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>Ponovno prenesi</translation>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Iskanje ...</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>Nobenega videa</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="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>Razvrsti glede na</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
<translation>Ustreznost</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <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="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>Število ogledov</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>Oceno</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>Kadarkoli</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>Danes</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 dni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 dni</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>Trajanje</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>Vse</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>Kratko</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>Srednje</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>Dolgo</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>Manj kot 4 minute</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>Med 4. in 20. minutami</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>Daljše kot 20 minut</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>Kvaliteta</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>Visoka ločljivost</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p in višje</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>Narejeno</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>Pozdravljeni v <a href='%1'>%2</a>,</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Pridobi celotno različico</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Vnesite</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>ključno besedo</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>kanal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>in začnite gledati posnetke.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>Glejte</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Nedavne ključne besede</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <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/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Namestite se udobno</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation type="unfinished"/>
+ </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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>Izboljšaj iskanje</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>Ali ste mogoče 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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Napaka omrežja: %1 od %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
+++ /dev/null
-<?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="28"/>
- <source>There's life outside the browser!</source>
- <translation>Ka jete edhe jashte Shfletuesit te Internetit
-</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Version %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <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="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Ju lutem <a href="%1"> dhuroni</a> qe te perkrahni vazhdimin e ndertimit te %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <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="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1 , Luajtes i muzikes per YouTube</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1 , Luajtes i muzikes</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <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="56"/>
- <source>Icon designed by %1.</source>
- <translation>Dizajnimi i ikones u be nga %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Leshuar nen <a href="%1"> GNU Licanca Publike Gjenerale</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation> Afer</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Afersisht</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <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>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Paster</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Ju lutem licencen %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Versioni demostrativ ka skaduar</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
- <translation>Versioni i plote ju lejon qe te shkarkoni video me te gjata se %1 minuta dhe gjithashtu te shikoni video pa pengesa.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Versioni demostrativ do te skadoj ne %1 dit.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
- <translation>Duke bere blerjen e versionit te plot , ju gjithashtu do te perkrahni punen per krijimin e %1.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Perdor versionin demostrativ</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Merrni versionin e plote</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>Bajts</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>Bajts/Sekond</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/Sekond</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/Sekond</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>Sekonda</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>Minuta</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 Mbetet</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <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="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>Vazhdon</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Merrni versionin e plote</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <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="14"/>
- <source>Change location...</source>
- <translation>Ndrysho lokacionin</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Zghidhni lokacionin e shkarkimeve</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Lokacioni i shkarkimeve u ndryshua.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <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="75"/>
- <source>Downloading to: %1</source>
- <translation>Duke shkarkuar ne : %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>Shkarkimet</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Luaje</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Pushim</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Luaje/Pushim</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Ndaloje</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Ndaloje se luajturi pas kenges aktuale</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Kenga e ardhshme</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Kenga e meparshme</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Rrite zerin</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Ule zerin</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Pa ze</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Kerko perpara</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Kerko prapa</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Duke kerkuar</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Shfaq %1 me shume</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Nuk ka video</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Nuk ka me video</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Gabim</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>Ndaloje</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <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="189"/>
- <source>S&kip</source>
- <translation>Kaperce</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Kaperce te video e ardhshme</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>Pushoje</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Pushoje rishikimin</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>Ekran te plote</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Kalo ne ekran te plot</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <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="233"/>
- <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="240"/>
- <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="247"/>
- <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="254"/>
- <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="260"/>
- <source>&Remove</source>
- <translation>Largo</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <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="267"/>
- <source>Move &Up</source>
- <translation>Leviz lart</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <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="274"/>
- <source>Move &Down</source>
- <translation>Leviz posht</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <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="286"/>
- <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="291"/>
- <source>&Quit</source>
- <translation>Lëre</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Mireupafshim</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>Adrese interneti</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 ne Web</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <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="311"/>
- <source>&About</source>
- <translation>Rreth</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Informata rreth %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Kerkim</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Hesht zerin</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>Shkarkimet</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Trego detajet rreth videove te shkarkuara</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>Shkarko</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Shkarko videon e tanishme</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Shperndaj videon aktuale duke perdorur %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>% Email</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Email</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation> Afer</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Nxjerr ne Krye</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>&Ndalo pas kesaj video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>Aplikacion</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Blej %1....</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Ridegjim</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>Lista e luajtjes</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>Video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Shiko</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Shperndaje</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>Ndihma</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Duke hapur %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <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="848"/>
- <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="853"/>
- <source>Close and cancel download</source>
- <translation>Mbyll dhe ndalo shkarkimin</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Prisni per shkarkimin qe te mbaroj</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Largohu & Ekran te plote</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>%1 versioni %2 eshte i gatshem</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>Me rikujto me von</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Per te marr version e arrnuar , shkarko %1 prap nga linku te cilin e keni marr permes email dhe instalone prap</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Arrnim</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Gabim:%1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>Mehershme</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Kthehu prapa te kenga e kaluar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>Ne mod kompakte</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Hap faqen & e Youtube </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Kopjo linkun nga YouTube</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>Kopjo rrjedhen e videos & URL</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Gjej videot & Pjeset</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>Pastro kerkimet e me parshme</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>Beni nje donacion</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>Fillo luajtjen manualisht</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Manualisht fillo luajtjen e videove</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>Luaj</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Rinis rishikimin</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Koha e mbetur:%1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Zeri ne %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Zeri eshte heshtur</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Zeri eshte leshuar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <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="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Privatsia juaj tani eshte e sigurt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Shkarkimet jan kompletuar</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <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="554"/>
- <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="555"/>
- <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="654"/>
- <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="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>Vazhdim</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <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="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Derguar nga %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Merrni versionin e plote</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Duke shkarkuar %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Gabim ne rrjet:%1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 Shikime</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 i %2(%3)-%4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Duke e pergaditur</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Ka deshtuar</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Ka perfunduar</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Ka ndaluar</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Ndalo shkarkimin</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Trego ne %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Hap dosjen kryesor</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Rifilloni shkarkimin</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </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 <a href='%1'>%2</a>,</source>
- <translation>Mire se erdhet ne <h href="%1">%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Merrni versionin e plote</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Hyr</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>Nje fjal kyqe</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>Nje kanal </translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>Per te filluar shikimin e videove.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Shiko</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Fjalit kyqe te fundit</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Kanali i fundit</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Relaksohuni</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <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="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Gabim rrjeti:%1 per %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sr" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
- <name>AboutView</name>
- <message>
- <location filename="src/AboutView.cpp" line="28"/>
- <source>There's life outside the browser!</source>
- <translation>Може и без веб прегледача!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Верзија %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 је слободан софтвер, али његов развој одузма драгоцено време.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Молимо да <a href='%1'>донацијама</a> подржите развој програма %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <source>You may want to try my other apps as well:</source>
- <translation>Можда би сте желели да пробате и моје друге програме:</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, музички плејер за Јутјуб</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, музички плејер</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <source>Translate %1 to your native language using %2</source>
- <translation>Преведите %1 на ваш матерњи језик помоћу %2</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="56"/>
- <source>Icon designed by %1.</source>
- <translation>Иконицу дизајниро %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Под <a href='%1'>Гнуовом Општом Јавном Лиценцом</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Затвори</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>О програму</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <source>What you always wanted to know about %1 and never dared to ask</source>
- <translation>Све што сте одувек желели да знате о програму %1 али се нисте усудили а питате</translation>
- </message>
-</context>
-<context>
- <name>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Очисти</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Молимо да купите %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Показна верзија је истекла.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <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/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Верзија ће истећи за %1 дана.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <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/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Користи показну верзију</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Набави пуну верзију</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>бајтова</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>b/s</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB/s</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB/s</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>секунди</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>минута</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 преостаје</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <source>This is just the demo version of %1.</source>
- <translation>Ово је тек демо верзија %1.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>Настави</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Преузмите пуну верзију</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <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="14"/>
- <source>Change location...</source>
- <translation>Промените локацију...</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Изаберите локацију преузимања</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Локација преузимања је промењена.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <source>Current downloads will still go in the previous location.</source>
- <translation>Тренутна преузимања ће се наставити са претходне локације.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="75"/>
- <source>Downloading to: %1</source>
- <translation>Преузимам у: %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>Преузимања</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Пусти</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Паузирај</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Пусти или паузирај</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Заустави</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Заустави пуштање након тренутне стазе</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Следећа стаза</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Претходна стаза</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Појачај</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Утишај</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Искључи тон</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Премотај унапред</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Премотај уназад</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Тражим...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Прикажи још %1</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Нема снимака</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Нема других снимака</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Грешка</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Заустави</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <source>Stop playback and go back to the search view</source>
- <translation>Зауставља пуштање и враћа се на приказ претраге</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="189"/>
- <source>S&kip</source>
- <translation>Прес&кочи</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Пушта следећи снимак</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Паузирај</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Паузира пуштање</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&Целоекрански приказ</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Прелази у целоекрански приказ</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Скрива плејлисту и траке алатки</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <source>Go to the YouTube video page and pause playback</source>
- <translation>Паузира пуштање и одлази на страницу на Јутјубу</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="240"/>
- <source>Copy the current video YouTube link to the clipboard</source>
- <translation>Копира Јутјуб везу тренутног видеау у клипборд</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="247"/>
- <source>Copy the current video stream URL to the clipboard</source>
- <translation>Копирај УРЛ тренутног видео тока у клипборд</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="254"/>
- <source>Find other video parts hopefully in the right order</source>
- <translation>Нађи остале делове видеа, можда и у исправном редоследу</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="260"/>
- <source>&Remove</source>
- <translation>&Уклони</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>Уклања изабране снимке из плејлисте</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>Помери на&више</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <source>Move up the selected videos in the playlist</source>
- <translation>Помера изабране снимке навише у плејлисти</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="274"/>
- <source>Move &Down</source>
- <translation>Помери на&ниже</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <source>Move down the selected videos in the playlist</source>
- <translation>Помера изабаране снимке наниже у плејлити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="286"/>
- <source>Clear the search history. Cannot be undone.</source>
- <translation>Уклања историјат претраге. Не може се опозвати.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="291"/>
- <source>&Quit</source>
- <translation>&Напусти</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Ћао</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>&Веб сајт</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 на вебу</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <source>Please support the continued development of %1</source>
- <translation>Молимо да подржите даљи развој програма %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="311"/>
- <source>&About</source>
- <translation>&О програму</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Подаци о програму %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Претрага</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Искључи тон</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Преузимања</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Приказује детаље о преузетим видео снимцима</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Преузми</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Преузима тренутни видео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Дели тренутни видео путем %1 </translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&Е-пошта</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Е-пошта</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Затвори</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Флутај на врху</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>Зау&стави након овог видеа</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Програм</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Купите %1....</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Пуштање</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Плејлиста</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Видео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Приказ</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Дељење</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Помоћ</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <source>Press %1 to raise the volume, %2 to lower it</source>
- <translation>Притисните %1 да би појачали, односно %2 да би утишали тон</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Отварам %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <source>Do you want to exit %1 with a download in progress?</source>
- <translation>Желите ли а напустите %1 током активног преузимања?</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="848"/>
- <source>If you close %1 now, this download will be cancelled.</source>
- <translation>Уколико затворите %1 сада ово преузимање ћњ бити отказано.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="853"/>
- <source>Close and cancel download</source>
- <translation>Затвори и откажи преузимање</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Сачекајте да се преузимање заврши</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Напусти &цео екран</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>Доступан је %1 верзије %2.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>Подести ме касније</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Да би ажирирали верзију преузмите %1 поново путем везе коју сте добили е.поштом и поново га инсталирајте.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Ажурирај</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Грешка:%1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>П&ретходни</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Иде на претходну нумеру</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>&Компактан режим</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Отвори страницу на &Јутјубу</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Копирај &везу са Јутјуба</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>Копирај &УРЛ видео тока</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Нађи &делове видеа</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>&Очисти недавне претраге</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>&Донирајте</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>&Ручно покретање пуштања</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Пуштање видеа се покреће ручно</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Пусти</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Настави пуштање</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Преостало време: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Јачина тона %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Тон је искључен</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Тон је поново укључен</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>Максимална дефиниција видеа је постављена на %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Ваша приватност је сада осигурана</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Преузимања су завршена</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <source>You can now paste the YouTube link into another application</source>
- <translation>Сад можете налепити везу са Јутјуба у други програм</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="554"/>
- <source>You can now paste the video stream URL into another application</source>
- <translation>Сад можете УРЛ видео тока налепити у други програм</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="555"/>
- <source>The link will be valid only for a limited time.</source>
- <translation>Веза је исправна само одређено време.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="654"/>
- <source>This is just the demo version of %1.</source>
- <translation>Ово је тек демо верзија %1.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>Настави</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <source>of</source>
- <comment>Used in video parts, as in '2 of 3'</comment>
- <translation>од</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Послато са %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Преузмите пуну верзију</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>преузимам %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Мрежна грешка: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 прегледа</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 од %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Припремам</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Неуспех</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Завршено</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Заустављено</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Заустави преузимање</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Прикажи у %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Отвори родитељску фасциклу</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Поново покрени преузимање</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <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 <a href='%1'>%2</a>,</source>
- <translation>Добродошли у <a href='%1'>%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Преузмите пуну верзију</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>унесите</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>кључну реч</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>канал</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>да би започели преглед видео снимака.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Гледај</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Недавни кључне речи</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Недавни канали</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Раскомотите се</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <source>Cannot get video stream for %1</source>
- <translation>не могу да добавим видео ток за %1</translation>
- </message>
- <message>
- <location filename="src/video.cpp" line="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Мрежна грешка: %1 за %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
+++ /dev/null
-<?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="28"/>
- <source>There's life outside the browser!</source>
- <translation>Det finns ett liv utanför webläsaren!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Version %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <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="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Vänligen <a href='%1'> donera</a> för att stöda den fortsatta utveklingen utav %2</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <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="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, en YouTube musik spelare</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, en musik spelare</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <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="56"/>
- <source>Icon designed by %1.</source>
- <translation>Ikon designad av %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Släppt under <a href='%1'>GNU General Public License</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Stäng</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Om</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <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>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Rensa</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Vänligen licensiera %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Denna demo har utgått.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
- <translation>Fullversionen möjliggör dig att ladda ned videos längre än %1 minuter och titta på videos utan avbrott.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Denna demo kommer att utgå om %1 dagar</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <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/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Använd demo</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Skaffa den fullständiga versionen</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>bytes</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>MB</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>byte / sekund</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>KB / sekund</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>MB / sekund</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>sekunder</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>minuter</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>%4 %5 återstår</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <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="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>Fortsätt</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Få den fullständiga versionen</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <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="14"/>
- <source>Change location...</source>
- <translation>Byt plats ...</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Välj hämtningsplats</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Hämtningsplatsen har ändrats.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <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="75"/>
- <source>Downloading to: %1</source>
- <translation>Hämtar till: %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>Nedladdningar</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Spela</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>Spela / Pausa</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Stoppa</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Sluta spela efter nuvarande spår</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Nästa spår</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Föregående spår</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Öka volymen</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Minska volymen</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Mute</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Sök framåt</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Sök bakåt</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Söker...</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Visa %1 Fler</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Inga videos</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Inga fler videos</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Fel</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Stop</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <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="189"/>
- <source>S&kip</source>
- <translation>H&oppa</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Hoppa till nästa video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Pausa</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Pausa uppspelning</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>&Helskärm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Använd helskärm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Dölj spellistan och verktygsfältet</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <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="240"/>
- <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="247"/>
- <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="254"/>
- <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="260"/>
- <source>&Remove</source>
- <translation>&Ta bort</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <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="267"/>
- <source>Move &Up</source>
- <translation>Flytta &upp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <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="274"/>
- <source>Move &Down</source>
- <translation>Flytta &nedåt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <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="286"/>
- <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="291"/>
- <source>&Quit</source>
- <translation>&Avsluta</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>Hej då</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>&Webbsida</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 på webben</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <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="311"/>
- <source>&About</source>
- <translation>&Om</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Info om %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Sök</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Volym av</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Nedladdningar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Visa detaljer om video nedladdningar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Ladda ner</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Ladda ner den aktuella videon</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Dela nuvarande video med %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&Email</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Email</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Stäng</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Flyt ovanpå</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>&Stoppa efter denna video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Applikation</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Köp %1...</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Uppspelning</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Spellista</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>&Video</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Vy</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Dela</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Hjälp</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Öppnar %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <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="848"/>
- <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="853"/>
- <source>Close and cancel download</source>
- <translation>Stäng och avbryt nedladdning</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Vänta på att nedladdning blir klar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Lämna &Helskärm</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <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="1377"/>
- <source>Remind me later</source>
- <translation>Påminn mig senare</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>För att få den uppdaterade versionen, ladda ned %1 igen från länken du har fått via email och ominstallera.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Uppdatera</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Fel: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>Fö&regående</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <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="219"/>
- <source>&Compact Mode</source>
- <translation>Kompakt läge</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Öppna &YouTube sidan</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Kopiera YouTube &Länk</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>Kopiera video ström &URL</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Hitta Video Delar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>&Rensa Senaste Sökningar</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>Gör en &Donation</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>Starta Spela &Manuellt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Starta Spela Videos Manuellt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>&Spela</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Återuppta uppspelning</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Återstående tid: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Volym %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Ljudet är avstängt</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Volymen är på</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <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="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Din integritet är nu säker</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Nedladdningar klar</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <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="554"/>
- <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="555"/>
- <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="654"/>
- <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="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>Fortsätt</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <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="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Skickad från %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Skaffa den fullständiga versionen</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Hämtar %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Nätverks fel:%1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 visningar</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 av %2 (%3) -%4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Förbereder</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Misslyckades</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Färdig</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Stoppad</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Stoppa nedladdning</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Visa i %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Äppna föregående folder</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Omstarta nedladdning</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <source>Done</source>
- <translation type="unfinished"/>
- </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 <a href='%1'>%2</a>,</source>
- <translation>Välkommen till <a href='%1'>%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Skaffa den kompletta versionen</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Ange</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>ett sökord</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>en kanal</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>för att börja titta på video.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Titta</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Senaste sökord</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Senaste kanaler</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Gör dig själv bekväm</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <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="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Nätverks fel: %1 för %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>Tarayıcının dışındaki yaşam!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
- <translation>Version %1</translation>
+ <translation>Sürüm %1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>%1 için lisanslanmıştır</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<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="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>Lütfen %2 geliştirilmesinin devam etmesi için <a href='%1'>bağış</a> yapın.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<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="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1, YouTube müzik oynatıcı</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
<translation>%1, bir müzik çalar</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>%1'i, %2 kullanarak kendi dilinize çevirin</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>Simge %1 tarafından tasarlandı.</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation><a href='%1'>GNU Genel Kamu Lisansı</a> ile yayınlanmıştır</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>&Kapat</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>Hakkında</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<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>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Temizle</translation>
+ <location filename="local/src/activationdialog.cpp" line="17"/>
+ <source>Enter your License Details</source>
+ <translation>Lisans bilgilerini girin</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="29"/>
+ <source>&Email:</source>
+ <translation>&Eposta:</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation>Kod:</translation>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
- <translation>Lütfen %1'i kaydettirin</translation>
+ <translation>Lütfen lisans %1</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>Bu deneme sürümünün süresi dolmuş.</translation>
+ <translation>Deneme süresi bitti.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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>Tam sürüm %1 dakikadan uzun videoları indirmenize ve videoları kesinti olmadan izlemenize olanak sağlar.</translation>
+ <translation>Uygulamanın tam sürüm hali, sizin %1 dakikadan uzun videoları indirmenize ve kesintisiz video izlemenize izin verir.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Bu deneme sürümünün süresi %1 gün içinde dolacak.</translation>
+ <location filename="local/src/activationview.cpp" line="55"/>
+ <source>Without a license, the application will expire in %1 days.</source>
+ <translation>Lisans olmazsa, uygulama süresi %1 gün içinde dolacaktır.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
+ <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>Tam sürümü satın alarak, %1'i oluşturmaya harcadığım emeği de desteklemiş olacaksınız.</translation>
+ <translation>Tam sürümü alarak, aynı zamanda %1 yaratmamdaki üstün çabamı destekleyebilirsiniz.</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>Deneme Sürümü Kullan</translation>
+ <translation>Demo kullan</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Tam sürüme geç</translation>
+ <location filename="local/src/activationview.cpp" line="77"/>
+ <source>Enter License</source>
+ <translation>Lisans Girin</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationview.cpp" line="85"/>
+ <source>Buy License</source>
+ <translation>Lisans Al</translation>
+ </message>
+</context>
+<context>
+ <name>ClearButton</name>
+ <message>
+ <location filename="src/searchlineedit.cpp" line="56"/>
+ <source>Clear</source>
+ <translation>Temizle</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
- <location filename="src/downloaditem.cpp" line="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>byte</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>byte/san</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>KB/san</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>MB/san</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>saniye</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>dakika</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
<translation>%4 %5 kaldı</translation>
</message>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>Bu sadece %'in demo sürümüdür.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>Bu sadece %1 dakikadan kısa videoları indirebilir, indirme özelliğini böylece test edebilirsiniz.</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>Devam</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>Tam sürüme geç</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
+ <translation>%2 de %1 indirildi</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
- <translation type="unfinished"/>
+ <translation>İndirme tamamlandı.</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<source>%n Download(s)</source>
<translation><numerusform>%n İndirme</numerusform></translation>
</message>
<context>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>Konumu değiştir...</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>İndirme konumunu seçin</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>İndirme konumu değişti</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<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="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>İndiriliyor: %1</translation>
</message>
<translation>İndirmeler</translation>
</message>
</context>
+<context>
+ <name>DownloadWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="60"/>
+ <source>Downloading update...</source>
+ <translation>Güncelleme indiriliyor...</translation>
+ </message>
+</context>
<context>
<name>GlobalShortcuts</name>
<message>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Aranıyor...</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>Arama</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>%1 Tane daha</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>Anahtar kelimeye göre video ve kanal bulun</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Video yok</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>Gözat</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Daha fazla yok</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>Kategoriye göre videoları gözat</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>Kendinizi rahat hissedin</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>&Dur</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<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="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>&Atla</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>Sonraki videoya atla</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>&Bekle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>Oynatmayı beklet</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>&Tam ekran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>Tam ekran görünümü</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>Listeyi ve araç çubuğunu gizle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<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="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<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="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<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="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<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="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>&Kaldır</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<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="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>Y&ukarı taşı</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<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="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>A&şağı taşı</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<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="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<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="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>&Çık</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
<translation>Gülegüle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>&Website</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1 İnternette</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<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="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>&Hakkında</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>%1 Hakkında</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>Ara</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>Sesi kes</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>&İndirmeler</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<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="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>&İndir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>Geçerli videoyu indir</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<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="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
<translation>&Eposta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
<translation>Eposta</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>&Kapat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
<translation>Üstte Sabitle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
<translation>Bu Videodan &Sonra Durdur</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
- <translation type="unfinished"/>
+ <translation>Bir Sorun Bildi&r</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
- <translation type="unfinished"/>
+ <translation>A&ramayı Sınırla...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>Dahası...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>Benze&r Videolar</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <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"/>
<source>&Application</source>
<translation>&Uygulama</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>%1 Satın Al...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
<translation>&Çalma</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>Oynatma &listesi</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>&Video</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
<translation>&Görünüm</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
<translation>Payla&s</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>Yardı&m</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<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="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>%1 Açılıyor</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<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="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation>Eğer %1'İ şimdi kapatırsanız, bu indirme iptal edilecek.</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>Kapat ve indirmeyi iptal et</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>İndirmenin bitmesini bekle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
<translation>&Tam Ekrandan Çık</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<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="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>Daha sonra hatırlat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>Güncellenmiş sürümü edinmek için, e-posta yoluyla aldığınız bağlantı üzerinden %1'i indirin ve yeniden kurun.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>Güncelle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>Hata: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
<translation>Önceki</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<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="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
<translation>Kü&cültümüş Ekran</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
<translation>&YouTube Sayfasını Aç</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
<translation>YouTube &Linkini Kopyala</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
<translation>Video &URL'sini Kopyala</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
<translation>Video Bölümlerini Bul</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
<translation>Son Aramaları Temizle</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>Bağış Yap</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
<translation>&Manuel Olarak Çalmaya Başla</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>Videoları manuel olarak çalmaya başla</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <location filename="src/mainwindow.cpp" line="728"/>
+ <source>Choose your content location</source>
+ <translation>Konumunuzu seçin</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="1002"/>
<source>&Play</source>
<translation>&Oynat</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
<translation>Oynatmaya devam et</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>Kalan zaman: %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>Ses %1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>Ses kapandı</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>Ses açık</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<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="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>Şimdi gizliliğiniz güvende</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>İndirme tamamlandı</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<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="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<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="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<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="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>Bu sadece %1'in demo sürümüdür.</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>Devam</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
<translation>/</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<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="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<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="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
<translation>%1 ile gönderildi</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>Tam sürüme geç</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>İndiriliyor %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <name>MessageWidget</name>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="21"/>
+ <source>A new version of %1 is available!</source>
+ <translation>%1 e ait yeni sürüm kullanılabilir.</translation>
+ </message>
<message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Ağ hatası: %1</translation>
+ <location filename="local/src/updatedialog.cpp" line="28"/>
+ <source>%1 %2 is now available. You have %3.</source>
+ <translation>%1 %2 şimdi kullanılabilir. Siz %3</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="33"/>
+ <source>Would you like to download it now?</source>
+ <translation>Bunu şimdi indirmek istiyor musunuz?</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="39"/>
+ <source>Skip This Version</source>
+ <translation>Bu Sürümü Geç</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="43"/>
+ <source>Remind Me Later</source>
+ <translation>Daha sonra Hatırlat</translation>
+ </message>
+ <message>
+ <location filename="local/src/updatedialog.cpp" line="47"/>
+ <source>Install Update</source>
+ <translation>Güncellemeyi Yükle</translation>
+ </message>
+</context>
+<context>
+ <name>PasteLineEdit</name>
+ <message>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation>Yapıştır</translation>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
- <translation>%1 görüntüleme</translation>
+ <translation>%1 görüntülenme</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
- <translation>%1 / %2 (%3) — %4</translation>
+ <translation>%1 of %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>Hazırlanıyor</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
- <translation>Başarısız oldu</translation>
+ <translation>Başarısız</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>Tamamlandı</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
- <translation>Durdu</translation>
+ <translation>Durduruldu</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
- <translation>İndirmeyi durdur</translation>
+ <translation>İndirme işlemini durdur</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>%1 içinde göster</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
- <translation>Ã\9cst dizini aç</translation>
+ <translation>Ã\96nceki dizini aç</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
- <translation>İndirmeyi tekrar başlat</translation>
+ <translation>İndirme işlemini yeniden başlat</translation>
+ </message>
+</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>Aranıyor...</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>%1 Tane Daha Göster</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>Video yok</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>Daha fazla video yok</translation>
</message>
</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
- <translation type="unfinished"/>
+ <translation>Sırala</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
- <translation type="unfinished"/>
+ <translation>Alaka</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
- <translation type="unfinished"/>
+ <translation>Tarih</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
- <translation type="unfinished"/>
+ <translation>Hiti Göster</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
- <translation type="unfinished"/>
+ <translation>Hit</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
- <translation type="unfinished"/>
+ <translation>Herhangi bir zaman</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
- <translation type="unfinished"/>
+ <translation>Bugün</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
- <translation type="unfinished"/>
+ <translation>7 Gün</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
- <translation type="unfinished"/>
+ <translation>30 Gün</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
- <translation type="unfinished"/>
+ <translation>Süre</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
- <translation type="unfinished"/>
+ <translation>Hepsi</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
- <translation type="unfinished"/>
+ <translation>Kısa</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
- <translation type="unfinished"/>
+ <translation>Orta</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
- <translation type="unfinished"/>
+ <translation>Uzun</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
- <translation type="unfinished"/>
+ <translation>4 dakikadan kısa</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>4 - 20 dakika arası</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
+ <translation>20 dakikadan uzun</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
- <translation type="unfinished"/>
+ <translation>Kalite</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
- <translation type="unfinished"/>
+ <translation>Yüksek Kalite</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
- <translation type="unfinished"/>
+ <translation>720p veya daha yüksek</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
- <translation type="unfinished"/>
+ <translation>Bitti</translation>
+ </message>
+</context>
+<context>
+ <name>RegionsView</name>
+ <message>
+ <location filename="src/regionsview.cpp" line="19"/>
+ <source>Done</source>
+ <translation>Tamamlandı</translation>
</message>
</context>
<context>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation><a href='%1'>%2</a>'a Hoşgeldiniz</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>Tam sürüme geç</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>Giriş yapın</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>bir anahtar kelime</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>bir kanal</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>ve videoları izlemeye başlayın.</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>İzle</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>Son arananlar</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>Önceki kanallar</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Kendinize konfor sunun</translation>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>Geri</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="57"/>
+ <source>Forward to %1</source>
+ <translation>%1 Yönlendir</translation>
+ </message>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="70"/>
+ <source>Back to %1</source>
+ <translation>Geri Dön: %1</translation>
</message>
</context>
<context>
<name>SidebarWidget</name>
<message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
- <translation type="unfinished"/>
+ <translation>A&ramayı Sınırla</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
- <translation type="unfinished"/>
+ <translation>Bunu mu demek istediniz: %1</translation>
+ </message>
+</context>
+<context>
+ <name>StandardFeedsView</name>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="85"/>
+ <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"/>
+ <source>Most Shared</source>
+ <translation>En Çok Paylaşılanlar</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="88"/>
+ <source>Most Discussed</source>
+ <translation>En Çok Tartışılan</translation>
+ </message>
+ <message>
+ <location filename="src/standardfeedsview.cpp" line="89"/>
+ <source>Top Rated</source>
+ <translation>En Çok Oy Verilenler</translation>
</message>
</context>
<context>
<name>Video</name>
<message>
- <location filename="src/video.cpp" line="200"/>
+ <location filename="src/video.cpp" line="213"/>
<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="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>Ağ hatası: %2 için %1</translation>
</message>
</context>
+<context>
+ <name>YTRegions</name>
+ <message>
+ <location filename="src/ytregions.cpp" line="8"/>
+ <source>Algeria</source>
+ <translation>Cezayir</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="9"/>
+ <source>Argentina</source>
+ <translation>Arjantin</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="10"/>
+ <source>Australia</source>
+ <translation>Avustralya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="11"/>
+ <source>Belgium</source>
+ <translation>Belçika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="12"/>
+ <source>Brazil</source>
+ <translation>Brezilya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="13"/>
+ <source>Canada</source>
+ <translation>Kanada</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="14"/>
+ <source>Chile</source>
+ <translation>Şili</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="15"/>
+ <source>Colombia</source>
+ <translation>Kolombiya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="16"/>
+ <source>Czech Republic</source>
+ <translation>Çek Cumhuriyeti</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="17"/>
+ <source>Egypt</source>
+ <translation>Mısır</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="18"/>
+ <source>France</source>
+ <translation>Fransa</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="19"/>
+ <source>Germany</source>
+ <translation>Almanya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="20"/>
+ <source>Ghana</source>
+ <translation>Gana</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="21"/>
+ <source>Greece</source>
+ <translation>Yunanistan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="22"/>
+ <source>Hong Kong</source>
+ <translation>Hong Kong</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="23"/>
+ <source>Hungary</source>
+ <translation>Macaristan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="24"/>
+ <source>India</source>
+ <translation>Hindistan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="25"/>
+ <source>Indonesia</source>
+ <translation>Endonezya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="26"/>
+ <source>Ireland</source>
+ <translation>İrlanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="27"/>
+ <source>Israel</source>
+ <translation>İsrail</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="28"/>
+ <source>Italy</source>
+ <translation>İtalya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="29"/>
+ <source>Japan</source>
+ <translation>Japonya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="30"/>
+ <source>Jordan</source>
+ <translation>Ürdün</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="31"/>
+ <source>Kenya</source>
+ <translation>Kenya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="32"/>
+ <source>Malaysia</source>
+ <translation>Malezya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="33"/>
+ <source>Mexico</source>
+ <translation>Meksika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="34"/>
+ <source>Morocco</source>
+ <translation>Fas</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="35"/>
+ <source>Netherlands</source>
+ <translation>Hollanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="36"/>
+ <source>New Zealand</source>
+ <translation>Yeni Zelanda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="37"/>
+ <source>Nigeria</source>
+ <translation>Nijerya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="38"/>
+ <source>Peru</source>
+ <translation>Peru</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="39"/>
+ <source>Philippines</source>
+ <translation>Filipinler</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="40"/>
+ <source>Poland</source>
+ <translation>Polonya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="41"/>
+ <source>Russia</source>
+ <translation>Rusya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="42"/>
+ <source>Saudi Arabia</source>
+ <translation>Suudi Arabistan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="43"/>
+ <source>Singapore</source>
+ <translation>Singapur</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="44"/>
+ <source>South Africa</source>
+ <translation>Güney Afrika</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="45"/>
+ <source>South Korea</source>
+ <translation>Güney Kore</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="46"/>
+ <source>Spain</source>
+ <translation>İspanya</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="47"/>
+ <source>Sweden</source>
+ <translation>İsviçre</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="48"/>
+ <source>Taiwan</source>
+ <translation>Tayvan</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="49"/>
+ <source>Tunisia</source>
+ <translation>Tunus</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="50"/>
+ <source>Turkey</source>
+ <translation>Türkiye</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="51"/>
+ <source>Uganda</source>
+ <translation>Uganda</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="52"/>
+ <source>United Arab Emirates</source>
+ <translation>Birleşik Arap Emirlikleri</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="53"/>
+ <source>United Kingdom</source>
+ <translation>İngiltere</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="54"/>
+ <source>Yemen</source>
+ <translation>Yemen</translation>
+ </message>
+ <message>
+ <location filename="src/ytregions.cpp" line="128"/>
+ <source>Worldwide</source>
+ <translation>Dünya Çapında</translation>
+ </message>
+</context>
</TS>
\ No newline at end of file
+++ /dev/null
-<?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="28"/>
- <source>There's life outside the browser!</source>
- <translation>За межами браузеру існує життя!</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="29"/>
- <source>Version %1</source>
- <translation>Версія %1</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="33"/>
- <source>%1 is Free Software but its development takes precious time.</source>
- <translation>%1 — це вільне програмне забезпечення, але його розробка займає дорогоцінний час.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="34"/>
- <source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
- <translation>Будь ласка, <a href='%1'>внесіть пожертву</a>, щоб підтримати подальший розвиток %2.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="38"/>
- <source>You may want to try my other apps as well:</source>
- <translation>Спробуйте інші мої програми:</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="41"/>
- <source>%1, a YouTube music player</source>
- <translation>%1, музичний плеєр YouTube</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="45"/>
- <source>%1, a music player</source>
- <translation>%1, музичний плеєр</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="51"/>
- <source>Translate %1 to your native language using %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="56"/>
- <source>Icon designed by %1.</source>
- <translation>Піктограму намалював %1.</translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="60"/>
- <source>Released under the <a href='%1'>GNU General Public License</a></source>
- <translation>Ліцензовано <a href='%1'>Загальною громадською ліцензією GNU</a></translation>
- </message>
- <message>
- <location filename="src/AboutView.cpp" line="73"/>
- <source>&Close</source>
- <translation>&Закрити</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="25"/>
- <source>About</source>
- <translation>Про програму</translation>
- </message>
- <message>
- <location filename="src/AboutView.h" line="27"/>
- <source>What you always wanted to know about %1 and never dared to ask</source>
- <translation>Все те, про %1, що ви завжди хотіли дізнатись, але не наважувалися спитати</translation>
- </message>
-</context>
-<context>
- <name>ClearButton</name>
- <message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>Очистити</translation>
- </message>
-</context>
-<context>
- <name>DemoStartupView</name>
- <message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
- <source>Please license %1</source>
- <translation>Ліцензія %1</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
- <source>This demo has expired.</source>
- <translation>Пробний період вичерпано.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
- <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/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>Пробний період завершиться за %1 днів.</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="45"/>
- <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/demostartupview.cpp" line="57"/>
- <source>Use Demo</source>
- <translation>Пробна версія</translation>
- </message>
- <message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>Отримати повну версію</translation>
- </message>
-</context>
-<context>
- <name>DownloadItem</name>
- <message>
- <location filename="src/downloaditem.cpp" line="312"/>
- <source>bytes</source>
- <translation>байт</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="315"/>
- <source>KB</source>
- <translation>КБ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="318"/>
- <source>MB</source>
- <translation>МБ</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="327"/>
- <source>bytes/sec</source>
- <translation>байт/сек</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="330"/>
- <source>KB/sec</source>
- <translation>КБ/сек</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="333"/>
- <source>MB/sec</source>
- <translation>МБ/сек</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="339"/>
- <source>seconds</source>
- <translation>секунд</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="342"/>
- <source>minutes</source>
- <translation>хвилин</translation>
- </message>
- <message>
- <location filename="src/downloaditem.cpp" line="345"/>
- <source>%4 %5 remaining</source>
- <translation>залишилось %4 %5</translation>
- </message>
-</context>
-<context>
- <name>DownloadManager</name>
- <message>
- <location filename="src/downloadmanager.cpp" line="48"/>
- <source>This is just the demo version of %1.</source>
- <translation>Це всього лише демо-версія %1.</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="50"/>
- <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="56"/>
- <source>Continue</source>
- <translation>Продовжити</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="57"/>
- <source>Get the full version</source>
- <translation>Отримати повнофункціональну версію</translation>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="142"/>
- <source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/downloadmanager.cpp" line="145"/>
- <source>Download finished</source>
- <translation type="unfinished"/>
- </message>
- <message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
- <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="14"/>
- <source>Change location...</source>
- <translation>Змінити теку…</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="46"/>
- <source>Choose the download location</source>
- <translation>Оберіть теку для завантаження</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="61"/>
- <source>Download location changed.</source>
- <translation>Теку завантаження змінено.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="63"/>
- <source>Current downloads will still go in the previous location.</source>
- <translation>Поточні завантаження все ще будуть збережені у попередньому місці.</translation>
- </message>
- <message>
- <location filename="src/downloadsettings.cpp" line="75"/>
- <source>Downloading to: %1</source>
- <translation>Завантажуеться в %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>Завантаження</translation>
- </message>
-</context>
-<context>
- <name>GlobalShortcuts</name>
- <message>
- <location filename="src/globalshortcuts.cpp" line="16"/>
- <source>Play</source>
- <translation>Грати</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="17"/>
- <source>Pause</source>
- <translation>Пауза</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="18"/>
- <source>Play/Pause</source>
- <translation>Грати/Пауза</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="19"/>
- <source>Stop</source>
- <translation>Зупинити</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="20"/>
- <source>Stop playing after current track</source>
- <translation>Зупинити програвання по завершенні треку</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="21"/>
- <source>Next track</source>
- <translation>Наступний трек</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="22"/>
- <source>Previous track</source>
- <translation>Попередній трек</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="23"/>
- <source>Increase volume</source>
- <translation>Збільшити гучність</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="24"/>
- <source>Decrease volume</source>
- <translation>Зменшити гучність</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="25"/>
- <source>Mute</source>
- <translation>Приглушити</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="26"/>
- <source>Seek forward</source>
- <translation>Шукати наступне</translation>
- </message>
- <message>
- <location filename="src/globalshortcuts.cpp" line="27"/>
- <source>Seek backward</source>
- <translation>Шукати попереднє</translation>
- </message>
-</context>
-<context>
- <name>ListModel</name>
- <message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>Йде пошук…</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>Показати ще %1</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>Нема відео</translation>
- </message>
- <message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>Більше немає відео</translation>
- </message>
-</context>
-<context>
- <name>LoadingWidget</name>
- <message>
- <location filename="src/loadingwidget.cpp" line="90"/>
- <source>Error</source>
- <translation>Помилка</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="src/MainWindow.cpp" line="170"/>
- <source>&Stop</source>
- <translation>&Зупинити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="171"/>
- <source>Stop playback and go back to the search view</source>
- <translation>Зупинити відтворення та повернутися до вікна пошуку</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="189"/>
- <source>S&kip</source>
- <translation>П&ропустити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="190"/>
- <source>Skip to the next video</source>
- <translation>Перейти до наступного відео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
- <source>&Pause</source>
- <translation>&Пауза</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
- <source>Pause playback</source>
- <translation>Призупинити відтворення</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="203"/>
- <source>&Full Screen</source>
- <translation>Н&а весь екран</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="204"/>
- <source>Go full screen</source>
- <translation>Переключити на повноекранний режим</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="220"/>
- <source>Hide the playlist and the toolbar</source>
- <translation>Сховати плейлист і панель інструментів</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="233"/>
- <source>Go to the YouTube video page and pause playback</source>
- <translation>Відкрити сторінку на YouTube та призупинити відтворення</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="240"/>
- <source>Copy the current video YouTube link to the clipboard</source>
- <translation>Скопіювати YouTube-посилання поточного відео в буфер</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="247"/>
- <source>Copy the current video stream URL to the clipboard</source>
- <translation>Скопіювати URL поточного відеопотоку в буфер</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="254"/>
- <source>Find other video parts hopefully in the right order</source>
- <translation>Знайти інші частини відео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="260"/>
- <source>&Remove</source>
- <translation>&Вилучити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="261"/>
- <source>Remove the selected videos from the playlist</source>
- <translation>Вилучити вибрані відео з плейлисту</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="267"/>
- <source>Move &Up</source>
- <translation>Зсув в&гору</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="268"/>
- <source>Move up the selected videos in the playlist</source>
- <translation>Зсунути вибрані в плейлисті відео вгору</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="274"/>
- <source>Move &Down</source>
- <translation>Зсунути вни&з</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="275"/>
- <source>Move down the selected videos in the playlist</source>
- <translation>Зсунути вибрані в плейлисті відео вниз</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="286"/>
- <source>Clear the search history. Cannot be undone.</source>
- <translation>Очистити історію пошуку. Зміни необоротні.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="291"/>
- <source>&Quit</source>
- <translation>Ви&хід</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="294"/>
- <source>Bye</source>
- <translation>До побачення</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="298"/>
- <source>&Website</source>
- <translation>Са&йт</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="300"/>
- <source>%1 on the Web</source>
- <translation>%1 в вебі</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="306"/>
- <source>Please support the continued development of %1</source>
- <translation>Будь ласка, підтримайте подальший розвиток %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="311"/>
- <source>&About</source>
- <translation>&Про програму</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="313"/>
- <source>Info about %1</source>
- <translation>Інформація про %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="321"/>
- <source>Search</source>
- <translation>Пошук</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="340"/>
- <source>Mute volume</source>
- <translation>Приглушити гучність</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
- <source>&Downloads</source>
- <translation>&Завантаження</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="370"/>
- <source>Show details about video downloads</source>
- <translation>Показати подробиці про завантажувані відео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="378"/>
- <source>&Download</source>
- <translation>&Завантажити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="379"/>
- <source>Download the current video</source>
- <translation>Завантажити поточне відео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="398"/>
- <source>Share the current video using %1</source>
- <translation>Поділитись відео через %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="415"/>
- <source>&Email</source>
- <translation>&Email</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="416"/>
- <source>Email</source>
- <translation>Email</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="420"/>
- <source>&Close</source>
- <translation>&Закрити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="430"/>
- <source>&Float on Top</source>
- <translation>&Поверх всіх вікон</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="435"/>
- <source>&Stop After This Video</source>
- <translation>&Зупинити після цього відео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="442"/>
- <source>&Report an Issue...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="446"/>
- <source>&Refine Search...</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="481"/>
- <source>&Application</source>
- <translation>&Програма</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="483"/>
- <source>Buy %1...</source>
- <translation>Придбати %1...</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="494"/>
- <source>&Playback</source>
- <translation>&Відтворення</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="508"/>
- <source>&Playlist</source>
- <translation>&Плейлист</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="517"/>
- <source>&Video</source>
- <translation>В&ідео</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="529"/>
- <source>&View</source>
- <translation>&Вигляд</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="536"/>
- <source>&Share</source>
- <translation>&Поділитись</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="550"/>
- <source>&Help</source>
- <translation>&Довідка</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="628"/>
- <source>Press %1 to raise the volume, %2 to lower it</source>
- <translation>Натисніть %1, щоб збільшити гучність, а %2 — щоб знизити</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
- <source>Opening %1</source>
- <translation>Відкриття %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="847"/>
- <source>Do you want to exit %1 with a download in progress?</source>
- <translation>Триває завантаження відео. Ви бажаєте закрити %1?</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="848"/>
- <source>If you close %1 now, this download will be cancelled.</source>
- <translation>Якщо ви закриєте %1 прямо зараз, ці завантаження будуть скасовані.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="853"/>
- <source>Close and cancel download</source>
- <translation>Закрити та скасувати завантаження</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="854"/>
- <source>Wait for download to finish</source>
- <translation>Дочекатися завершення завантаження</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1008"/>
- <source>Leave &Full Screen</source>
- <translation>Вийти з &Повноекранного режиму</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1363"/>
- <source>%1 version %2 is now available.</source>
- <translation>%1 версія %2 доступна.</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1377"/>
- <source>Remind me later</source>
- <translation>Нагадати мені пізніше</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
- <source>Update</source>
- <translation>Оновлення</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="888"/>
- <source>Error: %1</source>
- <translation>Помилка: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="179"/>
- <source>P&revious</source>
- <translation>П&опередній</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="180"/>
- <source>Go back to the previous track</source>
- <translation>Повернутись до попереднього треку</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="219"/>
- <source>&Compact Mode</source>
- <translation>&Компактний режим</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="232"/>
- <source>Open the &YouTube Page</source>
- <translation>Відкрити сторінку &YouTube</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="239"/>
- <source>Copy the YouTube &Link</source>
- <translation>Ві&дкрити сторінку YouTube</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="246"/>
- <source>Copy the Video Stream &URL</source>
- <translation>Копіювати посилання &на відеопотік</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="253"/>
- <source>Find Video &Parts</source>
- <translation>Знайти &Відеофрагменти</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="281"/>
- <source>&Clear Recent Searches</source>
- <translation>&Очистити попередній пошук</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="305"/>
- <source>Make a &Donation</source>
- <translation>Зробити &Пожертву</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="362"/>
- <source>&Manually Start Playing</source>
- <translation>&Починати програвання вручну</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="363"/>
- <source>Manually start playing videos</source>
- <translation>Manually start playing videos</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="908"/>
- <source>&Play</source>
- <translation>Гр&ати</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="909"/>
- <source>Resume playback</source>
- <translation>Відновити відтворення</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1136"/>
- <source>Remaining time: %1</source>
- <translation>Залишилось часу: %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1194"/>
- <source>Volume at %1%</source>
- <translation>Гучність %1%</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1200"/>
- <source>Volume is muted</source>
- <translation>Гучність приглушено</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1203"/>
- <source>Volume is unmuted</source>
- <translation>Гучність відновлено</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1210"/>
- <source>Maximum video definition set to %1</source>
- <translation>Максимальна чіткість відео встановлена на %1</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1246"/>
- <source>Your privacy is now safe</source>
- <translation>Ваша конфіденційність зараз у безпеці</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1261"/>
- <source>Downloads complete</source>
- <translation>Завантаження завершено</translation>
- </message>
-</context>
-<context>
- <name>MediaView</name>
- <message>
- <location filename="src/MediaView.cpp" line="546"/>
- <source>You can now paste the YouTube link into another application</source>
- <translation>Тепер ви можете вставити це посилання до іншої програми</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="554"/>
- <source>You can now paste the video stream URL into another application</source>
- <translation>Тепер ви можете вставити URL відеопотоку до іншої програми</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="555"/>
- <source>The link will be valid only for a limited time.</source>
- <translation>Посилання буде дійсне тільки протягом обмеженого часу.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="654"/>
- <source>This is just the demo version of %1.</source>
- <translation>Це всього лише демо-версія %1.</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="655"/>
- <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="685"/>
- <source>Continue</source>
- <translation>Продовжити</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="783"/>
- <source>of</source>
- <comment>Used in video parts, as in '2 of 3'</comment>
- <translation>з</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="795"/>
- <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="797"/>
- <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="867"/>
- <source>Sent from %1</source>
- <translation>Відправити з %1</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="662"/>
- <source>Get the full version</source>
- <translation>Отримати повнофункціональну версію</translation>
- </message>
- <message>
- <location filename="src/MediaView.cpp" line="707"/>
- <source>Downloading %1</source>
- <translation>Завантаження %1</translation>
- </message>
-</context>
-<context>
- <name>NetworkAccess</name>
- <message>
- <location filename="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>Помилка мережі: %1</translation>
- </message>
-</context>
-<context>
- <name>PrettyItemDelegate</name>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
- <source>%1 views</source>
- <translation>%1 переглядів</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
- <source>%1 of %2 (%3) — %4</source>
- <translation>%1 з %2 (%3) — %4</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
- <source>Preparing</source>
- <translation>Готується</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
- <source>Failed</source>
- <translation>Не вдалося</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
- <source>Completed</source>
- <translation>Завершено</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
- <source>Stopped</source>
- <translation>Зупинено</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
- <source>Stop downloading</source>
- <translation>Зупинити завантаження</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
- <source>Show in %1</source>
- <translation>Показати у %1</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
- <source>Open parent folder</source>
- <translation>Перейти до теки з відео</translation>
- </message>
- <message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
- <source>Restart downloading</source>
- <translation>Завантажити заново</translation>
- </message>
-</context>
-<context>
- <name>RefineSearchWidget</name>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
- <source>Sort by</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
- <source>Relevance</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
- <source>Date</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
- <source>View Count</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
- <source>Rating</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
- <source>Anytime</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
- <source>Today</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
- <source>7 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
- <source>30 Days</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
- <source>Duration</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
- <source>All</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
- <source>Short</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
- <source>Medium</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
- <source>Long</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
- <source>Less than 4 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
- <source>Between 4 and 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
- <source>Longer than 20 minutes</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
- <source>Quality</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
- <source>High Definition</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
- <source>720p or higher</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
- <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 <a href='%1'>%2</a>,</source>
- <translation>Ласкаво просимо до <a href='%1'>%2</a>,</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="49"/>
- <source>Get the full version</source>
- <translation>Отримати повнофункціональну версію</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="102"/>
- <source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
- <translation>Введіть</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="107"/>
- <source>a keyword</source>
- <translation>ключове слово</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="108"/>
- <source>a channel</source>
- <translation>канал</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="113"/>
- <source>to start watching videos.</source>
- <translation>, щоб почати дивитися відео.</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="137"/>
- <source>Watch</source>
- <translation>Перегляд</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="155"/>
- <source>Recent keywords</source>
- <translation>Останні ключові слова</translation>
- </message>
- <message>
- <location filename="src/SearchView.cpp" line="168"/>
- <source>Recent channels</source>
- <translation>Останні канали</translation>
- </message>
- <message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>Влаштовуйтеся зручніше</translation>
- </message>
-</context>
-<context>
- <name>SidebarWidget</name>
- <message>
- <location filename="src/sidebarwidget.cpp" line="48"/>
- <source>Refine Search</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
- <source>Did you mean: %1</source>
- <translation type="unfinished"/>
- </message>
-</context>
-<context>
- <name>Video</name>
- <message>
- <location filename="src/video.cpp" line="200"/>
- <source>Cannot get video stream for %1</source>
- <translation>Неможливо отримати відеопоток для %1</translation>
- </message>
- <message>
- <location filename="src/video.cpp" line="218"/>
- <source>Network error: %1 for %2</source>
- <translation>Помилка мережі: %1 для %2</translation>
- </message>
-</context>
-</TS>
\ No newline at end of file
<context>
<name>AboutView</name>
<message>
- <location filename="src/AboutView.cpp" line="28"/>
+ <location filename="src/aboutview.cpp" line="32"/>
<source>There's life outside the browser!</source>
<translation>浏览器之外,生活亦精彩!</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="29"/>
+ <location filename="src/aboutview.cpp" line="33"/>
<source>Version %1</source>
<translation>版本:%1</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="33"/>
+ <location filename="src/aboutview.cpp" line="38"/>
+ <source>Licensed to: %1</source>
+ <translation>遵循协议:%1</translation>
+ </message>
+ <message>
+ <location filename="src/aboutview.cpp" line="42"/>
<source>%1 is Free Software but its development takes precious time.</source>
<translation>%1 是自由软件。其开发也同样要耗用宝贵时间的。</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="34"/>
+ <location filename="src/aboutview.cpp" line="43"/>
<source>Please <a href='%1'>donate</a> to support the continued development of %2.</source>
<translation>恭迎您慷慨<a href='%1'>捐赠</a>,支持我们继续开发 %2 。</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="38"/>
+ <location filename="src/aboutview.cpp" line="47"/>
<source>You may want to try my other apps as well:</source>
<translation>您或许也想尝试我的其他程序:</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="41"/>
+ <location filename="src/aboutview.cpp" line="50"/>
<source>%1, a YouTube music player</source>
<translation>%1,一个 YouTube 音乐播放器</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="45"/>
+ <location filename="src/aboutview.cpp" line="54"/>
<source>%1, a music player</source>
- <translation type="unfinished"/>
+ <translation>%1,音乐播放器</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="51"/>
+ <location filename="src/aboutview.cpp" line="60"/>
<source>Translate %1 to your native language using %2</source>
<translation>使用 %2 将 %1 翻译为您的母语</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="56"/>
+ <location filename="src/aboutview.cpp" line="65"/>
<source>Icon designed by %1.</source>
<translation>图标设计:%1。</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="60"/>
+ <location filename="src/aboutview.cpp" line="69"/>
<source>Released under the <a href='%1'>GNU General Public License</a></source>
<translation>本软件遵循<a href='%1'>GNU通用公共许可证</a>予以发布。</translation>
</message>
<message>
- <location filename="src/AboutView.cpp" line="73"/>
+ <location filename="src/aboutview.cpp" line="84"/>
<source>&Close</source>
<translation>关闭(&C)</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="25"/>
+ <location filename="src/aboutview.h" line="17"/>
<source>About</source>
<translation>关于</translation>
</message>
<message>
- <location filename="src/AboutView.h" line="27"/>
+ <location filename="src/aboutview.h" line="19"/>
<source>What you always wanted to know about %1 and never dared to ask</source>
<translation>您对 %1 的期望都有什么,还请不吝赐教。</translation>
</message>
</context>
<context>
- <name>ClearButton</name>
+ <name>ActivationDialog</name>
<message>
- <location filename="src/searchlineedit.cpp" line="56"/>
- <source>Clear</source>
- <translation>清除</translation>
+ <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>&Email:</source>
+ <translation>邮件(&E):</translation>
+ </message>
+ <message>
+ <location filename="local/src/activationdialog.cpp" line="35"/>
+ <source>&Code:</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>DemoStartupView</name>
+ <name>ActivationView</name>
<message>
- <location filename="local/src/demostartupview.cpp" line="35"/>
+ <location filename="local/src/activationview.cpp" line="47"/>
<source>Please license %1</source>
<translation>请购买 %1 授权</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="39"/>
+ <location filename="local/src/activationview.cpp" line="51"/>
<source>This demo has expired.</source>
- <translation>该试用版已经过期。</translation>
+ <translation>该 Demo 已经过期。</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="41"/>
+ <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/demostartupview.cpp" line="43"/>
- <source>This demo will expire in %1 days.</source>
- <translation>该试用版将在 %1 内过期。</translation>
+ <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/demostartupview.cpp" line="45"/>
+ <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/demostartupview.cpp" line="57"/>
+ <location filename="local/src/activationview.cpp" line="70"/>
<source>Use Demo</source>
- <translation>使用试用版</translation>
+ <translation>使用 Demo</translation>
</message>
<message>
- <location filename="local/src/demostartupview.cpp" line="65"/>
- <source>Get the full version</source>
- <translation>获取完整版</translation>
+ <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>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="312"/>
+ <location filename="src/downloaditem.cpp" line="322"/>
<source>bytes</source>
<translation>字节</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="315"/>
+ <location filename="src/downloaditem.cpp" line="325"/>
<source>KB</source>
<translation>千字节</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="318"/>
+ <location filename="src/downloaditem.cpp" line="328"/>
<source>MB</source>
<translation>兆字节</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="327"/>
+ <location filename="src/downloaditem.cpp" line="337"/>
<source>bytes/sec</source>
<translation>字节/秒</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="330"/>
+ <location filename="src/downloaditem.cpp" line="340"/>
<source>KB/sec</source>
<translation>千字节/秒</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="333"/>
+ <location filename="src/downloaditem.cpp" line="343"/>
<source>MB/sec</source>
<translation>兆字节/秒</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="339"/>
+ <location filename="src/downloaditem.cpp" line="349"/>
<source>seconds</source>
<translation>秒</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="342"/>
+ <location filename="src/downloaditem.cpp" line="352"/>
<source>minutes</source>
<translation>分</translation>
</message>
<message>
- <location filename="src/downloaditem.cpp" line="345"/>
+ <location filename="src/downloaditem.cpp" line="355"/>
<source>%4 %5 remaining</source>
- <translation>%4 %5 剩余</translation>
+ <translation>剩余 %4 %5 </translation>
</message>
</context>
<context>
<name>DownloadManager</name>
<message>
- <location filename="src/downloadmanager.cpp" line="48"/>
+ <location filename="src/downloadmanager.cpp" line="55"/>
<source>This is just the demo version of %1.</source>
<translation>这只是 %1 的演示版。</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="50"/>
+ <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>本版本只能下载 %1 分钟以下的视频,仅用于测试下载功能。</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="56"/>
+ <location filename="src/downloadmanager.cpp" line="63"/>
<source>Continue</source>
<translation>继续</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="57"/>
+ <location filename="src/downloadmanager.cpp" line="64"/>
<source>Get the full version</source>
<translation>获取完整版</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="142"/>
+ <location filename="src/downloadmanager.cpp" line="150"/>
<source>%1 downloaded in %2</source>
- <translation type="unfinished"/>
+ <translation>%1 已下载(%2)</translation>
</message>
<message>
- <location filename="src/downloadmanager.cpp" line="145"/>
+ <location filename="src/downloadmanager.cpp" line="153"/>
<source>Download finished</source>
<translation>下载完成</translation>
</message>
<message numerus="yes">
- <location filename="src/downloadmanager.cpp" line="151"/>
+ <location filename="src/downloadmanager.cpp" line="159"/>
<source>%n Download(s)</source>
<translation><numerusform>下载数:%n</numerusform></translation>
</message>
<context>
<name>DownloadSettings</name>
<message>
- <location filename="src/downloadsettings.cpp" line="14"/>
+ <location filename="src/downloadsettings.cpp" line="15"/>
<source>Change location...</source>
<translation>更改存储位置……</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="46"/>
+ <location filename="src/downloadsettings.cpp" line="47"/>
<source>Choose the download location</source>
<translation>选择下载存储位置</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="61"/>
+ <location filename="src/downloadsettings.cpp" line="59"/>
<source>Download location changed.</source>
<translation>下载存储位置已修改。</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="63"/>
+ <location filename="src/downloadsettings.cpp" line="61"/>
<source>Current downloads will still go in the previous location.</source>
<translation>当前下载仍然保持前一个存储位置。</translation>
</message>
<message>
- <location filename="src/downloadsettings.cpp" line="75"/>
+ <location filename="src/downloadsettings.cpp" line="72"/>
<source>Downloading to: %1</source>
<translation>当前下载存储位置:%1</translation>
</message>
<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>
<message>
<location filename="src/globalshortcuts.cpp" line="23"/>
<source>Increase volume</source>
- <translation>调高音量</translation>
+ <translation>增加音量</translation>
</message>
<message>
<location filename="src/globalshortcuts.cpp" line="24"/>
<source>Decrease volume</source>
- <translation>调低音量</translation>
+ <translation>减小音量</translation>
</message>
<message>
<location filename="src/globalshortcuts.cpp" line="25"/>
</message>
</context>
<context>
- <name>ListModel</name>
+ <name>HomeView</name>
<message>
- <location filename="src/ListModel.cpp" line="51"/>
- <source>Searching...</source>
- <translation>搜索中……</translation>
+ <location filename="src/homeview.cpp" line="33"/>
+ <source>Search</source>
+ <translation>搜索</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="52"/>
- <source>Show %1 More</source>
- <translation>再多显示 %1</translation>
+ <location filename="src/homeview.cpp" line="35"/>
+ <source>Find videos and channels by keyword</source>
+ <translation>按关键词查找视频和频道</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="53"/>
- <source>No videos</source>
- <translation>没æ\9c\89è§\86é¢\91</translation>
+ <location filename="src/homeview.cpp" line="40"/>
+ <source>Browse</source>
+ <translation>æµ\8fè§\88</translation>
</message>
<message>
- <location filename="src/ListModel.cpp" line="54"/>
- <source>No more videos</source>
- <translation>没有更多视频</translation>
+ <location filename="src/homeview.cpp" line="42"/>
+ <source>Browse videos by category</source>
+ <translation>按分类查找视频</translation>
+ </message>
+ <message>
+ <location filename="src/homeview.h" line="22"/>
+ <source>Make yourself comfortable</source>
+ <translation>请您尽情享受吧!</translation>
</message>
</context>
<context>
<context>
<name>MainWindow</name>
<message>
- <location filename="src/MainWindow.cpp" line="170"/>
+ <location filename="src/mainwindow.cpp" line="213"/>
<source>&Stop</source>
<translation>停止(&S)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="171"/>
+ <location filename="src/mainwindow.cpp" line="214"/>
<source>Stop playback and go back to the search view</source>
<translation>停止回放并返回搜索视图</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="189"/>
+ <location filename="src/mainwindow.cpp" line="232"/>
<source>S&kip</source>
<translation>跳过(&k)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="190"/>
+ <location filename="src/mainwindow.cpp" line="233"/>
<source>Skip to the next video</source>
<translation>跳至下一视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="196"/>
- <location filename="src/MainWindow.cpp" line="895"/>
+ <location filename="src/mainwindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="989"/>
<source>&Pause</source>
<translation>暂停(&P)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="197"/>
- <location filename="src/MainWindow.cpp" line="896"/>
+ <location filename="src/mainwindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="990"/>
<source>Pause playback</source>
<translation>暂停回放</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="203"/>
+ <location filename="src/mainwindow.cpp" line="246"/>
<source>&Full Screen</source>
<translation>全屏(&F)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="204"/>
+ <location filename="src/mainwindow.cpp" line="247"/>
<source>Go full screen</source>
<translation>全屏播放</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="220"/>
+ <location filename="src/mainwindow.cpp" line="263"/>
<source>Hide the playlist and the toolbar</source>
<translation>隐藏播放列表和工具栏</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="233"/>
+ <location filename="src/mainwindow.cpp" line="276"/>
<source>Go to the YouTube video page and pause playback</source>
<translation>打开YouTube视频页面并暂停回放</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="240"/>
+ <location filename="src/mainwindow.cpp" line="283"/>
<source>Copy the current video YouTube link to the clipboard</source>
<translation>复制当前视频的YouTube链接到剪贴板中</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="247"/>
+ <location filename="src/mainwindow.cpp" line="290"/>
<source>Copy the current video stream URL to the clipboard</source>
<translation>复制当前视频流的URL到剪贴板中</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="254"/>
+ <location filename="src/mainwindow.cpp" line="297"/>
<source>Find other video parts hopefully in the right order</source>
- <translation type="unfinished"/>
+ <translation>以正确的顺序查找其他视频部分</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="260"/>
+ <location filename="src/mainwindow.cpp" line="303"/>
<source>&Remove</source>
<translation>移除(&R)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="261"/>
+ <location filename="src/mainwindow.cpp" line="304"/>
<source>Remove the selected videos from the playlist</source>
<translation>从播放列表中移除选定的视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="267"/>
+ <location filename="src/mainwindow.cpp" line="310"/>
<source>Move &Up</source>
<translation>上移(&U)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="268"/>
+ <location filename="src/mainwindow.cpp" line="311"/>
<source>Move up the selected videos in the playlist</source>
<translation>在播放列表中向上移动选定的视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="274"/>
+ <location filename="src/mainwindow.cpp" line="317"/>
<source>Move &Down</source>
<translation>下移(&D)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="275"/>
+ <location filename="src/mainwindow.cpp" line="318"/>
<source>Move down the selected videos in the playlist</source>
<translation>在播放列表中向下移动选定的视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="286"/>
+ <location filename="src/mainwindow.cpp" line="329"/>
<source>Clear the search history. Cannot be undone.</source>
<translation>清除搜索历史。注意:清除的历史不可恢复。</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="291"/>
+ <location filename="src/mainwindow.cpp" line="334"/>
<source>&Quit</source>
<translation>退出(&Q)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="294"/>
+ <location filename="src/mainwindow.cpp" line="337"/>
<source>Bye</source>
- <translation>再会</translation>
+ <translation>再见</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="298"/>
+ <location filename="src/mainwindow.cpp" line="341"/>
<source>&Website</source>
<translation>网站(&W)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="300"/>
+ <location filename="src/mainwindow.cpp" line="343"/>
<source>%1 on the Web</source>
<translation>%1在网站上</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="306"/>
+ <location filename="src/mainwindow.cpp" line="349"/>
<source>Please support the continued development of %1</source>
- <translation>请您支持 %1 的可持续发展。</translation>
+ <translation>请您支持 %1 的继续开发</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="311"/>
+ <location filename="src/mainwindow.cpp" line="354"/>
<source>&About</source>
<translation>关于(&A)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="313"/>
+ <location filename="src/mainwindow.cpp" line="356"/>
<source>Info about %1</source>
<translation>关于 %1 的信息</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="321"/>
+ <location filename="src/mainwindow.cpp" line="364"/>
<source>Search</source>
<translation>搜索</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="340"/>
+ <location filename="src/mainwindow.cpp" line="383"/>
<source>Mute volume</source>
<translation>静音</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="369"/>
- <location filename="src/MainWindow.cpp" line="1260"/>
+ <location filename="src/mainwindow.cpp" line="412"/>
+ <location filename="src/mainwindow.cpp" line="1365"/>
<source>&Downloads</source>
<translation>下载(&D)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="370"/>
+ <location filename="src/mainwindow.cpp" line="413"/>
<source>Show details about video downloads</source>
<translation>显示视频下载详情</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="378"/>
+ <location filename="src/mainwindow.cpp" line="421"/>
<source>&Download</source>
<translation>下载(&D)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="379"/>
+ <location filename="src/mainwindow.cpp" line="422"/>
<source>Download the current video</source>
<translation>下载当前视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="398"/>
+ <location filename="src/mainwindow.cpp" line="441"/>
<source>Share the current video using %1</source>
- <translation type="unfinished"/>
+ <translation>使用 %1 分享当前视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="415"/>
+ <location filename="src/mainwindow.cpp" line="458"/>
<source>&Email</source>
- <translation type="unfinished"/>
+ <translation>电子邮件(&E)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="416"/>
+ <location filename="src/mainwindow.cpp" line="459"/>
<source>Email</source>
- <translation type="unfinished"/>
+ <translation>电子邮件</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="420"/>
+ <location filename="src/mainwindow.cpp" line="463"/>
<source>&Close</source>
<translation>关闭(&C)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="430"/>
+ <location filename="src/mainwindow.cpp" line="473"/>
<source>&Float on Top</source>
- <translation type="unfinished"/>
+ <translation>窗口置顶(&F)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="435"/>
+ <location filename="src/mainwindow.cpp" line="478"/>
<source>&Stop After This Video</source>
- <translation type="unfinished"/>
+ <translation>该视频后停止播放(&S)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="442"/>
+ <location filename="src/mainwindow.cpp" line="485"/>
<source>&Report an Issue...</source>
- <translation type="unfinished"/>
+ <translation>报告问题&R…</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="446"/>
+ <location filename="src/mainwindow.cpp" line="489"/>
<source>&Refine Search...</source>
- <translation type="unfinished"/>
+ <translation>精确搜索(&R)...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="481"/>
+ <location filename="src/mainwindow.cpp" line="501"/>
+ <source>More...</source>
+ <translation>更多...</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="504"/>
+ <source>&Related Videos</source>
+ <translation>相关视频(&R)</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="506"/>
+ <source>Watch videos related to the current one</source>
+ <translation>查看与当前视频相关的视频</translation>
+ </message>
+ <message>
+ <location filename="src/mainwindow.cpp" line="544"/>
<source>&Application</source>
<translation>应用程序(&A)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="483"/>
+ <location filename="src/mainwindow.cpp" line="515"/>
<source>Buy %1...</source>
<translation>购买 %1...</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="494"/>
+ <location filename="src/mainwindow.cpp" line="558"/>
<source>&Playback</source>
- <translation>回放(_P)</translation>
+ <translation>播放(&P)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="508"/>
+ <location filename="src/mainwindow.cpp" line="572"/>
<source>&Playlist</source>
<translation>播放列表(&P)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="517"/>
+ <location filename="src/mainwindow.cpp" line="581"/>
<source>&Video</source>
<translation>视频(&V)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="529"/>
+ <location filename="src/mainwindow.cpp" line="594"/>
<source>&View</source>
- <translation>查看(_V)</translation>
+ <translation>查看(&V)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="536"/>
+ <location filename="src/mainwindow.cpp" line="601"/>
<source>&Share</source>
- <translation type="unfinished"/>
+ <translation>分享(&S)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="550"/>
+ <location filename="src/mainwindow.cpp" line="615"/>
<source>&Help</source>
<translation>帮助(&H)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="628"/>
+ <location filename="src/mainwindow.cpp" line="690"/>
<source>Press %1 to raise the volume, %2 to lower it</source>
<translation>按住 %1 提高音量,%2 降低音量</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="800"/>
- <location filename="src/MainWindow.cpp" line="806"/>
+ <location filename="src/mainwindow.cpp" line="889"/>
+ <location filename="src/mainwindow.cpp" line="895"/>
<source>Opening %1</source>
<translation>正在打开 %1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="847"/>
+ <location filename="src/mainwindow.cpp" line="936"/>
<source>Do you want to exit %1 with a download in progress?</source>
<translation>当前还有尚未完成的下载。您确定要退出 %1 吗?</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="848"/>
+ <location filename="src/mainwindow.cpp" line="937"/>
<source>If you close %1 now, this download will be cancelled.</source>
<translation>如果您现在关闭 %1 ,那么本下载将被取消。</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="853"/>
+ <location filename="src/mainwindow.cpp" line="942"/>
<source>Close and cancel download</source>
<translation>关闭并取消下载</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="854"/>
+ <location filename="src/mainwindow.cpp" line="943"/>
<source>Wait for download to finish</source>
<translation>等待下载完成</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1008"/>
+ <location filename="src/mainwindow.cpp" line="1102"/>
<source>Leave &Full Screen</source>
- <translation>离开全屏模式(_F)</translation>
+ <translation>离开全屏模式(&F)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1363"/>
+ <location filename="src/mainwindow.cpp" line="1475"/>
<source>%1 version %2 is now available.</source>
<translation>%1 版本 %2 现在可用。</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1377"/>
+ <location filename="src/mainwindow.cpp" line="1479"/>
<source>Remind me later</source>
<translation>稍后提醒我</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1374"/>
- <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
- <translation>要下载更新版本,从您获得的邮件中的链接重新下载 %1 并重新安装。</translation>
- </message>
- <message>
- <location filename="src/MainWindow.cpp" line="1381"/>
+ <location filename="src/mainwindow.cpp" line="1480"/>
<source>Update</source>
<translation>更新</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="888"/>
+ <location filename="src/mainwindow.cpp" line="982"/>
<source>Error: %1</source>
<translation>错误:%1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="179"/>
+ <location filename="src/mainwindow.cpp" line="222"/>
<source>P&revious</source>
- <translation type="unfinished"/>
+ <translation>上一首(&R)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="180"/>
+ <location filename="src/mainwindow.cpp" line="223"/>
<source>Go back to the previous track</source>
- <translation>回退到上一首音轨</translation>
+ <translation>饭回到上一首音轨</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="219"/>
+ <location filename="src/mainwindow.cpp" line="262"/>
<source>&Compact Mode</source>
- <translation type="unfinished"/>
+ <translation>紧凑模式(&C)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="232"/>
+ <location filename="src/mainwindow.cpp" line="275"/>
<source>Open the &YouTube Page</source>
- <translation type="unfinished"/>
+ <translation>打开 YouTube 页面(&Y)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="239"/>
+ <location filename="src/mainwindow.cpp" line="282"/>
<source>Copy the YouTube &Link</source>
- <translation type="unfinished"/>
+ <translation>复制 YouTube 链接(&L)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="246"/>
+ <location filename="src/mainwindow.cpp" line="289"/>
<source>Copy the Video Stream &URL</source>
- <translation type="unfinished"/>
+ <translation>复制视频流 URL</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="253"/>
+ <location filename="src/mainwindow.cpp" line="296"/>
<source>Find Video &Parts</source>
- <translation type="unfinished"/>
+ <translation>查找视频部分(&P)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="281"/>
+ <location filename="src/mainwindow.cpp" line="324"/>
<source>&Clear Recent Searches</source>
- <translation type="unfinished"/>
+ <translation>清除最近的搜索(&C)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="305"/>
+ <location filename="src/mainwindow.cpp" line="348"/>
<source>Make a &Donation</source>
<translation>捐助(&D)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="362"/>
+ <location filename="src/mainwindow.cpp" line="405"/>
<source>&Manually Start Playing</source>
- <translation type="unfinished"/>
+ <translation>手动开始播放(&M)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="363"/>
+ <location filename="src/mainwindow.cpp" line="406"/>
<source>Manually start playing videos</source>
<translation>手动开始播放视频</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="908"/>
+ <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>&Play</source>
<translation>播放(&P)</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="909"/>
+ <location filename="src/mainwindow.cpp" line="1003"/>
<source>Resume playback</source>
- <translation>继续回放</translation>
+ <translation>恢复播放</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1136"/>
+ <location filename="src/mainwindow.cpp" line="1236"/>
<source>Remaining time: %1</source>
<translation>剩余时间:%1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1194"/>
+ <location filename="src/mainwindow.cpp" line="1294"/>
<source>Volume at %1%</source>
<translation>音量:%1%</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1200"/>
+ <location filename="src/mainwindow.cpp" line="1300"/>
<source>Volume is muted</source>
<translation>已设为静音</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1203"/>
+ <location filename="src/mainwindow.cpp" line="1303"/>
<source>Volume is unmuted</source>
<translation>静音已解除</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1210"/>
+ <location filename="src/mainwindow.cpp" line="1310"/>
<source>Maximum video definition set to %1</source>
<translation>最大视频定义设置为%1</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1246"/>
+ <location filename="src/mainwindow.cpp" line="1351"/>
<source>Your privacy is now safe</source>
<translation>您的隐私已受保护</translation>
</message>
<message>
- <location filename="src/MainWindow.cpp" line="1261"/>
+ <location filename="src/mainwindow.cpp" line="1366"/>
<source>Downloads complete</source>
<translation>下载完成</translation>
</message>
<context>
<name>MediaView</name>
<message>
- <location filename="src/MediaView.cpp" line="546"/>
+ <location filename="src/mediaview.cpp" line="553"/>
<source>You can now paste the YouTube link into another application</source>
<translation>您现在可以把YouTube的链接粘贴到其他应用了</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="554"/>
+ <location filename="src/mediaview.cpp" line="561"/>
<source>You can now paste the video stream URL into another application</source>
<translation>您现在可以把视频流的链接粘贴到其他应用了</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="555"/>
+ <location filename="src/mediaview.cpp" line="562"/>
<source>The link will be valid only for a limited time.</source>
<translation>此链接仅能保持短时间的有效性。</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="654"/>
+ <location filename="src/mediaview.cpp" line="636"/>
<source>This is just the demo version of %1.</source>
<translation>这仅是 %1 的演示版。</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="655"/>
+ <location filename="src/mediaview.cpp" line="637"/>
<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="685"/>
+ <location filename="src/mediaview.cpp" line="667"/>
<source>Continue</source>
<translation>继续</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="783"/>
+ <location filename="src/mediaview.cpp" line="756"/>
<source>of</source>
<comment>Used in video parts, as in '2 of 3'</comment>
- <translation type="unfinished"/>
+ <translation>之</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="795"/>
+ <location filename="src/mediaview.cpp" line="768"/>
<source>part</source>
<comment>This is for video parts, as in 'Cool video - part 1'</comment>
- <translation type="unfinished"/>
+ <translation>部分</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="797"/>
+ <location filename="src/mediaview.cpp" line="770"/>
<source>episode</source>
<comment>This is for video parts, as in 'Cool series - episode 1'</comment>
- <translation type="unfinished"/>
+ <translation>集</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="867"/>
+ <location filename="src/mediaview.cpp" line="847"/>
<source>Sent from %1</source>
- <translation type="unfinished"/>
+ <translation>由 %1 发送</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="662"/>
+ <location filename="src/mediaview.cpp" line="644"/>
<source>Get the full version</source>
<translation>获取完整版</translation>
</message>
<message>
- <location filename="src/MediaView.cpp" line="707"/>
+ <location filename="src/mediaview.cpp" line="681"/>
<source>Downloading %1</source>
<translation>正在下载 %1</translation>
</message>
</context>
<context>
- <name>NetworkAccess</name>
+ <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="src/networkaccess.cpp" line="214"/>
- <source>Network error: %1</source>
- <translation>网络错误:%1</translation>
+ <location filename="local/src/pastelineedit.cpp" line="6"/>
+ <source>Paste</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
- <name>PrettyItemDelegate</name>
+ <name>PlaylistItemDelegate</name>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+ <location filename="src/playlistitemdelegate.cpp" line="159"/>
<source>%1 views</source>
<translation>%1 人次观看</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+ <location filename="src/playlistitemdelegate.cpp" line="285"/>
<source>%1 of %2 (%3) — %4</source>
<translation>%1 之 %2 (%3) — %4</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+ <location filename="src/playlistitemdelegate.cpp" line="292"/>
<source>Preparing</source>
<translation>准备中</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+ <location filename="src/playlistitemdelegate.cpp" line="294"/>
<source>Failed</source>
<translation>已失败</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+ <location filename="src/playlistitemdelegate.cpp" line="296"/>
<source>Completed</source>
<translation>已完成</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+ <location filename="src/playlistitemdelegate.cpp" line="298"/>
<source>Stopped</source>
<translation>已停止</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+ <location filename="src/playlistitemdelegate.cpp" line="334"/>
<source>Stop downloading</source>
<translation>停止下载</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+ <location filename="src/playlistitemdelegate.cpp" line="344"/>
<source>Show in %1</source>
<translation>显示到 %1</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+ <location filename="src/playlistitemdelegate.cpp" line="346"/>
<source>Open parent folder</source>
<translation>打开上层目录</translation>
</message>
<message>
- <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+ <location filename="src/playlistitemdelegate.cpp" line="355"/>
<source>Restart downloading</source>
<translation>重新下载</translation>
</message>
</context>
+<context>
+ <name>PlaylistModel</name>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="52"/>
+ <source>Searching...</source>
+ <translation>搜索中……</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="53"/>
+ <source>Show %1 More</source>
+ <translation>再多显示 %1</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="54"/>
+ <source>No videos</source>
+ <translation>没有视频</translation>
+ </message>
+ <message>
+ <location filename="src/playlistmodel.cpp" line="55"/>
+ <source>No more videos</source>
+ <translation>没有更多视频</translation>
+ </message>
+</context>
<context>
<name>RefineSearchWidget</name>
<message>
- <location filename="src/refinesearchwidget.cpp" line="27"/>
+ <location filename="src/refinesearchwidget.cpp" line="31"/>
<source>Sort by</source>
<translation>排序</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="31"/>
+ <location filename="src/refinesearchwidget.cpp" line="35"/>
<source>Relevance</source>
- <translation type="unfinished"/>
+ <translation>相关性</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="32"/>
- <location filename="src/refinesearchwidget.cpp" line="48"/>
+ <location filename="src/refinesearchwidget.cpp" line="36"/>
+ <location filename="src/refinesearchwidget.cpp" line="52"/>
<source>Date</source>
<translation>日期</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="33"/>
+ <location filename="src/refinesearchwidget.cpp" line="37"/>
<source>View Count</source>
<translation>查看计数</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="34"/>
+ <location filename="src/refinesearchwidget.cpp" line="38"/>
<source>Rating</source>
<translation>评分</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="52"/>
+ <location filename="src/refinesearchwidget.cpp" line="56"/>
<source>Anytime</source>
<translation>任何时候</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="53"/>
+ <location filename="src/refinesearchwidget.cpp" line="57"/>
<source>Today</source>
<translation>今天</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="54"/>
+ <location filename="src/refinesearchwidget.cpp" line="58"/>
<source>7 Days</source>
<translation>7 天</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="55"/>
+ <location filename="src/refinesearchwidget.cpp" line="59"/>
<source>30 Days</source>
<translation>30 天</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="69"/>
+ <location filename="src/refinesearchwidget.cpp" line="73"/>
<source>Duration</source>
<translation>持续时长</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="73"/>
- <location filename="src/refinesearchwidget.cpp" line="100"/>
+ <location filename="src/refinesearchwidget.cpp" line="77"/>
+ <location filename="src/refinesearchwidget.cpp" line="104"/>
<source>All</source>
<translation>全部</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="74"/>
+ <location filename="src/refinesearchwidget.cpp" line="78"/>
<source>Short</source>
<translation>短</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="75"/>
+ <location filename="src/refinesearchwidget.cpp" line="79"/>
<source>Medium</source>
<translation>中等</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="76"/>
+ <location filename="src/refinesearchwidget.cpp" line="80"/>
<source>Long</source>
<translation>长</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="79"/>
+ <location filename="src/refinesearchwidget.cpp" line="83"/>
<source>Less than 4 minutes</source>
<translation>少于 4 分钟</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="80"/>
+ <location filename="src/refinesearchwidget.cpp" line="84"/>
<source>Between 4 and 20 minutes</source>
<translation>4 到 20 分钟之间</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="81"/>
+ <location filename="src/refinesearchwidget.cpp" line="85"/>
<source>Longer than 20 minutes</source>
<translation>长于 20 分钟</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="96"/>
+ <location filename="src/refinesearchwidget.cpp" line="100"/>
<source>Quality</source>
<translation>质量</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="101"/>
+ <location filename="src/refinesearchwidget.cpp" line="105"/>
<source>High Definition</source>
<translation>高分辨率</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="104"/>
+ <location filename="src/refinesearchwidget.cpp" line="108"/>
<source>720p or higher</source>
<translation>720p 或更高</translation>
</message>
<message>
- <location filename="src/refinesearchwidget.cpp" line="118"/>
+ <location filename="src/refinesearchwidget.cpp" line="122"/>
<source>Done</source>
<translation>完成</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>
<context>
<name>SearchView</name>
<message>
- <location filename="src/SearchView.cpp" line="88"/>
+ <location filename="src/searchview.cpp" line="71"/>
<source>Welcome to <a href='%1'>%2</a>,</source>
<translation>欢迎使用<a href='%1'>%2</a>!</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="49"/>
+ <location filename="src/searchview.cpp" line="50"/>
<source>Get the full version</source>
<translation>获取完整版</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="102"/>
+ <location filename="src/searchview.cpp" line="85"/>
<source>Enter</source>
- <extracomment>"Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"</extracomment>
+ <extracomment>"Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"</extracomment>
<translation>输入</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="107"/>
+ <location filename="src/searchview.cpp" line="90"/>
<source>a keyword</source>
<translation>关键字</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="108"/>
+ <location filename="src/searchview.cpp" line="91"/>
<source>a channel</source>
<translation>频道名称</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="113"/>
+ <location filename="src/searchview.cpp" line="96"/>
<source>to start watching videos.</source>
<translation>开始观看视频。</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="137"/>
+ <location filename="src/searchview.cpp" line="120"/>
<source>Watch</source>
<translation>观看</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="155"/>
+ <location filename="src/searchview.cpp" line="138"/>
<source>Recent keywords</source>
<translation>最近关键字词</translation>
</message>
<message>
- <location filename="src/SearchView.cpp" line="168"/>
+ <location filename="src/searchview.cpp" line="151"/>
<source>Recent channels</source>
<translation>最近频道</translation>
</message>
+</context>
+<context>
+ <name>SidebarHeader</name>
+ <message>
+ <location filename="src/sidebarheader.cpp" line="16"/>
+ <location filename="src/sidebarheader.cpp" line="23"/>
+ <source>&Back</source>
+ <translation>后退(_B)</translation>
+ </message>
<message>
- <location filename="src/SearchView.h" line="26"/>
- <source>Make yourself comfortable</source>
- <translation>请您尽情享受吧!</translation>
+ <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="48"/>
+ <location filename="src/sidebarwidget.cpp" line="52"/>
<source>Refine Search</source>
<translation>二次检索</translation>
</message>
<message>
- <location filename="src/sidebarwidget.cpp" line="141"/>
+ <location filename="src/sidebarwidget.cpp" line="148"/>
<source>Did you mean: %1</source>
<translation>您的意思是:%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="200"/>
+ <location filename="src/video.cpp" line="213"/>
<source>Cannot get video stream for %1</source>
<translation>无法获得视频流。可能原因:%1</translation>
</message>
<message>
- <location filename="src/video.cpp" line="218"/>
+ <location filename="src/video.cpp" line="231"/>
<source>Network error: %1 for %2</source>
<translation>网络错误:%1。可能原因:%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
Terminal=false
Type=Application
Icon=minitube
-Categories=Application;Qt;AudioVideo;Video;
+Categories=Qt;AudioVideo;Video;Player;
StartupNotify=true
Actions=TogglePlaying;Next;Previous;
CONFIG += release
TEMPLATE = app
-VERSION = 1.9
+VERSION = 2.0
DEFINES += APP_VERSION="$$VERSION"
APP_NAME = Minitube
DEFINES += QT_USE_FAST_CONCATENATION
DEFINES += QT_USE_FAST_OPERATOR_PLUS
+DEFINES += QT_STRICT_ITERATORS
-# TODO Saner string behaviour
-# DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII QT_STRICT_ITERATORS
TARGET = minitube
-QT += network \
- xml \
- phonon
+QT += network xml phonon
include(src/qtsingleapplication/qtsingleapplication.pri)
-HEADERS += src/MainWindow.h \
- src/SearchView.h \
- src/MediaView.h \
- src/AboutView.h \
- src/youtubesearch.h \
+HEADERS += \
src/video.h \
- src/youtubestreamreader.h \
- src/View.h \
src/searchlineedit.h \
src/urllineedit.h \
src/spacer.h \
src/constants.h \
- src/iconloader/qticonloader.h \
- src/ListModel.h \
- src/playlist/PrettyItemDelegate.h \
+ src/playlistitemdelegate.h \
src/networkaccess.h \
src/videomimedata.h \
src/global.h \
src/updatechecker.h \
- src/playlistwidget.h \
src/searchparams.h \
src/minisplitter.h \
src/loadingwidget.h \
src/downloadmodel.h \
src/downloadlistview.h \
src/downloadsettings.h \
- src/youtubesuggest.h \
src/suggester.h \
src/channelsuggest.h \
src/temporary.h \
src/playlistview.h \
src/refinesearchwidget.h \
src/refinesearchbutton.h \
- src/sidebarwidget.h
+ src/sidebarwidget.h \
+ src/homeview.h \
+ src/aboutview.h \
+ src/mainwindow.h \
+ src/mediaview.h \
+ src/searchview.h \
+ src/view.h \
+ src/userview.h \
+ src/playlistmodel.h \
+ src/videosource.h \
+ src/ytsearch.h \
+ src/ytstandardfeed.h \
+ src/standardfeedsview.h \
+ src/ytregions.h \
+ src/ytcategories.h \
+ src/ytfeedreader.h \
+ src/ytsuggester.h \
+ src/videosourcewidget.h \
+ src/regionsview.h \
+ src/ytsinglevideosource.h \
+ src/sidebarheader.h \
+ src/utils.h \
+ src/diskcache.h
SOURCES += src/main.cpp \
- src/MainWindow.cpp \
- src/SearchView.cpp \
- src/MediaView.cpp \
- src/AboutView.cpp \
- src/youtubesearch.cpp \
- src/youtubestreamreader.cpp \
src/searchlineedit.cpp \
src/urllineedit.cpp \
src/spacer.cpp \
src/video.cpp \
- src/iconloader/qticonloader.cpp \
- src/ListModel.cpp \
- src/playlist/PrettyItemDelegate.cpp \
src/videomimedata.cpp \
src/updatechecker.cpp \
src/networkaccess.cpp \
- src/playlistwidget.cpp \
src/searchparams.cpp \
src/minisplitter.cpp \
src/loadingwidget.cpp \
src/downloadmodel.cpp \
src/downloadlistview.cpp \
src/downloadsettings.cpp \
- src/youtubesuggest.cpp \
src/channelsuggest.cpp \
src/temporary.cpp \
src/segmentedcontrol.cpp \
src/playlistview.cpp \
src/refinesearchwidget.cpp \
src/refinesearchbutton.cpp \
- src/sidebarwidget.cpp
+ src/sidebarwidget.cpp \
+ src/homeview.cpp \
+ src/mainwindow.cpp \
+ src/mediaview.cpp \
+ src/aboutview.cpp \
+ src/searchview.cpp \
+ src/userview.cpp \
+ src/playlistitemdelegate.cpp \
+ src/playlistmodel.cpp \
+ src/videosource.cpp \
+ src/ytsearch.cpp \
+ src/ytstandardfeed.cpp \
+ src/standardfeedsview.cpp \
+ src/ytregions.cpp \
+ src/ytcategories.cpp \
+ src/ytfeedreader.cpp \
+ src/ytsuggester.cpp \
+ src/videosourcewidget.cpp \
+ src/regionsview.cpp \
+ src/ytsinglevideosource.cpp \
+ src/sidebarheader.cpp \
+ src/utils.cpp \
+ src/diskcache.cpp
RESOURCES += resources.qrc
DESTDIR = build/target/
OBJECTS_DIR = build/obj/
include(locale/locale.pri)
# deploy
-DISTFILES += CHANGES \
- COPYING
+DISTFILES += CHANGES COPYING
unix:!mac {
INCLUDEPATH += /usr/include/phonon
QT += dbus
<file>images/search-sortBy.png</file>
<file>images/search-quality.png</file>
<file>images/search-duration.png</file>
+ <file>flags/dz.png</file>
+ <file>flags/ar.png</file>
+ <file>flags/au.png</file>
+ <file>flags/be.png</file>
+ <file>flags/br.png</file>
+ <file>flags/ca.png</file>
+ <file>flags/cl.png</file>
+ <file>flags/co.png</file>
+ <file>flags/cz.png</file>
+ <file>flags/eg.png</file>
+ <file>flags/fr.png</file>
+ <file>flags/de.png</file>
+ <file>flags/gh.png</file>
+ <file>flags/gr.png</file>
+ <file>flags/hk.png</file>
+ <file>flags/hu.png</file>
+ <file>flags/in.png</file>
+ <file>flags/id.png</file>
+ <file>flags/ie.png</file>
+ <file>flags/il.png</file>
+ <file>flags/it.png</file>
+ <file>flags/jp.png</file>
+ <file>flags/jo.png</file>
+ <file>flags/ke.png</file>
+ <file>flags/my.png</file>
+ <file>flags/mx.png</file>
+ <file>flags/ma.png</file>
+ <file>flags/nl.png</file>
+ <file>flags/nz.png</file>
+ <file>flags/ng.png</file>
+ <file>flags/pe.png</file>
+ <file>flags/ph.png</file>
+ <file>flags/pl.png</file>
+ <file>flags/ru.png</file>
+ <file>flags/sa.png</file>
+ <file>flags/sg.png</file>
+ <file>flags/za.png</file>
+ <file>flags/kr.png</file>
+ <file>flags/es.png</file>
+ <file>flags/se.png</file>
+ <file>flags/tw.png</file>
+ <file>flags/tn.png</file>
+ <file>flags/tr.png</file>
+ <file>flags/ug.png</file>
+ <file>flags/ae.png</file>
+ <file>flags/gb.png</file>
+ <file>flags/ye.png</file>
+ <file>style.css</file>
+ <file>images/worldwide.png</file>
</qresource>
</RCC>
+++ /dev/null
-#include "AboutView.h"
-#include "constants.h"
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-
-AboutView::AboutView(QWidget *parent) : QWidget(parent) {
-
- QBoxLayout *aboutlayout = new QHBoxLayout(this);
- aboutlayout->setAlignment(Qt::AlignCenter);
- aboutlayout->setMargin(30);
- aboutlayout->setSpacing(30);
-
- QLabel *logo = new QLabel(this);
- QString resource = "app";
-#ifndef Q_WS_X11
- resource = Extra::resourceName(resource);
-#endif
- logo->setPixmap(QPixmap(":/images/" + resource + ".png"));
- aboutlayout->addWidget(logo, 0, Qt::AlignTop);
-
- QBoxLayout *layout = new QVBoxLayout();
- layout->setAlignment(Qt::AlignCenter);
- layout->setSpacing(30);
- aboutlayout->addLayout(layout);
-
- QString info = "<html><style>a { color: palette(text); text-decoration: none; font-weight: bold }</style><body><h1>" + QString(Constants::NAME) + "</h1>"
- "<p>" + tr("There's life outside the browser!") + "</p>"
- "<p>" + tr("Version %1").arg(Constants::VERSION) + "</p>"
- + QString("<p><a href=\"%1/\">%1</a></p>").arg(Constants::WEBSITE) +
-
- #if !defined(APP_MAC) && !defined(APP_WIN)
- "<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>"
- #endif
-
- "<p>" + tr("You may want to try my other apps as well:") + "</p>"
- + "<ul>"
-
- + "<li>" + tr("%1, a YouTube music player")
- .arg("<a href='http://flavio.tordini.org/musictube'>Musictube</a>")
- + "</li>"
-
- + "<li>" + tr("%1, a music player")
- .arg("<a href='http://flavio.tordini.org/musique'>Musique</a>")
- + "</li>"
-
- + "</ul>"
-
- "<p>" + tr("Translate %1 to your native language using %2").arg(Constants::NAME)
- .arg("<a href='http://www.transifex.net/projects/p/" + QString(Constants::UNIX_NAME) + "/resource/main/'>Transifex</a>")
- + "</p>"
-
- "<p>"
- + tr("Icon designed by %1.").arg("<a href='http://www.kolorguild.com/'>David Nel</a>")
- + "</p>"
-
- #if !defined(APP_MAC) && !defined(APP_WIN)
- "<p>" + tr("Released under the <a href='%1'>GNU General Public License</a>")
- .arg("http://www.gnu.org/licenses/gpl.html") + "</p>"
- #endif
- "<p>© 2009-2012 " + Constants::ORG_NAME + "</p>"
- "</body></html>";
- QLabel *infoLabel = new QLabel(info, this);
- infoLabel->setOpenExternalLinks(true);
- infoLabel->setWordWrap(true);
- layout->addWidget(infoLabel);
-
- QLayout *buttonLayout = new QHBoxLayout();
- buttonLayout->setAlignment(Qt::AlignLeft);
-
- QPushButton *closeButton = new QPushButton(tr("&Close"), this);
- closeButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
- closeButton->setDefault(true);
- closeButton->setFocus(Qt::OtherFocusReason);
- connect(closeButton, SIGNAL(clicked()), parent, SLOT(goBack()));
- buttonLayout->addWidget(closeButton);
-
- /*
- QPushButton *issueButton = new QPushButton(tr("&Report an issue"), this);
- issueButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
- connect(issueButton, SIGNAL(clicked()), window(), SLOT(reportIssue()));
- buttonLayout->addWidget(issueButton);
- */
-
- layout->addLayout(buttonLayout);
-
-}
-
-void AboutView::paintEvent(QPaintEvent * /*event*/) {
-#if defined(APP_MAC) | defined(APP_WIN)
- QBrush brush;
- if (window()->isActiveWindow()) {
- brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
- } else {
- brush = palette().window();
- }
- QPainter painter(this);
- painter.fillRect(0, 0, width(), height(), brush);
-#endif
-}
+++ /dev/null
-#ifndef ABOUTVIEW_H
-#define ABOUTVIEW_H
-
-#include <QtGui>
-#include "View.h"
-#include "constants.h"
-#ifdef APP_MAC
-#include "macutils.h"
-#endif
-
-class AboutView : public QWidget, public View {
-
- Q_OBJECT
-
-public:
- AboutView(QWidget *parent);
- void appear() {
-#ifdef APP_MAC
- mac::uncloseWindow(window()->winId());
-#endif
- }
- void disappear() {}
- QMap<QString, QVariant> metadata() {
- QMap<QString, QVariant> metadata;
- metadata.insert("title", tr("About"));
- metadata.insert("description",
- tr("What you always wanted to know about %1 and never dared to ask")
- .arg(Constants::NAME));
- return metadata;
- }
-
-protected:
- void paintEvent(QPaintEvent *);
-
-};
-#endif
+++ /dev/null
-#include "ListModel.h"
-#include "videomimedata.h"
-
-#define MAX_ITEMS 10
-static const QString recentKeywordsKey = "recentKeywords";
-static const QString recentChannelsKey = "recentChannels";
-
-ListModel::ListModel(QWidget *parent) : QAbstractListModel(parent) {
- youtubeSearch = 0;
- searching = false;
- canSearchMore = true;
- m_activeVideo = 0;
- m_activeRow = -1;
- skip = 1;
-
- hoveredRow = -1;
- authorHovered = false;
- authorPressed = false;
-}
-
-ListModel::~ListModel() {
- delete youtubeSearch;
-}
-
-int ListModel::rowCount(const QModelIndex &/*parent*/) const {
- int count = videos.size();
-
- // add the message item
- if (videos.isEmpty() || !searching)
- count++;
-
- return count;
-}
-
-QVariant ListModel::data(const QModelIndex &index, int role) const {
-
- int row = index.row();
-
- if (row == videos.size()) {
-
- QPalette palette;
- QFont boldFont;
- boldFont.setBold(true);
-
- switch (role) {
- 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(MAX_ITEMS);
- if (videos.isEmpty()) return tr("No videos");
- else return tr("No more videos");
- case Qt::TextAlignmentRole:
- return QVariant(int(Qt::AlignHCenter | Qt::AlignVCenter));
- case Qt::ForegroundRole:
- if (!errorMessage.isEmpty())
- return palette.color(QPalette::ToolTipText);
- else
- return palette.color(QPalette::Dark);
- case Qt::BackgroundColorRole:
- if (!errorMessage.isEmpty())
- return palette.color(QPalette::ToolTipBase);
- else
- return QVariant();
- case Qt::FontRole:
- return boldFont;
- default:
- return QVariant();
- }
-
- } else if (row < 0 || row >= videos.size())
- return QVariant();
-
- Video *video = videos.at(row);
-
- switch (role) {
- case ItemTypeRole:
- return ItemTypeVideo;
- case VideoRole:
- return QVariant::fromValue(QPointer<Video>(video));
- case ActiveTrackRole:
- return video == m_activeVideo;
- case Qt::DisplayRole:
- return video->title();
- case HoveredItemRole:
- return hoveredRow == index.row();
- case AuthorHoveredRole:
- return authorHovered;
- case AuthorPressedRole:
- return authorPressed;
- }
-
- return QVariant();
-}
-
-void ListModel::setActiveRow( int row) {
- if ( rowExists( row ) ) {
-
- m_activeRow = row;
- m_activeVideo = videoAt(row);
-
- int oldactiverow = m_activeRow;
-
- if ( rowExists( oldactiverow ) )
- emit dataChanged( createIndex( oldactiverow, 0 ), createIndex( oldactiverow, columnCount() - 1 ) );
-
- emit dataChanged( createIndex( m_activeRow, 0 ), createIndex( m_activeRow, columnCount() - 1 ) );
- emit activeRowChanged(row);
-
- } else {
- m_activeRow = -1;
- m_activeVideo = 0;
- }
-
-}
-
-int ListModel::nextRow() const {
- int nextRow = m_activeRow + 1;
- if (rowExists(nextRow))
- return nextRow;
- return -1;
-}
-
-int ListModel::previousRow() const {
- int prevRow = m_activeRow - 1;
- if (rowExists(prevRow))
- return prevRow;
- return -1;
-}
-
-Video* ListModel::videoAt( int row ) const {
- if ( rowExists( row ) )
- return videos.at( row );
- return 0;
-}
-
-Video* ListModel::activeVideo() const {
- return m_activeVideo;
-}
-
-void ListModel::search(SearchParams *searchParams) {
-
- // delete current videos
- while (!videos.isEmpty())
- delete videos.takeFirst();
- m_activeVideo = 0;
- m_activeRow = -1;
- skip = 1;
- errorMessage.clear();
- reset();
-
- // (re)initialize the YouTubeSearch
- if (youtubeSearch) delete youtubeSearch;
- youtubeSearch = new YouTubeSearch();
- connect(youtubeSearch, SIGNAL(gotVideo(Video*)), this, SLOT(addVideo(Video*)));
- connect(youtubeSearch, SIGNAL(finished(int)), this, SLOT(searchFinished(int)));
- connect(youtubeSearch, SIGNAL(error(QString)), this, SLOT(searchError(QString)));
-
- this->searchParams = searchParams;
- searching = true;
- youtubeSearch->search(searchParams, MAX_ITEMS, skip);
- skip += MAX_ITEMS;
-}
-
-void ListModel::searchMore(int max) {
- if (searching) return;
- searching = true;
- errorMessage.clear();
- youtubeSearch->search(searchParams, max, skip);
- skip += max;
-}
-
-void ListModel::searchMore() {
- searchMore(MAX_ITEMS);
-}
-
-void ListModel::searchNeeded() {
- int remainingRows = videos.size() - m_activeRow;
- int rowsNeeded = MAX_ITEMS - remainingRows;
- if (rowsNeeded > 0)
- searchMore(rowsNeeded);
-}
-
-void ListModel::abortSearch() {
- while (!videos.isEmpty())
- delete videos.takeFirst();
- reset();
- youtubeSearch->abort();
- searching = false;
-}
-
-void ListModel::searchFinished(int total) {
- searching = false;
- canSearchMore = total > 0;
-
- // update the message item
- emit dataChanged( createIndex( MAX_ITEMS, 0 ), createIndex( MAX_ITEMS, columnCount() - 1 ) );
-
- if (!youtubeSearch->getSuggestions().isEmpty()) {
- emit haveSuggestions(youtubeSearch->getSuggestions());
- }
-}
-
-void ListModel::searchError(QString message) {
- errorMessage = message;
- // update the message item
- emit dataChanged( createIndex( MAX_ITEMS, 0 ), createIndex( MAX_ITEMS, columnCount() - 1 ) );
-}
-
-void ListModel::addVideo(Video* video) {
-
- connect(video, SIGNAL(gotThumbnail()), this, SLOT(updateThumbnail()));
-
- beginInsertRows(QModelIndex(), videos.size(), videos.size());
- videos << video;
- endInsertRows();
-
- // first result!
- if (videos.size() == 1) {
-
- // manualplay
- QSettings settings;
- if (!settings.value("manualplay", false).toBool())
- setActiveRow(0);
-
- // save keyword
- QString query = searchParams->keywords();
- if (!query.isEmpty() && !searchParams->isTransient()) {
- if (query.startsWith("http://")) {
- // Save the video title
- query += "|" + videos.first()->title();
- }
- QStringList keywords = settings.value(recentKeywordsKey).toStringList();
- keywords.removeAll(query);
- keywords.prepend(query);
- while (keywords.size() > 10)
- keywords.removeLast();
- settings.setValue(recentKeywordsKey, keywords);
- }
-
- // save channel
- QString channel = searchParams->author();
- if (!channel.isEmpty() && !searchParams->isTransient()) {
- QSettings settings;
- QStringList channels = settings.value(recentChannelsKey).toStringList();
- channels.removeAll(channel);
- channels.prepend(channel);
- while (channels.size() > 10)
- channels.removeLast();
- settings.setValue(recentChannelsKey, channels);
- }
-
- }
-
-}
-
-void ListModel::updateThumbnail() {
-
- Video *video = static_cast<Video *>(sender());
- if (!video) {
- qDebug() << "Cannot get sender";
- return;
- }
-
- int row = rowForVideo(video);
- emit dataChanged( createIndex( row, 0 ), createIndex( row, columnCount() - 1 ) );
-
-}
-
-// --- item removal
-
-/**
- * This function does not free memory
- */
-bool ListModel::removeRows(int position, int rows, const QModelIndex & /*parent*/) {
- beginRemoveRows(QModelIndex(), position, position+rows-1);
- for (int row = 0; row < rows; ++row) {
- videos.removeAt(position);
- }
- endRemoveRows();
- return true;
-}
-
-void ListModel::removeIndexes(QModelIndexList &indexes) {
- QList<Video*> originalList(videos);
- QList<Video*> delitems;
- foreach (QModelIndex index, indexes) {
- if (index.row() >= originalList.size()) continue;
- Video* video = originalList.at(index.row());
- int idx = videos.indexOf(video);
- if (idx != -1) {
- beginRemoveRows(QModelIndex(), idx, idx);
- delitems.append(video);
- videos.removeAll(video);
- endRemoveRows();
- }
- }
-
- qDeleteAll(delitems);
-
-}
-
-// --- Sturm und drang ---
-
-
-
-Qt::DropActions ListModel::supportedDropActions() const {
- return Qt::MoveAction;
-}
-
-Qt::ItemFlags ListModel::flags(const QModelIndex &index) const {
- Qt::ItemFlags defaultFlags = QAbstractListModel::flags(index);
-
- if (index.isValid()) {
- if (index.row() == videos.size()) {
- // don't drag the "show 10 more" item
- return defaultFlags;
- } else
- return ( defaultFlags | Qt::ItemIsDropEnabled | Qt::ItemIsDragEnabled );
- } else
- return Qt::ItemIsDropEnabled | defaultFlags;
-}
-
-QStringList ListModel::mimeTypes() const {
- QStringList types;
- types << "application/x-minitube-video";
- return types;
-}
-
-QMimeData* ListModel::mimeData( const QModelIndexList &indexes ) const {
- VideoMimeData* mime = new VideoMimeData();
-
- foreach( const QModelIndex &it, indexes ) {
- int row = it.row();
- if (row >= 0 && row < videos.size())
- mime->addVideo( videos.at( it.row() ) );
- }
-
- return mime;
-}
-
-bool ListModel::dropMimeData(const QMimeData *data,
- Qt::DropAction action, int row, int column,
- const QModelIndex &parent) {
- if (action == Qt::IgnoreAction)
- return true;
-
- if (!data->hasFormat("application/x-minitube-video"))
- return false;
-
- if (column > 0)
- return false;
-
- int beginRow;
- if (row != -1)
- beginRow = row;
- else if (parent.isValid())
- beginRow = parent.row();
- else
- beginRow = rowCount(QModelIndex());
-
- const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( data );
- if(!videoMimeData ) return false;
-
- QList<Video*> droppedVideos = videoMimeData->videos();
- foreach( Video *video, droppedVideos) {
-
- // remove videos
- int videoRow = videos.indexOf(video);
- removeRows(videoRow, 1, QModelIndex());
-
- // and then add them again at the new position
- beginInsertRows(QModelIndex(), beginRow, beginRow);
- videos.insert(beginRow, video);
- endInsertRows();
-
- }
-
- // fix m_activeRow after all this
- m_activeRow = videos.indexOf(m_activeVideo);
-
- // let the MediaView restore the selection
- emit needSelectionFor(droppedVideos);
-
- return true;
-
-}
-
-int ListModel::rowForVideo(Video* video) {
- return videos.indexOf(video);
-}
-
-QModelIndex ListModel::indexForVideo(Video* video) {
- return createIndex(videos.indexOf(video), 0);
-}
-
-void ListModel::move(QModelIndexList &indexes, bool up) {
- QList<Video*> movedVideos;
-
- foreach (QModelIndex index, indexes) {
- int row = index.row();
- if (row >= videos.size()) continue;
- // qDebug() << "index row" << row;
- Video *video = videoAt(row);
- movedVideos << video;
- }
-
- int end=up ? -1 : rowCount()-1, mod=up ? -1 : 1;
- foreach (Video *video, movedVideos) {
-
- int row = rowForVideo(video);
- if (row+mod==end) { end=row; continue; }
- // qDebug() << "video row" << row;
- removeRows(row, 1, QModelIndex());
-
- if (up) row--;
- else row++;
-
- beginInsertRows(QModelIndex(), row, row);
- videos.insert(row, video);
- endInsertRows();
-
- }
-
- emit needSelectionFor(movedVideos);
-
-}
-
-/* row hovering */
-
-void ListModel::setHoveredRow(int row) {
- int oldRow = hoveredRow;
- hoveredRow = row;
- emit dataChanged( createIndex( oldRow, 0 ), createIndex( oldRow, columnCount() - 1 ) );
- emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
-}
-
-void ListModel::clearHover() {
- emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
- hoveredRow = -1;
-}
-
-/* clickable author */
-
-void ListModel::enterAuthorHover() {
- if (authorHovered) return;
- authorHovered = true;
- updateAuthor();
-}
-
-void ListModel::exitAuthorHover() {
- if (!authorHovered) return;
- authorHovered = false;
- updateAuthor();
- setHoveredRow(hoveredRow);
-}
-
-void ListModel::enterAuthorPressed() {
- if (authorPressed) return;
- authorPressed = true;
- updateAuthor();
-}
-
-void ListModel::exitAuthorPressed() {
- if (!authorPressed) return;
- authorPressed = false;
- updateAuthor();
-}
-
-void ListModel::updateAuthor() {
- emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
-}
+++ /dev/null
-#ifndef LISTMODEL_H
-#define LISTMODEL_H
-
-#include "video.h"
-#include "youtubesearch.h"
-#include "searchparams.h"
-
-enum DataRoles {
- ItemTypeRole = Qt::UserRole,
- VideoRole,
- ActiveTrackRole,
- DownloadItemRole,
- HoveredItemRole,
- DownloadButtonHoveredRole,
- DownloadButtonPressedRole,
- AuthorHoveredRole,
- AuthorPressedRole
-};
-
-enum ItemTypes {
- ItemTypeVideo = 1,
- ItemTypeShowMore
-};
-
-class ListModel : public QAbstractListModel {
-
- Q_OBJECT
-
-public:
-
- ListModel(QWidget *parent);
- ~ListModel();
-
- // inherited from QAbstractListModel
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- // int rowCount( const QModelIndex& parent = QModelIndex() ) const { Q_UNUSED( parent ); return videos.size(); }
- int columnCount( const QModelIndex& parent = QModelIndex() ) const { Q_UNUSED( parent ); return 4; }
- QVariant data(const QModelIndex &index, int role) const;
- bool removeRows(int position, int rows, const QModelIndex &parent);
-
- Qt::ItemFlags flags(const QModelIndex &index) const;
- QStringList mimeTypes() const;
- Qt::DropActions supportedDropActions() const;
- QMimeData* mimeData( const QModelIndexList &indexes ) const;
- bool dropMimeData(const QMimeData *data,
- Qt::DropAction action, int row, int column,
- const QModelIndex &parent);
-
- // custom methods
- void setActiveRow( int row );
- bool rowExists( int row ) const { return (( row >= 0 ) && ( row < videos.size() ) ); }
- int activeRow() const { return m_activeRow; } // returns -1 if there is no active row
- int nextRow() const;
- int previousRow() const;
- void removeIndexes(QModelIndexList &indexes);
- int rowForVideo(Video* video);
- QModelIndex indexForVideo(Video* video);
- void move(QModelIndexList &indexes, bool up);
-
- Video* videoAt( int row ) const;
- Video* activeVideo() const;
-
- // video search methods
- void search(SearchParams *searchParams);
- void abortSearch();
-
-
-public slots:
- void searchMore();
- void searchNeeded();
- void addVideo(Video* video);
- void searchFinished(int total);
- void searchError(QString message);
- void updateThumbnail();
-
- void setHoveredRow(int row);
- void clearHover();
- void enterAuthorHover();
- void exitAuthorHover();
- void enterAuthorPressed();
- void exitAuthorPressed();
- void updateAuthor();
-
-signals:
- void activeRowChanged(int);
- void needSelectionFor(QList<Video*>);
- void haveSuggestions(const QStringList &suggestions);
-
-private:
- void searchMore(int max);
-
- YouTubeSearch *youtubeSearch;
- SearchParams *searchParams;
- bool searching;
- bool canSearchMore;
-
- QList<Video*> videos;
- int skip;
-
- // the row being played
- int m_activeRow;
- Video *m_activeVideo;
-
- QString errorMessage;
-
- int hoveredRow;
- bool authorHovered;
- bool authorPressed;
-};
-
-#endif
+++ /dev/null
-#include "MainWindow.h"
-#include "spacer.h"
-#include "constants.h"
-#include "iconloader/qticonloader.h"
-#include "global.h"
-#include "videodefinition.h"
-#include "fontutils.h"
-#include "globalshortcuts.h"
-#ifdef Q_WS_X11
-#include "gnomeglobalshortcutbackend.h"
-#endif
-#ifdef Q_WS_MAC
-#include "mac_startup.h"
-#include "macfullscreen.h"
-#include "macsupport.h"
-#include "macutils.h"
-#endif
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-#include "downloadmanager.h"
-#include "youtubesuggest.h"
-#include "updatechecker.h"
-#ifdef APP_DEMO
-#include "demostartupview.h"
-#endif
-#include "temporary.h"
-#ifdef APP_MAC
-#include "searchlineedit_mac.h"
-#else
-#include "searchlineedit.h"
-#endif
-#include <iostream>
-
-static MainWindow *singleton = 0;
-
-MainWindow* MainWindow::instance() {
- if (!singleton) singleton = new MainWindow();
- return singleton;
-}
-
-MainWindow::MainWindow() :
- updateChecker(0),
- aboutView(0),
- downloadView(0),
- mediaObject(0),
- audioOutput(0),
- m_fullscreen(false) {
-
- singleton = this;
-
- // views mechanism
- history = new QStack<QWidget*>();
- views = new QStackedWidget(this);
- setCentralWidget(views);
-
- // views
- searchView = new SearchView(this);
- connect(searchView, SIGNAL(search(SearchParams*)), this, SLOT(showMedia(SearchParams*)));
- views->addWidget(searchView);
-
- mediaView = new MediaView(this);
- mediaView->setEnabled(false);
- views->addWidget(mediaView);
-
- // build ui
- createActions();
- createMenus();
- createToolBars();
- createStatusBar();
-
- initPhonon();
- mediaView->setSlider(seekSlider);
- 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);
-
- setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-
- // restore window position
- 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);
- }
- setMinimumWidth(0);
-
- // show the initial view
-#ifdef APP_DEMO
- QWidget *demoStartupView = new DemoStartupView(this);
- views->addWidget(demoStartupView);
- showWidget(demoStartupView);
-#else
- showSearch();
-#endif
-
- // Global shortcuts
- GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
-#ifdef Q_WS_X11
- if (GnomeGlobalShortcutBackend::IsGsdAvailable())
- shortcuts.setBackend(new GnomeGlobalShortcutBackend(&shortcuts));
-#endif
-#ifdef Q_WS_MAC
- mac::MacSetup();
-#endif
- connect(&shortcuts, SIGNAL(PlayPause()), pauseAct, SLOT(trigger()));
- connect(&shortcuts, SIGNAL(Stop()), this, SLOT(stop()));
- connect(&shortcuts, SIGNAL(Next()), skipAct, SLOT(trigger()));
- connect(&shortcuts, SIGNAL(Previous()), skipBackwardAct, SLOT(trigger()));
- // connect(&shortcuts, SIGNAL(StopAfter()), The::globalActions()->value("stopafterthis"), SLOT(toggle()));
-
- connect(DownloadManager::instance(), SIGNAL(statusMessageChanged(QString)),
- SLOT(updateDownloadMessage(QString)));
- connect(DownloadManager::instance(), SIGNAL(finished()),
- SLOT(downloadsFinished()));
-
- setAcceptDrops(true);
-
- mouseTimer = new QTimer(this);
- mouseTimer->setInterval(5000);
- mouseTimer->setSingleShot(true);
- connect(mouseTimer, SIGNAL(timeout()), SLOT(hideMouse()));
-
- QTimer::singleShot(0, this, SLOT(checkForUpdate()));
-
-}
-
-MainWindow::~MainWindow() {
- delete history;
-}
-
-void MainWindow::changeEvent(QEvent* event) {
-#ifdef APP_MAC
- if (event->type() == QEvent::WindowStateChange) {
- The::globalActions()->value("minimize")->setEnabled(!isMinimized());
- }
-#endif
- QMainWindow::changeEvent(event);
-}
-
-bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
-
- if (m_fullscreen && event->type() == QEvent::MouseMove) {
-
- QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (event);
- const int x = mouseEvent->pos().x();
- const QString className = QString(obj->metaObject()->className());
- const bool isHoveringVideo = (className == "QGLWidget") || (className == "VideoAreaWidget");
-
- // qDebug() << obj << mouseEvent->pos() << isHoveringVideo << mediaView->isPlaylistVisible();
-
- if (mediaView->isPlaylistVisible()) {
- if (isHoveringVideo && x > 5) mediaView->setPlaylistVisible(false);
- } else {
- if (isHoveringVideo && x >= 0 && x < 5) mediaView->setPlaylistVisible(true);
- }
-
-#ifndef APP_MAC
- const int y = mouseEvent->pos().y();
- if (mainToolBar->isVisible()) {
- if (isHoveringVideo && y > 5) mainToolBar->setVisible(false);
- } else {
- if (isHoveringVideo && y >= 0 && y < 5) mainToolBar->setVisible(true);
- }
-#endif
-
- // show the normal cursor
- unsetCursor();
- // then hide it again after a few seconds
- mouseTimer->start();
-
- }
-
- if (event->type() == QEvent::ToolTip) {
- // kill tooltips
- return true;
- }
- // standard event processing
- return QMainWindow::eventFilter(obj, event);
-}
-
-void MainWindow::createActions() {
-
- QMap<QString, QAction*> *actions = The::globalActions();
-
- stopAct = new QAction(QtIconLoader::icon("media-playback-stop"), tr("&Stop"), this);
- stopAct->setStatusTip(tr("Stop playback and go back to the search view"));
- stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
- stopAct->setEnabled(false);
- actions->insert("stop", stopAct);
- connect(stopAct, SIGNAL(triggered()), this, SLOT(stop()));
-
- skipBackwardAct = new QAction(
- QtIconLoader::icon("media-skip-backward"),
- 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()));
-
- skipAct = new QAction(QtIconLoader::icon("media-skip-forward"), tr("S&kip"), this);
- skipAct->setStatusTip(tr("Skip to the next video"));
- skipAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Right) << QKeySequence(Qt::Key_MediaNext));
- skipAct->setEnabled(false);
- actions->insert("skip", skipAct);
- connect(skipAct, SIGNAL(triggered()), mediaView, SLOT(skip()));
-
- pauseAct = new QAction(QtIconLoader::icon("media-playback-pause"), tr("&Pause"), this);
- pauseAct->setStatusTip(tr("Pause playback"));
- pauseAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Space) << QKeySequence(Qt::Key_MediaPlay));
- pauseAct->setEnabled(false);
- actions->insert("pause", pauseAct);
- connect(pauseAct, SIGNAL(triggered()), mediaView, SLOT(pause()));
-
- fullscreenAct = new QAction(QtIconLoader::icon("view-fullscreen"), tr("&Full Screen"), this);
- fullscreenAct->setStatusTip(tr("Go full screen"));
- QList<QKeySequence> fsShortcuts;
-#ifdef APP_MAC
- fsShortcuts << QKeySequence(Qt::CTRL + Qt::META + Qt::Key_F);
-#else
- fsShortcuts << QKeySequence(Qt::Key_F11) << QKeySequence(Qt::ALT + Qt::Key_Return);
-#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()));
-
- compactViewAct = new QAction(tr("&Compact Mode"), this);
- compactViewAct->setStatusTip(tr("Hide the playlist and the toolbar"));
-#ifdef APP_MAC
- compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::META + Qt::Key_C));
-#else
- compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C));
-#endif
- compactViewAct->setCheckable(true);
- compactViewAct->setChecked(false);
- compactViewAct->setEnabled(false);
- actions->insert("compactView", compactViewAct);
- connect(compactViewAct, SIGNAL(toggled(bool)), this, SLOT(compactView(bool)));
-
- webPageAct = new QAction(tr("Open the &YouTube Page"), this);
- webPageAct->setStatusTip(tr("Go to the YouTube video page and pause playback"));
- webPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Y));
- webPageAct->setEnabled(false);
- actions->insert("webpage", webPageAct);
- connect(webPageAct, SIGNAL(triggered()), mediaView, SLOT(openWebPage()));
-
- copyPageAct = new QAction(tr("Copy the YouTube &Link"), this);
- copyPageAct->setStatusTip(tr("Copy the current video YouTube link to the clipboard"));
- copyPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
- copyPageAct->setEnabled(false);
- actions->insert("pagelink", copyPageAct);
- connect(copyPageAct, SIGNAL(triggered()), mediaView, SLOT(copyWebPage()));
-
- copyLinkAct = new QAction(tr("Copy the Video Stream &URL"), this);
- copyLinkAct->setStatusTip(tr("Copy the current video stream URL to the clipboard"));
- copyLinkAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
- copyLinkAct->setEnabled(false);
- actions->insert("videolink", copyLinkAct);
- connect(copyLinkAct, SIGNAL(triggered()), mediaView, SLOT(copyVideoLink()));
-
- findVideoPartsAct = new QAction(tr("Find Video &Parts"), this);
- findVideoPartsAct->setStatusTip(tr("Find other video parts hopefully in the right order"));
- findVideoPartsAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_P));
- findVideoPartsAct->setEnabled(false);
- connect(findVideoPartsAct, SIGNAL(triggered()), mediaView, SLOT(findVideoParts()));
- actions->insert("findVideoParts", findVideoPartsAct);
-
- removeAct = new QAction(tr("&Remove"), this);
- removeAct->setStatusTip(tr("Remove the selected videos from the playlist"));
- removeAct->setShortcuts(QList<QKeySequence>() << QKeySequence("Del") << QKeySequence("Backspace"));
- removeAct->setEnabled(false);
- actions->insert("remove", removeAct);
- connect(removeAct, SIGNAL(triggered()), mediaView, SLOT(removeSelected()));
-
- moveUpAct = new QAction(tr("Move &Up"), this);
- moveUpAct->setStatusTip(tr("Move up the selected videos in the playlist"));
- moveUpAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
- moveUpAct->setEnabled(false);
- actions->insert("moveUp", moveUpAct);
- connect(moveUpAct, SIGNAL(triggered()), mediaView, SLOT(moveUpSelected()));
-
- moveDownAct = new QAction(tr("Move &Down"), this);
- moveDownAct->setStatusTip(tr("Move down the selected videos in the playlist"));
- moveDownAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
- moveDownAct->setEnabled(false);
- actions->insert("moveDown", moveDownAct);
- connect(moveDownAct, SIGNAL(triggered()), mediaView, SLOT(moveDownSelected()));
-
- clearAct = new QAction(tr("&Clear Recent Searches"), this);
- clearAct->setMenuRole(QAction::ApplicationSpecificRole);
- clearAct->setShortcuts(QList<QKeySequence>()
- << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Delete)
- << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Backspace));
- clearAct->setStatusTip(tr("Clear the search history. Cannot be undone."));
- clearAct->setEnabled(true);
- actions->insert("clearRecentKeywords", clearAct);
- connect(clearAct, SIGNAL(triggered()), SLOT(clearRecentKeywords()));
-
- quitAct = new QAction(tr("&Quit"), this);
- quitAct->setMenuRole(QAction::QuitRole);
- quitAct->setShortcut(QKeySequence(QKeySequence::Quit));
- quitAct->setStatusTip(tr("Bye"));
- actions->insert("quit", quitAct);
- connect(quitAct, SIGNAL(triggered()), SLOT(quit()));
-
- siteAct = new QAction(tr("&Website"), this);
- siteAct->setShortcut(QKeySequence::HelpContents);
- siteAct->setStatusTip(tr("%1 on the Web").arg(Constants::NAME));
- actions->insert("site", siteAct);
- connect(siteAct, SIGNAL(triggered()), this, SLOT(visitSite()));
-
-#if !defined(APP_MAC) && !defined(APP_WIN)
- donateAct = new QAction(tr("Make a &Donation"), this);
- donateAct->setStatusTip(tr("Please support the continued development of %1").arg(Constants::NAME));
- actions->insert("donate", donateAct);
- connect(donateAct, SIGNAL(triggered()), this, SLOT(donate()));
-#endif
-
- aboutAct = new QAction(tr("&About"), this);
- aboutAct->setMenuRole(QAction::AboutRole);
- aboutAct->setStatusTip(tr("Info about %1").arg(Constants::NAME));
- actions->insert("about", aboutAct);
- connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
-
- // Invisible actions
-
- searchFocusAct = new QAction(this);
- searchFocusAct->setShortcut(QKeySequence::Find);
- searchFocusAct->setStatusTip(tr("Search"));
- actions->insert("search", searchFocusAct);
- connect(searchFocusAct, SIGNAL(triggered()), this, SLOT(searchFocus()));
- addAction(searchFocusAct);
-
- volumeUpAct = new QAction(this);
- volumeUpAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Plus));
- actions->insert("volume-up", volumeUpAct);
- connect(volumeUpAct, SIGNAL(triggered()), this, SLOT(volumeUp()));
- addAction(volumeUpAct);
-
- volumeDownAct = new QAction(this);
- volumeDownAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Minus));
- actions->insert("volume-down", volumeDownAct);
- connect(volumeDownAct, SIGNAL(triggered()), this, SLOT(volumeDown()));
- addAction(volumeDownAct);
-
- volumeMuteAct = new QAction(this);
- volumeMuteAct->setIcon(QtIconLoader::icon("audio-volume-high"));
- volumeMuteAct->setStatusTip(tr("Mute volume"));
- volumeMuteAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_E));
- actions->insert("volume-mute", volumeMuteAct);
- connect(volumeMuteAct, SIGNAL(triggered()), SLOT(volumeMute()));
- addAction(volumeMuteAct);
-
- QAction *definitionAct = new QAction(this);
- definitionAct->setIcon(QtIconLoader::icon("video-display"));
- definitionAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_D));
- /*
- QMenu *definitionMenu = new QMenu(this);
- foreach (QString definition, VideoDefinition::getDefinitionNames()) {
- definitionMenu->addAction(definition);
- }
- definitionAct->setMenu(definitionMenu);
- */
- actions->insert("definition", definitionAct);
- connect(definitionAct, SIGNAL(triggered()), SLOT(toggleDefinitionMode()));
- addAction(definitionAct);
-
- QAction *action;
-
- action = new QAction(QtIconLoader::icon("media-playback-start"), tr("&Manually Start Playing"), this);
- action->setStatusTip(tr("Manually start playing videos"));
- action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_B));
- action->setCheckable(true);
- connect(action, SIGNAL(toggled(bool)), SLOT(setManualPlay(bool)));
- actions->insert("manualplay", action);
-
- action = new QAction(tr("&Downloads"), this);
- action->setStatusTip(tr("Show details about video downloads"));
- action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_J));
- action->setCheckable(true);
- action->setIcon(QtIconLoader::icon("go-down"));
- action->setVisible(false);
- connect(action, SIGNAL(toggled(bool)), SLOT(toggleDownloads(bool)));
- actions->insert("downloads", action);
-
- action = new QAction(tr("&Download"), this);
- action->setStatusTip(tr("Download the current video"));
-#ifndef APP_NO_DOWNLOADS
- action->setShortcut(QKeySequence::Save);
-#endif
- action->setIcon(QtIconLoader::icon("go-down"));
- action->setEnabled(false);
-#if QT_VERSION >= 0x040600
- action->setPriority(QAction::LowPriority);
-#endif
- connect(action, SIGNAL(triggered()), mediaView, SLOT(downloadVideo()));
- actions->insert("download", action);
-
- /*
- action = new QAction(tr("&Snapshot"), this);
- action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
- actions->insert("snapshot", action);
- connect(action, SIGNAL(triggered()), mediaView, SLOT(snapshot()));
- */
-
- QString shareTip = tr("Share the current video using %1");
-
- action = new QAction("&Twitter", this);
- action->setStatusTip(shareTip.arg("Twitter"));
- actions->insert("twitter", action);
- connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaTwitter()));
-
- action = new QAction("&Facebook", this);
- action->setStatusTip(shareTip.arg("Facebook"));
- actions->insert("facebook", action);
- connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaFacebook()));
-
- action = new QAction("&Buffer", this);
- action->setStatusTip(shareTip.arg("Buffer"));
- actions->insert("buffer", action);
- connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaBuffer()));
-
- action = new QAction(tr("&Email"), this);
- action->setStatusTip(shareTip.arg(tr("Email")));
- actions->insert("email", action);
- connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaEmail()));
-
- action = new QAction(tr("&Close"), this);
- action->setShortcut(QKeySequence(QKeySequence::Close));
- actions->insert("close", action);
- connect(action, SIGNAL(triggered()), SLOT(close()));
-
- action = new QAction(Constants::NAME, this);
- action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_1));
- actions->insert("restore", action);
- connect(action, SIGNAL(triggered()), SLOT(restore()));
-
- action = new QAction(QtIconLoader::icon("go-top"), tr("&Float on Top"), this);
- action->setCheckable(true);
- actions->insert("ontop", action);
- connect(action, SIGNAL(toggled(bool)), SLOT(floatOnTop(bool)));
-
- action = new QAction(QtIconLoader::icon("media-playback-stop"), tr("&Stop After This Video"), this);
- action->setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Escape));
- action->setCheckable(true);
- action->setEnabled(false);
- actions->insert("stopafterthis", action);
- connect(action, SIGNAL(toggled(bool)), SLOT(showStopAfterThisInStatusBar(bool)));
-
- action = new QAction(tr("&Report an Issue..."), this);
- actions->insert("report-issue", action);
- connect(action, SIGNAL(triggered()), SLOT(reportIssue()));
-
- action = new QAction(tr("&Refine Search..."), this);
- action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R));
- action->setCheckable(true);
- actions->insert("refine-search", action);
-
- // 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) + ")");
-
- // no icons in menus
- action->setIconVisibleInMenu(false);
-
- }
-
-}
-
-void MainWindow::createMenus() {
-
- QMap<QString, QMenu*> *menus = The::globalMenus();
-
- fileMenu = menuBar()->addMenu(tr("&Application"));
-#ifdef APP_DEMO
- QAction* action = new QAction(tr("Buy %1...").arg(Constants::NAME), this);
- action->setMenuRole(QAction::ApplicationSpecificRole);
- connect(action, SIGNAL(triggered()), SLOT(buy()));
- fileMenu->addAction(action);
-#endif
- fileMenu->addAction(clearAct);
-#ifndef APP_MAC
- fileMenu->addSeparator();
-#endif
- fileMenu->addAction(quitAct);
-
- QMenu* playbackMenu = menuBar()->addMenu(tr("&Playback"));
- menus->insert("playback", playbackMenu);
- playbackMenu->addAction(pauseAct);
- playbackMenu->addAction(stopAct);
- playbackMenu->addAction(The::globalActions()->value("stopafterthis"));
- playbackMenu->addSeparator();
- playbackMenu->addAction(skipAct);
- playbackMenu->addAction(skipBackwardAct);
- playbackMenu->addSeparator();
- playbackMenu->addAction(The::globalActions()->value("manualplay"));
-#ifdef APP_MAC
- MacSupport::dockMenu(playbackMenu);
-#endif
-
- playlistMenu = menuBar()->addMenu(tr("&Playlist"));
- menus->insert("playlist", playlistMenu);
- playlistMenu->addAction(removeAct);
- playlistMenu->addSeparator();
- playlistMenu->addAction(moveUpAct);
- playlistMenu->addAction(moveDownAct);
- playlistMenu->addSeparator();
- playlistMenu->addAction(The::globalActions()->value("refine-search"));
-
- QMenu* videoMenu = menuBar()->addMenu(tr("&Video"));
- menus->insert("video", videoMenu);
- videoMenu->addAction(findVideoPartsAct);
- videoMenu->addSeparator();
- videoMenu->addAction(webPageAct);
- videoMenu->addSeparator();
-#ifndef APP_NO_DOWNLOADS
- videoMenu->addAction(The::globalActions()->value("download"));
- // videoMenu->addAction(copyLinkAct);
-#endif
- // videoMenu->addAction(The::globalActions()->value("snapshot"));
-
- QMenu* viewMenu = menuBar()->addMenu(tr("&View"));
- menus->insert("view", viewMenu);
- viewMenu->addAction(fullscreenAct);
- viewMenu->addAction(compactViewAct);
- viewMenu->addSeparator();
- viewMenu->addAction(The::globalActions()->value("ontop"));
-
- QMenu* shareMenu = menuBar()->addMenu(tr("&Share"));
- menus->insert("share", shareMenu);
- shareMenu->addAction(copyPageAct);
- shareMenu->addSeparator();
- shareMenu->addAction(The::globalActions()->value("twitter"));
- shareMenu->addAction(The::globalActions()->value("facebook"));
- shareMenu->addAction(The::globalActions()->value("buffer"));
- shareMenu->addSeparator();
- shareMenu->addAction(The::globalActions()->value("email"));
-
-#ifdef APP_MAC
- MacSupport::windowMenu(this);
-#endif
-
- helpMenu = menuBar()->addMenu(tr("&Help"));
- helpMenu->addAction(siteAct);
-#if !defined(APP_MAC) && !defined(APP_WIN)
- helpMenu->addAction(donateAct);
-#endif
- helpMenu->addAction(The::globalActions()->value("report-issue"));
- helpMenu->addAction(aboutAct);
-}
-
-void MainWindow::createToolBars() {
-
- setUnifiedTitleAndToolBarOnMac(true);
-
- mainToolBar = new QToolBar(this);
-#if QT_VERSION < 0x040600 | defined(APP_MAC)
- mainToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly);
-#else
- mainToolBar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
-#endif
- mainToolBar->setFloatable(false);
- mainToolBar->setMovable(false);
-
-#if defined(APP_MAC) | defined(APP_WIN)
- mainToolBar->setIconSize(QSize(32, 32));
-#endif
-
- mainToolBar->addAction(stopAct);
- mainToolBar->addAction(pauseAct);
- mainToolBar->addAction(skipAct);
-
- bool addFullScreenAct = true;
-#ifdef Q_WS_MAC
- addFullScreenAct = !mac::CanGoFullScreen(winId());
-#endif
- if (addFullScreenAct) mainToolBar->addAction(fullscreenAct);
-
-#ifndef APP_NO_DOWNLOADS
- mainToolBar->addAction(The::globalActions()->value("download"));
-#endif
-
- mainToolBar->addWidget(new Spacer());
-
- QFont smallerFont = FontUtils::small();
- currentTime = new QLabel(mainToolBar);
- currentTime->setFont(smallerFont);
- mainToolBar->addWidget(currentTime);
-
- mainToolBar->addWidget(new Spacer());
-
- seekSlider = new Phonon::SeekSlider(this);
- seekSlider->setIconVisible(false);
- seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
- mainToolBar->addWidget(seekSlider);
-
-/*
- mainToolBar->addWidget(new Spacer());
- slider = new QSlider(this);
- slider->setOrientation(Qt::Horizontal);
- slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
- mainToolBar->addWidget(slider);
-*/
-
- mainToolBar->addWidget(new Spacer());
-
- totalTime = new QLabel(mainToolBar);
- totalTime->setFont(smallerFont);
- mainToolBar->addWidget(totalTime);
-
- mainToolBar->addWidget(new Spacer());
-
- mainToolBar->addAction(volumeMuteAct);
-
- volumeSlider = new Phonon::VolumeSlider(this);
- volumeSlider->setMuteVisible(false);
- // qDebug() << volumeSlider->children();
- // status tip for the volume slider
- QSlider* volumeQSlider = volumeSlider->findChild<QSlider*>();
- if (volumeQSlider)
- volumeQSlider->setStatusTip(tr("Press %1 to raise the volume, %2 to lower it").arg(
- volumeUpAct->shortcut().toString(QKeySequence::NativeText), volumeDownAct->shortcut().toString(QKeySequence::NativeText)));
- // this makes the volume slider smaller
- volumeSlider->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- mainToolBar->addWidget(volumeSlider);
-
- mainToolBar->addWidget(new Spacer());
-
-#ifdef APP_MAC
- SearchWrapper* searchWrapper = new SearchWrapper(this);
- toolbarSearch = searchWrapper->getSearchLineEdit();
-#else
- toolbarSearch = new SearchLineEdit(this);
-#endif
- toolbarSearch->setMinimumWidth(toolbarSearch->fontInfo().pixelSize()*15);
- toolbarSearch->setSuggester(new YouTubeSuggest(this));
- connect(toolbarSearch, SIGNAL(search(const QString&)), this, SLOT(startToolbarSearch(const QString&)));
- connect(toolbarSearch, SIGNAL(suggestionAccepted(const QString&)), SLOT(startToolbarSearch(const QString&)));
- toolbarSearch->setStatusTip(searchFocusAct->statusTip());
-#ifdef APP_MAC
- mainToolBar->addWidget(searchWrapper);
-#else
- mainToolBar->addWidget(toolbarSearch);
- Spacer* spacer = new Spacer();
- // spacer->setWidth(4);
- mainToolBar->addWidget(spacer);
-#endif
-
- addToolBar(mainToolBar);
-}
-
-void MainWindow::createStatusBar() {
- QToolBar* toolBar = new QToolBar(this);
- statusToolBar = toolBar;
- toolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- toolBar->setIconSize(QSize(16, 16));
- toolBar->addAction(The::globalActions()->value("downloads"));
- toolBar->addAction(The::globalActions()->value("definition"));
- statusBar()->addPermanentWidget(toolBar);
- statusBar()->show();
-}
-
-void MainWindow::showStopAfterThisInStatusBar(bool show) {
- QAction* action = The::globalActions()->value("stopafterthis");
- showActionInStatusBar(action, show);
-}
-
-void MainWindow::showActionInStatusBar(QAction* action, bool show) {
- if (show) {
- statusToolBar->insertAction(statusToolBar->actions().first(), action);
- } else {
- statusToolBar->removeAction(action);
- }
-}
-
-void MainWindow::readSettings() {
- QSettings settings;
- if (settings.contains("geometry")) {
- restoreGeometry(settings.value("geometry").toByteArray());
-#ifdef APP_MAC
- MacSupport::fixGeometry(this);
-#endif
- } else {
- 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());
-}
-
-void MainWindow::writeSettings() {
- QSettings settings;
-
- settings.setValue("geometry", saveGeometry());
- mediaView->saveSplitterState();
-
- settings.setValue("volume", audioOutput->volume());
- settings.setValue("volumeMute", audioOutput->isMuted());
- settings.setValue("manualplay", The::globalActions()->value("manualplay")->isChecked());
-}
-
-void MainWindow::goBack() {
- if ( history->size() > 1 ) {
- history->pop();
- QWidget *widget = history->pop();
- showWidget(widget);
- }
-}
-
-void MainWindow::showWidget ( QWidget* widget ) {
-
- if (compactViewAct->isChecked())
- compactViewAct->toggle();
-
- setUpdatesEnabled(false);
-
- // call hide method on the current view
- View* oldView = dynamic_cast<View *> (views->currentWidget());
- if (oldView) {
- oldView->disappear();
- views->currentWidget()->setEnabled(false);
- }
-
- // call show method on the new view
- View* newView = dynamic_cast<View *> (widget);
- if (newView) {
- widget->setEnabled(true);
- newView->appear();
- QMap<QString,QVariant> metadata = newView->metadata();
- QString windowTitle = metadata.value("title").toString();
- if (windowTitle.length())
- windowTitle += " - ";
- setWindowTitle(windowTitle + Constants::NAME);
- statusBar()->showMessage((metadata.value("description").toString()));
- }
-
- stopAct->setEnabled(widget == mediaView);
- compactViewAct->setEnabled(widget == mediaView);
- webPageAct->setEnabled(widget == mediaView);
- copyPageAct->setEnabled(widget == mediaView);
- copyLinkAct->setEnabled(widget == mediaView);
- findVideoPartsAct->setEnabled(widget == mediaView);
- toolbarSearch->setEnabled(widget == searchView || widget == mediaView || widget == downloadView);
-
- if (widget == searchView) {
- skipAct->setEnabled(false);
- The::globalActions()->value("previous")->setEnabled(false);
- The::globalActions()->value("download")->setEnabled(false);
- The::globalActions()->value("stopafterthis")->setEnabled(false);
- }
-
- The::globalActions()->value("twitter")->setEnabled(widget == mediaView);
- The::globalActions()->value("facebook")->setEnabled(widget == mediaView);
- The::globalActions()->value("buffer")->setEnabled(widget == mediaView);
- The::globalActions()->value("email")->setEnabled(widget == mediaView);
-
- aboutAct->setEnabled(widget != aboutView);
- The::globalActions()->value("downloads")->setChecked(widget == downloadView);
-
- // toolbar only for the mediaView
- /* mainToolBar->setVisible(
- (widget == mediaView && !compactViewAct->isChecked())
- || widget == downloadView
- ); */
-
- setUpdatesEnabled(true);
-
- QWidget *oldWidget = views->currentWidget();
- if (oldWidget)
- oldWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-
- views->setCurrentWidget(widget);
- widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- // adjustSize();
-
-#ifndef Q_WS_X11
- Extra::fadeInWidget(oldWidget, widget);
-#endif
-
- history->push(widget);
-}
-
-void MainWindow::about() {
- if (!aboutView) {
- aboutView = new AboutView(this);
- views->addWidget(aboutView);
- }
- showWidget(aboutView);
-}
-
-void MainWindow::visitSite() {
- QUrl url(Constants::WEBSITE);
- statusBar()->showMessage(QString(tr("Opening %1").arg(url.toString())));
- QDesktopServices::openUrl(url);
-}
-
-void MainWindow::donate() {
- QUrl url(QString(Constants::WEBSITE) + "#donate");
- statusBar()->showMessage(QString(tr("Opening %1").arg(url.toString())));
- QDesktopServices::openUrl(url);
-}
-
-void MainWindow::reportIssue() {
- QUrl url("http://flavio.tordini.org/forums/forum/minitube-forums/minitube-troubleshooting");
- QDesktopServices::openUrl(url);
-}
-
-void MainWindow::quit() {
-#ifdef APP_MAC
- if (!confirmQuit()) {
- return;
- }
-#endif
- // do not save geometry when in full screen or in compact mode
- if (!m_fullscreen && !compactViewAct->isChecked()) {
- writeSettings();
- }
- Temporary::deleteAll();
- qApp->quit();
-}
-
-void MainWindow::closeEvent(QCloseEvent *event) {
-#ifdef APP_MAC
- mac::closeWindow(winId());
- event->ignore();
-#else
- if (!confirmQuit()) {
- event->ignore();
- return;
- }
- QWidget::closeEvent(event);
- quit();
-#endif
-}
-
-bool MainWindow::confirmQuit() {
- if (DownloadManager::instance()->activeItems() > 0) {
- QMessageBox msgBox(this);
- msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
- msgBox.setText(tr("Do you want to exit %1 with a download in progress?").arg(Constants::NAME));
- msgBox.setInformativeText(tr("If you close %1 now, this download will be cancelled.").arg(Constants::NAME));
- msgBox.setModal(true);
- // make it a "sheet" on the Mac
- msgBox.setWindowModality(Qt::WindowModal);
-
- msgBox.addButton(tr("Close and cancel download"), QMessageBox::RejectRole);
- QPushButton *waitButton = msgBox.addButton(tr("Wait for download to finish"), QMessageBox::ActionRole);
-
- msgBox.exec();
-
- if (msgBox.clickedButton() == waitButton) {
- return false;
- }
- }
- return true;
-}
-
-void MainWindow::showSearch() {
- showWidget(searchView);
- currentTime->clear();
- totalTime->clear();
-}
-
-void MainWindow::showMedia(SearchParams *searchParams) {
- mediaView->search(searchParams);
- showWidget(mediaView);
-}
-
-void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) {
-
- // qDebug() << "Phonon state: " << newState;
-
- switch (newState) {
-
- case Phonon::ErrorState:
- if (mediaObject->errorType() == Phonon::FatalError) {
- // Do not display because we try to play incomplete video files and sometimes trigger this
- // We retry automatically (in MediaView) so no need to show it
- // statusBar()->showMessage(tr("Fatal error: %1").arg(mediaObject->errorString()));
- } else {
- statusBar()->showMessage(tr("Error: %1").arg(mediaObject->errorString()));
- }
- break;
-
- case Phonon::PlayingState:
- pauseAct->setEnabled(true);
- pauseAct->setIcon(QtIconLoader::icon("media-playback-pause"));
- pauseAct->setText(tr("&Pause"));
- pauseAct->setStatusTip(tr("Pause playback") + " (" + pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
- // stopAct->setEnabled(true);
- break;
-
- case Phonon::StoppedState:
- pauseAct->setEnabled(false);
- // stopAct->setEnabled(false);
- break;
-
- case Phonon::PausedState:
- pauseAct->setEnabled(true);
- pauseAct->setIcon(QtIconLoader::icon("media-playback-start"));
- pauseAct->setText(tr("&Play"));
- pauseAct->setStatusTip(tr("Resume playback") + " (" + pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
- // stopAct->setEnabled(true);
- break;
-
- case Phonon::BufferingState:
- case Phonon::LoadingState:
- pauseAct->setEnabled(false);
- currentTime->clear();
- totalTime->clear();
- // stopAct->setEnabled(true);
- break;
-
- default:
- ;
- }
-}
-
-void MainWindow::stop() {
- mediaView->stop();
- showSearch();
-}
-
-void MainWindow::resizeEvent(QResizeEvent*) {
-#ifdef Q_WS_MAC
- if (mac::CanGoFullScreen(winId())) {
- bool isFullscreen = mac::IsFullScreen(winId());
- if (isFullscreen != m_fullscreen) {
- if (compactViewAct->isChecked()) {
- compactViewAct->setChecked(false);
- compactView(false);
- }
- m_fullscreen = isFullscreen;
- updateUIForFullscreen();
- }
- }
-#endif
-}
-
-void MainWindow::fullscreen() {
-
- if (compactViewAct->isChecked())
- compactViewAct->toggle();
-
-#ifdef Q_WS_MAC
- WId handle = winId();
- if (mac::CanGoFullScreen(handle)) {
- mainToolBar->setVisible(true);
- mac::ToggleFullScreen(handle);
- return;
- }
-#endif
-
- m_fullscreen = !m_fullscreen;
-
- if (m_fullscreen) {
- // Enter full screen
-
- m_maximized = isMaximized();
-
- // save geometry now, if the user quits when in full screen
- // geometry won't be saved
- writeSettings();
-
-#ifdef Q_WS_MAC
- MacSupport::enterFullScreen(this, views);
-#else
- mainToolBar->hide();
- showFullScreen();
-#endif
-
- } else {
- // Exit full screen
-
-#ifdef Q_WS_MAC
- MacSupport::exitFullScreen(this, views);
-#else
- mainToolBar->show();
- if (m_maximized) showMaximized();
- else showNormal();
-#endif
-
- // Make sure the window has focus
- activateWindow();
-
- }
-
- updateUIForFullscreen();
-
-}
-
-void MainWindow::updateUIForFullscreen() {
- static QList<QKeySequence> fsShortcuts;
- static QString fsText;
-
- if (m_fullscreen) {
- fsShortcuts = fullscreenAct->shortcuts();
- fsText = fullscreenAct->text();
- fullscreenAct->setShortcuts(QList<QKeySequence>(fsShortcuts)
- << QKeySequence(Qt::Key_Escape));
- fullscreenAct->setText(tr("Leave &Full Screen"));
- } else {
- fullscreenAct->setShortcuts(fsShortcuts);
- fullscreenAct->setText(fsText);
- }
-
- // No compact view action when in full screen
- compactViewAct->setVisible(!m_fullscreen);
- compactViewAct->setChecked(false);
-
- // Hide anything but the video
- mediaView->setPlaylistVisible(!m_fullscreen);
- statusBar()->setVisible(!m_fullscreen);
-
-#ifndef APP_MAC
- menuBar()->setVisible(!m_fullscreen);
-#endif
-
- if (m_fullscreen) {
- stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
- } else {
- stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
- }
-
-#ifdef Q_WS_MAC
- MacSupport::fullScreenActions(The::globalActions()->values(), m_fullscreen);
-#endif
-
- if (views->currentWidget() == mediaView)
- mediaView->setFocus();
-
- if (m_fullscreen) {
- hideMouse();
- } else {
- mouseTimer->stop();
- unsetCursor();
- }
-}
-
-void MainWindow::compactView(bool enable) {
-
- static QList<QKeySequence> compactShortcuts;
- static QList<QKeySequence> stopShortcuts;
-
- const static QString key = "compactGeometry";
- QSettings settings;
-
-#ifndef APP_MAC
- menuBar()->setVisible(!enable);
-#endif
-
- if (enable) {
- setMinimumSize(160, 120);
-#ifdef Q_WS_MAC
- mac::RemoveFullScreenWindow(winId());
-#endif
- writeSettings();
-
- if (settings.contains(key))
- restoreGeometry(settings.value(key).toByteArray());
- else
- resize(320, 240);
-
- mainToolBar->setVisible(!enable);
- mediaView->setPlaylistVisible(!enable);
- statusBar()->setVisible(!enable);
-
- compactShortcuts = compactViewAct->shortcuts();
- stopShortcuts = stopAct->shortcuts();
-
- QList<QKeySequence> newStopShortcuts(stopShortcuts);
- newStopShortcuts.removeAll(QKeySequence(Qt::Key_Escape));
- stopAct->setShortcuts(newStopShortcuts);
- compactViewAct->setShortcuts(QList<QKeySequence>(compactShortcuts) << QKeySequence(Qt::Key_Escape));
-
- // ensure focus does not end up to the search box
- // as it would steal the Space shortcut
- mediaView->setFocus();
-
- } else {
- // unset minimum size
- setMinimumSize(0, 0);
-#ifdef Q_WS_MAC
- mac::SetupFullScreenWindow(winId());
-#endif
- settings.setValue(key, saveGeometry());
- mainToolBar->setVisible(!enable);
- mediaView->setPlaylistVisible(!enable);
- statusBar()->setVisible(!enable);
- readSettings();
-
- compactViewAct->setShortcuts(compactShortcuts);
- stopAct->setShortcuts(stopShortcuts);
- }
-
- // auto float on top
- floatOnTop(enable);
-}
-
-void MainWindow::searchFocus() {
- toolbarSearch->selectAll();
- toolbarSearch->setFocus();
-}
-
-void MainWindow::initPhonon() {
- // Phonon initialization
- if (mediaObject) delete mediaObject;
- if (audioOutput) delete audioOutput;
- mediaObject = new Phonon::MediaObject(this);
- mediaObject->setTickInterval(100);
- connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
- 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)));
- seekSlider->setMediaObject(mediaObject);
- 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);
-}
-
-void MainWindow::tick(qint64 time) {
- if (time <= 0) {
- // the "if" is important because tick is continually called
- // and we don't want to paint the toolbar every 100ms
- if (!currentTime->text().isEmpty()) currentTime->clear();
- return;
- }
-
- currentTime->setText(formatTime(time));
-
- // remaining time
- const qint64 remainingTime = mediaObject->remainingTime();
- currentTime->setStatusTip(tr("Remaining time: %1").arg(formatTime(remainingTime)));
-
- /*
- slider->blockSignals(true);
- slider->setValue(time/1000);
- slider->blockSignals(false);
- */
-}
-
-void MainWindow::totalTimeChanged(qint64 time) {
- if (time <= 0) {
- totalTime->clear();
- return;
- }
- totalTime->setText(formatTime(time));
-
- /*
- slider->blockSignals(true);
- slider->setMaximum(time/1000);
- slider->blockSignals(false);
- */
-
-}
-
-QString MainWindow::formatTime(qint64 time) {
- QTime displayTime;
- displayTime = displayTime.addMSecs(time);
- QString timeString;
- // 60 * 60 * 1000 = 3600000
- if (time > 3600000)
- timeString = displayTime.toString("h:mm:ss");
- else
- timeString = displayTime.toString("m:ss");
- return timeString;
-}
-
-void MainWindow::volumeUp() {
- qreal newVolume = volumeSlider->audioOutput()->volume() + .1;
- if (newVolume > volumeSlider->maximumVolume())
- newVolume = volumeSlider->maximumVolume();
- volumeSlider->audioOutput()->setVolume(newVolume);
-}
-
-void MainWindow::volumeDown() {
- qreal newVolume = volumeSlider->audioOutput()->volume() - .1;
- if (newVolume < 0)
- newVolume = 0;
- volumeSlider->audioOutput()->setVolume(newVolume);
-}
-
-void MainWindow::volumeMute() {
- volumeSlider->audioOutput()->setMuted(!volumeSlider->audioOutput()->isMuted());
-}
-
-void MainWindow::volumeChanged(qreal newVolume) {
- // automatically unmute when volume changes
- if (volumeSlider->audioOutput()->isMuted())
- volumeSlider->audioOutput()->setMuted(false);
- statusBar()->showMessage(tr("Volume at %1%").arg((int)(newVolume*100)));
-}
-
-void MainWindow::volumeMutedChanged(bool muted) {
- if (muted) {
- volumeMuteAct->setIcon(QtIconLoader::icon("audio-volume-muted"));
- statusBar()->showMessage(tr("Volume is muted"));
- } else {
- volumeMuteAct->setIcon(QtIconLoader::icon("audio-volume-high"));
- statusBar()->showMessage(tr("Volume is unmuted"));
- }
-}
-
-void MainWindow::setDefinitionMode(QString definitionName) {
- QAction *definitionAct = The::globalActions()->value("definition");
- definitionAct->setText(definitionName);
- definitionAct->setStatusTip(tr("Maximum video definition set to %1").arg(definitionAct->text())
- + " (" + definitionAct->shortcut().toString(QKeySequence::NativeText) + ")");
- statusBar()->showMessage(definitionAct->statusTip());
- QSettings settings;
- settings.setValue("definition", definitionName);
-}
-
-void MainWindow::toggleDefinitionMode() {
- QSettings settings;
- QString currentDefinition = settings.value("definition").toString();
- QStringList definitionNames = VideoDefinition::getDefinitionNames();
- int currentIndex = definitionNames.indexOf(currentDefinition);
- int nextIndex = 0;
- if (currentIndex != definitionNames.size() - 1) {
- nextIndex = currentIndex + 1;
- }
- QString nextDefinition = definitionNames.at(nextIndex);
- setDefinitionMode(nextDefinition);
-}
-
-void MainWindow::showFullscreenToolbar(bool show) {
- if (!m_fullscreen) return;
- mainToolBar->setVisible(show);
-}
-
-void MainWindow::showFullscreenPlaylist(bool show) {
- if (!m_fullscreen) return;
- mediaView->setPlaylistVisible(show);
-}
-
-void MainWindow::clearRecentKeywords() {
- QSettings settings;
- settings.remove("recentKeywords");
- settings.remove("recentChannels");
- searchView->updateRecentKeywords();
- searchView->updateRecentChannels();
- statusBar()->showMessage(tr("Your privacy is now safe"));
-}
-
-void MainWindow::setManualPlay(bool enabled) {
- QSettings settings;
- settings.setValue("manualplay", QVariant::fromValue(enabled));
- showActionInStatusBar(The::globalActions()->value("manualplay"), enabled);
-}
-
-void MainWindow::updateDownloadMessage(QString message) {
- The::globalActions()->value("downloads")->setText(message);
-}
-
-void MainWindow::downloadsFinished() {
- The::globalActions()->value("downloads")->setText(tr("&Downloads"));
- statusBar()->showMessage(tr("Downloads complete"));
-}
-
-void MainWindow::toggleDownloads(bool show) {
-
- if (show) {
- stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
- The::globalActions()->value("downloads")->setShortcuts(
- QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J)
- << QKeySequence(Qt::Key_Escape));
- } else {
- The::globalActions()->value("downloads")->setShortcuts(
- QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J));
- stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
- }
-
- if (!downloadView) {
- downloadView = new DownloadView(this);
- views->addWidget(downloadView);
- }
- if (show) showWidget(downloadView);
- else goBack();
-}
-
-void MainWindow::startToolbarSearch(QString query) {
- query = query.trimmed();
-
- // check for empty query
- if (query.length() == 0) {
- return;
- }
-
- SearchParams *searchParams = new SearchParams();
- searchParams->setKeywords(query);
-
- // go!
- showMedia(searchParams);
-}
-
-void MainWindow::dragEnterEvent(QDragEnterEvent *event) {
- if (event->mimeData()->hasFormat("text/uri-list")) {
- QList<QUrl> urls = event->mimeData()->urls();
- if (urls.isEmpty())
- return;
- QUrl url = urls.first();
- QString videoId = YouTubeSearch::videoIdFromUrl(url.toString());
- if (!videoId.isNull())
- event->acceptProposedAction();
- }
-}
-
-void MainWindow::dropEvent(QDropEvent *event) {
- QList<QUrl> urls = event->mimeData()->urls();
- if (urls.isEmpty())
- return;
- QUrl url = urls.first();
- QString videoId = YouTubeSearch::videoIdFromUrl(url.toString());
- if (!videoId.isNull()) {
- setWindowTitle(url.toString());
- SearchParams *searchParams = new SearchParams();
- searchParams->setKeywords(videoId);
- showMedia(searchParams);
- }
-}
-
-void MainWindow::checkForUpdate() {
- static const QString updateCheckKey = "updateCheck";
-
- // check every 24h
- QSettings settings;
- uint unixTime = QDateTime::currentDateTime().toTime_t();
- int lastCheck = settings.value(updateCheckKey).toInt();
- int secondsSinceLastCheck = unixTime - lastCheck;
- // qDebug() << "secondsSinceLastCheck" << unixTime << lastCheck << secondsSinceLastCheck;
- if (secondsSinceLastCheck < 86400) return;
-
- // check it out
- if (updateChecker) delete updateChecker;
- updateChecker = new UpdateChecker();
- connect(updateChecker, SIGNAL(newVersion(QString)),
- this, SLOT(gotNewVersion(QString)));
- updateChecker->checkForUpdate();
- settings.setValue(updateCheckKey, unixTime);
-
-}
-
-void MainWindow::gotNewVersion(QString version) {
- if (updateChecker) {
- delete updateChecker;
- updateChecker = 0;
- }
-
-#if defined(APP_DEMO) || defined(APP_MAC_STORE) || defined(APP_USC)
- return;
-#endif
-
- QSettings settings;
- QString checkedVersion = settings.value("checkedVersion").toString();
- if (checkedVersion == version) return;
-
- QMessageBox msgBox(this);
- msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
- msgBox.setText(tr("%1 version %2 is now available.").arg(Constants::NAME, version));
-
- msgBox.setModal(true);
- // make it a "sheet" on the Mac
- msgBox.setWindowModality(Qt::WindowModal);
-
- QPushButton* laterButton = 0;
- QPushButton* updateButton = 0;
-
-#if defined(APP_MAC) || defined(APP_WIN)
- msgBox.setInformativeText(
- tr("To get the updated version, download %1 again from the link you received via email and reinstall.")
- .arg(Constants::NAME)
- );
- laterButton = msgBox.addButton(tr("Remind me later"), QMessageBox::RejectRole);
- msgBox.addButton(QMessageBox::Ok);
-#else
- msgBox.addButton(QMessageBox::Close);
- updateButton = msgBox.addButton(tr("Update"), QMessageBox::AcceptRole);
-#endif
-
- msgBox.exec();
-
- if (msgBox.clickedButton() != laterButton) {
- settings.setValue("checkedVersion", version);
- }
-
- if (updateButton && msgBox.clickedButton() == updateButton) {
- QDesktopServices::openUrl(QUrl(QLatin1String(Constants::WEBSITE) + "#download"));
- }
-
-}
-
-void MainWindow::floatOnTop(bool onTop) {
- showActionInStatusBar(The::globalActions()->value("ontop"), onTop);
-#ifdef APP_MAC
- mac::floatOnTop(winId(), onTop);
- return;
-#endif
- if (onTop) {
- setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
- show();
- } else {
- setWindowFlags(windowFlags() ^ Qt::WindowStaysOnTopHint);
- show();
- }
-}
-
-void MainWindow::restore() {
-#ifdef APP_MAC
- mac::uncloseWindow(window()->winId());
-#endif
-}
-
-void MainWindow::messageReceived(const QString &message) {
- if (message == "--toggle-playing") {
- if (pauseAct->isEnabled()) pauseAct->trigger();
- } else if (message == "--next") {
- if (skipAct->isEnabled()) skipAct->trigger();
- } else if (message == "--previous") {
- if (skipBackwardAct->isEnabled()) skipBackwardAct->trigger();
- } else if (message.startsWith("--")) {
- MainWindow::printHelp();
- } else if (!message.isEmpty()) {
- SearchParams *searchParams = new SearchParams();
- searchParams->setKeywords(message);
- showMedia(searchParams);
- }
-}
-
-void MainWindow::hideMouse() {
- setCursor(Qt::BlankCursor);
- mediaView->setPlaylistVisible(false);
-#ifndef APP_MAC
- mainToolBar->setVisible(false);
-#endif
-}
-
-void MainWindow::printHelp() {
- QString msg = QString("%1 %2\n\n").arg(Constants::NAME, Constants::VERSION);
- msg += "Usage: minitube [options]\n";
- msg += "Options:\n";
- msg += " --toggle-playing\t";
- msg += "Start or pause playback.\n";
- msg += " --next\t\t";
- msg += "Skip to the next video.\n";
- msg += " --previous\t\t";
- msg += "Go back to the previous video.\n";
- std::cout << msg.toLocal8Bit().data();
-}
+++ /dev/null
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QtGui>
-#include <phonon/audiooutput.h>
-#include <phonon/volumeslider.h>
-#include <phonon/mediaobject.h>
-#include <phonon/seekslider.h>
-#include "View.h"
-#include "SearchView.h"
-#include "MediaView.h"
-#include "AboutView.h"
-#include "downloadview.h"
-
-class SearchLineEdit;
-class UpdateChecker;
-
-class MainWindow : public QMainWindow {
-
- Q_OBJECT
-
-public:
- static MainWindow* instance();
- MainWindow();
- ~MainWindow();
- Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
- void readSettings();
- void writeSettings();
- static void printHelp();
-
-public slots:
- void showMedia(SearchParams *params);
- void restore();
- void messageReceived(const QString &message);
- void quit();
- void startToolbarSearch(QString query);
-
-protected:
- void changeEvent(QEvent *);
- void closeEvent(QCloseEvent *);
- bool eventFilter(QObject *obj, QEvent *event);
- void dragEnterEvent(QDragEnterEvent *event);
- void dropEvent(QDropEvent *event);
- void resizeEvent(QResizeEvent *);
-
-private slots:
- void checkForUpdate();
- void gotNewVersion(QString version);
- void goBack();
- void showSearch();
- void visitSite();
- void donate();
- void reportIssue();
- void about();
- void fullscreen();
- void updateUIForFullscreen();
- void compactView(bool enable);
- void stop();
- void stateChanged(Phonon::State newState, Phonon::State oldState);
- void searchFocus();
- void tick(qint64 time);
- void totalTimeChanged(qint64 time);
- void setDefinitionMode(QString definitionName);
- void toggleDefinitionMode();
- void clearRecentKeywords();
-
- // volume shortcuts
- void volumeUp();
- void volumeDown();
- void volumeMute();
- void volumeChanged(qreal newVolume);
- void volumeMutedChanged(bool muted);
-
- // fullscreen toolbar
- void showFullscreenToolbar(bool show);
- void showFullscreenPlaylist(bool show);
-
- void setManualPlay(bool enabled);
- void updateDownloadMessage(QString);
- void downloadsFinished();
- void toggleDownloads(bool show);
-
- void floatOnTop(bool);
- void showActionInStatusBar(QAction*, bool show);
- void showStopAfterThisInStatusBar(bool show);
-
- void hideMouse();
-
-private:
- void initPhonon();
- void createActions();
- void createMenus();
- void createToolBars();
- void createStatusBar();
- void showWidget(QWidget*);
- static QString formatTime(qint64 time);
- bool confirmQuit();
-
- UpdateChecker *updateChecker;
-
- // view mechanism
- QStackedWidget *views;
- QStack<QWidget*> *history;
-
- // view widgets
- SearchView *searchView;
- MediaView *mediaView;
- QWidget *aboutView;
- QWidget *downloadView;
-
- // actions
- QAction *addGadgetAct;
- QAction *backAct;
- QAction *quitAct;
- QAction *siteAct;
- QAction *donateAct;
- QAction *aboutAct;
- QAction *searchFocusAct;
-
- // media actions
- QAction *skipBackwardAct;
- QAction *skipAct;
- QAction *pauseAct;
- QAction *stopAct;
- QAction *fullscreenAct;
- QAction *compactViewAct;
- QAction *webPageAct;
- QAction *copyPageAct;
- QAction *copyLinkAct;
- QAction *volumeUpAct;
- QAction *volumeDownAct;
- QAction *volumeMuteAct;
- QAction *findVideoPartsAct;
-
- // playlist actions
- QAction *removeAct;
- QAction *moveDownAct;
- QAction *moveUpAct;
- QAction *fetchMoreAct;
- QAction *clearAct;
-
- // menus
- QMenu *fileMenu;
- QMenu *viewMenu;
- QMenu *playlistMenu;
- QMenu *helpMenu;
-
- // toolbar
- QToolBar *mainToolBar;
- SearchLineEdit *toolbarSearch;
- QToolBar *statusToolBar;
-
- // phonon
- Phonon::SeekSlider *seekSlider;
- Phonon::VolumeSlider *volumeSlider;
- Phonon::MediaObject *mediaObject;
- Phonon::AudioOutput *audioOutput;
- QLabel *currentTime;
- QLabel *totalTime;
-
- bool m_fullscreen;
- bool m_maximized;
-
- QTimer *mouseTimer;
-
-};
-
-#endif
+++ /dev/null
-#include "MediaView.h"
-#include "playlistview.h"
-#include "playlist/PrettyItemDelegate.h"
-#include "networkaccess.h"
-#include "videowidget.h"
-#include "minisplitter.h"
-#include "constants.h"
-#include "downloadmanager.h"
-#include "downloaditem.h"
-#include "MainWindow.h"
-#include "temporary.h"
-#include "sidebarwidget.h"
-#include "playlistwidget.h"
-#include "refinesearchwidget.h"
-#include "sidebarwidget.h"
-#ifdef APP_MAC
-#include "macfullscreen.h"
-#endif
-
-namespace The {
-NetworkAccess* http();
-}
-
-namespace The {
-QMap<QString, QAction*>* globalActions();
-QMap<QString, QMenu*>* globalMenus();
-QNetworkAccessManager* networkAccessManager();
-}
-
-MediaView::MediaView(QWidget *parent) : QWidget(parent) {
-
- reallyStopped = false;
- downloadItem = 0;
-
- QBoxLayout *layout = new QVBoxLayout();
- layout->setMargin(0);
-
- splitter = new MiniSplitter(this);
- splitter->setChildrenCollapsible(false);
-
- listView = new PlaylistView(this);
- listView->setItemDelegate(new PrettyItemDelegate(this));
- listView->setSelectionMode(QAbstractItemView::ExtendedSelection);
-
- // dragndrop
- listView->setDragEnabled(true);
- listView->setAcceptDrops(true);
- listView->setDropIndicatorShown(true);
- listView->setDragDropMode(QAbstractItemView::DragDrop);
-
- // cosmetics
- listView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
- listView->setFrameShape( QFrame::NoFrame );
- listView->setAttribute(Qt::WA_MacShowFocusRect, false);
- listView->setMinimumSize(320,240);
- listView->setUniformItemSizes(true);
-
- // respond to the user doubleclicking a playlist item
- connect(listView, SIGNAL(activated(const QModelIndex &)), this, SLOT(itemActivated(const QModelIndex &)));
-
- listModel = new ListModel(this);
- connect(listModel, SIGNAL(activeRowChanged(int)), this, SLOT(activeRowChanged(int)));
- // needed to restore the selection after dragndrop
- connect(listModel, SIGNAL(needSelectionFor(QList<Video*>)), this, SLOT(selectVideos(QList<Video*>)));
- listView->setModel(listModel);
-
- connect(listView->selectionModel(),
- SIGNAL(selectionChanged ( const QItemSelection & , const QItemSelection & )),
- this, SLOT(selectionChanged ( const QItemSelection & , const QItemSelection & )));
-
- connect(listView, SIGNAL(authorPushed(QModelIndex)), SLOT(authorPushed(QModelIndex)));
-
- sidebar = new SidebarWidget(this);
- sidebar->setPlaylist(listView);
- connect(sidebar->getRefineSearchWidget(), SIGNAL(searchRefined()),
- SLOT(searchAgain()));
- connect(listModel, SIGNAL(haveSuggestions(const QStringList &)),
- sidebar, SLOT(showSuggestions(const QStringList &)));
- connect(sidebar, SIGNAL(suggestionAccepted(QString)),
- MainWindow::instance(), SLOT(startToolbarSearch(QString)));
- splitter->addWidget(sidebar);
-
- videoAreaWidget = new VideoAreaWidget(this);
- // videoAreaWidget->setMinimumSize(320,240);
- videoWidget = new Phonon::VideoWidget(this);
- videoAreaWidget->setVideoWidget(videoWidget);
- videoAreaWidget->setListModel(listModel);
-
- loadingWidget = new LoadingWidget(this);
- videoAreaWidget->setLoadingWidget(loadingWidget);
-
- splitter->addWidget(videoAreaWidget);
-
- layout->addWidget(splitter);
- setLayout(layout);
-
- splitter->setStretchFactor(0, 1);
- splitter->setStretchFactor(1, 6);
-
- // restore splitter state
- QSettings settings;
- splitter->restoreState(settings.value("splitter").toByteArray());
-
- errorTimer = new QTimer(this);
- errorTimer->setSingleShot(true);
- errorTimer->setInterval(3000);
- connect(errorTimer, SIGNAL(timeout()), SLOT(skipVideo()));
-
- workaroundTimer = new QTimer(this);
- workaroundTimer->setSingleShot(true);
- workaroundTimer->setInterval(3000);
- connect(workaroundTimer, SIGNAL(timeout()), SLOT(timerPlay()));
-
-#ifdef APP_DEMO
- demoTimer = new QTimer(this);
- demoTimer->setSingleShot(true);
- connect(demoTimer, SIGNAL(timeout()), SLOT(demoMessage()));
-#endif
-
-}
-
-void MediaView::initialize() {
- connect(videoAreaWidget, SIGNAL(doubleClicked()), The::globalActions()->value("fullscreen"), SLOT(trigger()));
-
- /*
- videoAreaWidget->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(videoAreaWidget, SIGNAL(customContextMenuRequested(QPoint)),
- this, SLOT(showVideoContextMenu(QPoint)));
- */
-
- QAction* refineSearchAction = The::globalActions()->value("refine-search");
- connect(refineSearchAction, SIGNAL(toggled(bool)),
- sidebar, SLOT(toggleRefineSearch(bool)));
-}
-
-void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
- this->mediaObject = mediaObject;
- Phonon::createPath(this->mediaObject, videoWidget);
- connect(mediaObject, SIGNAL(finished()), this, SLOT(playbackFinished()));
- connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
- this, SLOT(stateChanged(Phonon::State, Phonon::State)));
- connect(mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
- this, SLOT(currentSourceChanged(Phonon::MediaSource)));
- // connect(mediaObject, SIGNAL(bufferStatus(int)), loadingWidget, SLOT(bufferStatus(int)));
- connect(mediaObject, SIGNAL(aboutToFinish()), SLOT(aboutToFinish()));
-}
-
-void MediaView::search(SearchParams *searchParams) {
- reallyStopped = false;
-
-#ifdef APP_DEMO
- demoTimer->stop();
-#endif
- workaroundTimer->stop();
- errorTimer->stop();
-
- this->searchParams = searchParams;
-
- // start serching for videos
- listModel->search(searchParams);
-
- sidebar->showPlaylist();
- listView->setFocus();
-
- QString keyword = searchParams->keywords();
- QString display = keyword;
- if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
- int separator = keyword.indexOf("|");
- if (separator > 0 && separator + 1 < keyword.length()) {
- display = keyword.mid(separator+1);
- }
- }
-
- sidebar->getRefineSearchWidget()->setSearchParams(searchParams);
- sidebar->hideSuggestions();
-
-}
-
-void MediaView::searchAgain() {
- search(searchParams);
-}
-
-void MediaView::appear() {
- listView->setFocus();
-}
-
-void MediaView::disappear() {
- timerPlayFlag = true;
-}
-
-void MediaView::handleError(QString /* message */) {
-
- QTimer::singleShot(500, this, SLOT(startPlaying()));
-
- /*
- videoAreaWidget->showError(message);
- skippedVideo = listModel->activeVideo();
- // recover from errors by skipping to the next video
- errorTimer->start(2000);
- */
-}
-
-void MediaView::stateChanged(Phonon::State newState, Phonon::State /*oldState*/) {
- // qDebug() << "Phonon state: " << newState;
- // slider->setEnabled(newState == Phonon::PlayingState);
-
- switch (newState) {
-
- case Phonon::ErrorState:
- qDebug() << "Phonon error:" << mediaObject->errorString() << mediaObject->errorType();
- if (mediaObject->errorType() == Phonon::FatalError)
- handleError(mediaObject->errorString());
- break;
-
- case Phonon::PlayingState:
- // qDebug("playing");
- videoAreaWidget->showVideo();
- break;
-
- case Phonon::StoppedState:
- // qDebug("stopped");
- // play() has already been called when setting the source
- // but Phonon on Linux needs a little more help to start playback
- // if (!reallyStopped) mediaObject->play();
-
-#ifdef APP_MAC
- // Workaround for Mac playback start problem
- if (!timerPlayFlag) {
- // workaroundTimer->start();
- }
-#endif
-
- break;
-
- case Phonon::PausedState:
- qDebug("paused");
- break;
-
- case Phonon::BufferingState:
- qDebug("buffering");
- break;
-
- case Phonon::LoadingState:
- qDebug("loading");
- break;
-
- }
-}
-
-void MediaView::pause() {
- // qDebug() << "pause() called" << mediaObject->state();
-
- switch( mediaObject->state() ) {
- case Phonon::PlayingState:
- mediaObject->pause();
- break;
- default:
- mediaObject->play();
- break;
- }
-
-}
-
-QRegExp MediaView::wordRE(QString s) {
- return QRegExp("\\W" + s + "\\W?", Qt::CaseInsensitive);
-}
-
-void MediaView::stop() {
- listModel->abortSearch();
- reallyStopped = true;
- mediaObject->stop();
- videoAreaWidget->clear();
- workaroundTimer->stop();
- errorTimer->stop();
- listView->selectionModel()->clearSelection();
- if (downloadItem) {
- downloadItem->stop();
- delete downloadItem;
- downloadItem = 0;
- }
- The::globalActions()->value("refine-search")->setChecked(false);
-}
-
-void MediaView::activeRowChanged(int row) {
- if (reallyStopped) return;
-
- Video *video = listModel->videoAt(row);
- if (!video) return;
-
- // now that we have a new video to play
- // stop all the timers
- workaroundTimer->stop();
- errorTimer->stop();
-
- mediaObject->stop();
- if (downloadItem) {
- downloadItem->stop();
- delete downloadItem;
- downloadItem = 0;
- }
- // slider->setMinimum(0);
-
- // immediately show the loading widget
- videoAreaWidget->showLoading(video);
-
- connect(video, SIGNAL(gotStreamUrl(QUrl)), SLOT(gotStreamUrl(QUrl)), Qt::UniqueConnection);
- // TODO handle signal in a proper slot and impl item error status
- connect(video, SIGNAL(errorStreamUrl(QString)), SLOT(handleError(QString)), Qt::UniqueConnection);
-
- video->loadStreamUrl();
-
- // reset the timer flag
- timerPlayFlag = false;
-
- // video title in the statusbar
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) mainWindow->statusBar()->showMessage(video->title());
-
-
- // ensure active item is visible
- // int row = listModel->activeRow();
- if (row != -1) {
- QModelIndex index = listModel->index(row, 0, QModelIndex());
- listView->scrollTo(index, QAbstractItemView::EnsureVisible);
- }
-
- // 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);
-
- // see you in gotStreamUrl...
-
-}
-
-void MediaView::gotStreamUrl(QUrl streamUrl) {
- if (reallyStopped) return;
-
- Video *video = static_cast<Video *>(sender());
- if (!video) {
- qDebug() << "Cannot get sender";
- return;
- }
- video->disconnect(this);
-
- QString tempFile = Temporary::filename();
-
- Video *videoCopy = video->clone();
- if (downloadItem) {
- downloadItem->stop();
- delete downloadItem;
- }
- 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();
-
-}
-
-/*
-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;"
- "}"
-
- );
-}
-
-*/
-
-void MediaView::downloadStatusChanged() {
- switch(downloadItem->status()) {
- case Downloading:
- startPlaying();
- break;
- case Starting:
- // qDebug() << "Starting";
- break;
- case Finished:
- // qDebug() << "Finished" << mediaObject->state();
- // if (mediaObject->state() == Phonon::StoppedState) startPlaying();
-#ifdef Q_WS_X11
- seekSlider->setEnabled(mediaObject->isSeekable());
-#endif
- break;
- case Failed:
- // qDebug() << "Failed";
- case Idle:
- // qDebug() << "Idle";
- break;
- }
-}
-
-void MediaView::startPlaying() {
- if (reallyStopped) return;
- if (!downloadItem) {
- skip();
- return;
- }
-
- // go!
- QString source = downloadItem->currentFilename();
- qDebug() << "Playing" << source;
- mediaObject->setCurrentSource(source);
- mediaObject->play();
-#ifdef Q_WS_X11
- seekSlider->setEnabled(false);
-#endif
-
- // ensure we always have 10 videos ahead
- listModel->searchNeeded();
-
- // ensure active item is visible
- int row = listModel->activeRow();
- if (row != -1) {
- QModelIndex index = listModel->index(row, 0, QModelIndex());
- listView->scrollTo(index, QAbstractItemView::EnsureVisible);
- }
-
-#ifdef APP_DEMO
- demoTimer->start(60000);
-#endif
-
-}
-
-void MediaView::itemActivated(const QModelIndex &index) {
- if (listModel->rowExists(index.row())) {
-
- // if it's the current video, just rewind and play
- Video *activeVideo = listModel->activeVideo();
- Video *video = listModel->videoAt(index.row());
- if (activeVideo && video && activeVideo == video) {
- mediaObject->seek(0);
- mediaObject->play();
- } else listModel->setActiveRow(index.row());
-
- // the user doubleclicked on the "Search More" item
- } else {
- listModel->searchMore();
- listView->selectionModel()->clearSelection();
- }
-}
-
-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
- // and not another one
- if (skippedVideo) {
- if (listModel->activeVideo() != skippedVideo) {
- qDebug() << "Skip of video canceled";
- return;
- }
- int nextRow = listModel->rowForVideo(skippedVideo);
- nextRow++;
- if (nextRow == -1) return;
- listModel->setActiveRow(nextRow);
- }
-}
-
-void MediaView::skip() {
- int nextRow = listModel->nextRow();
- if (nextRow == -1) return;
- listModel->setActiveRow(nextRow);
-}
-
-void MediaView::skipBackward() {
- int prevRow = listModel->previousRow();
- if (prevRow == -1) return;
- listModel->setActiveRow(prevRow);
-}
-
-void MediaView::aboutToFinish() {
- qint64 currentTime = mediaObject->currentTime();
- qDebug() << __PRETTY_FUNCTION__ << currentTime;
- if (currentTime + 10000 < mediaObject->totalTime()) {
- // mediaObject->seek(mediaObject->currentTime());
- // QTimer::singleShot(500, this, SLOT(playbackResume()));
- mediaObject->seek(currentTime);
- mediaObject->play();
- }
-}
-
-void MediaView::playbackFinished() {
- qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
- // qDebug() << "finished" << mediaObject->currentTime() << mediaObject->totalTime();
- // add 10 secs for imprecise Phonon backends (VLC, Xine)
- if (mediaObject->currentTime() + 10000 < mediaObject->totalTime()) {
- // mediaObject->seek(mediaObject->currentTime());
- QTimer::singleShot(500, this, SLOT(playbackResume()));
- } else {
- QAction* stopAfterThisAction = The::globalActions()->value("stopafterthis");
- if (stopAfterThisAction->isChecked()) {
- stopAfterThisAction->setChecked(false);
- } else skip();
- }
-}
-
-void MediaView::playbackResume() {
- qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
- mediaObject->seek(mediaObject->currentTime());
- mediaObject->play();
-}
-
-void MediaView::openWebPage() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- mediaObject->pause();
- QDesktopServices::openUrl(video->webpage());
-}
-
-void MediaView::copyWebPage() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- QString address = video->webpage().toString();
- QApplication::clipboard()->setText(address);
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- QString message = tr("You can now paste the YouTube link into another application");
- if (mainWindow) mainWindow->statusBar()->showMessage(message);
-}
-
-void MediaView::copyVideoLink() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- QApplication::clipboard()->setText(video->getStreamUrl().toEncoded());
- QString message = tr("You can now paste the video stream URL into another application")
- + ". " + tr("The link will be valid only for a limited time.");
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) mainWindow->statusBar()->showMessage(message);
-}
-
-void MediaView::removeSelected() {
- if (!listView->selectionModel()->hasSelection()) return;
- QModelIndexList indexes = listView->selectionModel()->selectedIndexes();
- listModel->removeIndexes(indexes);
-}
-
-void MediaView::selectVideos(QList<Video*> videos) {
- foreach (Video *video, videos) {
- QModelIndex index = listModel->indexForVideo(video);
- listView->selectionModel()->select(index, QItemSelectionModel::Select);
- listView->scrollTo(index, QAbstractItemView::EnsureVisible);
- }
-}
-
-void MediaView::selectionChanged(const QItemSelection & /*selected*/, const QItemSelection & /*deselected*/) {
- const bool gotSelection = listView->selectionModel()->hasSelection();
- The::globalActions()->value("remove")->setEnabled(gotSelection);
- The::globalActions()->value("moveUp")->setEnabled(gotSelection);
- The::globalActions()->value("moveDown")->setEnabled(gotSelection);
-}
-
-void MediaView::moveUpSelected() {
- if (!listView->selectionModel()->hasSelection()) return;
-
- QModelIndexList indexes = listView->selectionModel()->selectedIndexes();
- qStableSort(indexes.begin(), indexes.end());
- listModel->move(indexes, true);
-
- // set current index after row moves to something more intuitive
- int row = indexes.first().row();
- listView->selectionModel()->setCurrentIndex(listModel->index(row>1?row:1), QItemSelectionModel::NoUpdate);
-}
-
-void MediaView::moveDownSelected() {
- if (!listView->selectionModel()->hasSelection()) return;
-
- QModelIndexList indexes = listView->selectionModel()->selectedIndexes();
- qStableSort(indexes.begin(), indexes.end(), qGreater<QModelIndex>());
- listModel->move(indexes, false);
-
- // set current index after row moves to something more intuitive (respect 1 static item on bottom)
- int row = indexes.first().row()+1, max = listModel->rowCount() - 2;
- listView->selectionModel()->setCurrentIndex(listModel->index(row>max?max:row), QItemSelectionModel::NoUpdate);
-}
-
-void MediaView::showVideoContextMenu(QPoint point) {
- The::globalMenus()->value("video")->popup(videoWidget->mapToGlobal(point));
-}
-
-void MediaView::searchMostRelevant() {
- searchParams->setSortBy(SearchParams::SortByRelevance);
- search(searchParams);
-}
-
-void MediaView::searchMostRecent() {
- searchParams->setSortBy(SearchParams::SortByNewest);
- search(searchParams);
-}
-
-void MediaView::searchMostViewed() {
- searchParams->setSortBy(SearchParams::SortByViewCount);
- search(searchParams);
-}
-
-void MediaView::setPlaylistVisible(bool visible) {
- if (splitter->widget(0)->isVisible() == visible) return;
- splitter->widget(0)->setVisible(visible);
- listView->setFocus();
-}
-
-bool MediaView::isPlaylistVisible() {
- return splitter->widget(0)->isVisible();
-}
-
-void MediaView::timerPlay() {
- // Workaround Phonon bug on Mac OSX
- // qDebug() << mediaObject->currentTime();
- if (mediaObject->currentTime() <= 0 && mediaObject->state() == Phonon::PlayingState) {
- // qDebug() << "Mac playback workaround";
- mediaObject->pause();
- // QTimer::singleShot(1000, mediaObject, SLOT(play()));
- mediaObject->play();
- }
-}
-
-void MediaView::saveSplitterState() {
- QSettings settings;
- settings.setValue("splitter", splitter->saveState());
-}
-
-#ifdef APP_DEMO
-
-static QPushButton *continueButton;
-
-void MediaView::demoMessage() {
- if (mediaObject->state() != Phonon::PlayingState) return;
- mediaObject->pause();
-
- QMessageBox msgBox(this);
- msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
- msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
- msgBox.setInformativeText(tr("It allows you to test the application and see if it works for you."));
- msgBox.setModal(true);
- // make it a "sheet" on the Mac
- msgBox.setWindowModality(Qt::WindowModal);
-
- continueButton = msgBox.addButton("5", QMessageBox::RejectRole);
- continueButton->setEnabled(false);
- QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
-
- QTimeLine *timeLine = new QTimeLine(6000, this);
- timeLine->setCurveShape(QTimeLine::LinearCurve);
- timeLine->setFrameRange(5, 0);
- connect(timeLine, SIGNAL(frameChanged(int)), SLOT(updateContinueButton(int)));
- timeLine->start();
-
- msgBox.exec();
-
- if (msgBox.clickedButton() == buyButton) {
- QDesktopServices::openUrl(QUrl(QString(Constants::WEBSITE) + "#download"));
- } else {
- mediaObject->play();
- demoTimer->start(600000);
- }
-
- delete timeLine;
-
-}
-
-void MediaView::updateContinueButton(int value) {
- if (value == 0) {
- continueButton->setText(tr("Continue"));
- continueButton->setEnabled(true);
- } else {
- continueButton->setText(QString::number(value));
- }
-}
-
-#endif
-
-void MediaView::downloadVideo() {
- Video* video = listModel->activeVideo();
- if (!video) return;
-
- DownloadManager::instance()->addItem(video);
-
- // TODO animate
-
- The::globalActions()->value("downloads")->setVisible(true);
-
- // The::globalActions()->value("download")->setEnabled(DownloadManager::instance()->itemForVideo(video) == 0);
-
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- QString message = tr("Downloading %1").arg(video->title());
- if (mainWindow) mainWindow->statusBar()->showMessage(message);
-}
-
-void MediaView::snapshot() {
- QImage image = videoWidget->snapshot();
- qDebug() << image.size();
-
- const QPixmap& pixmap = QPixmap::grabWindow(videoWidget->winId());
- // 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::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);
- } else {
- seekTo(value);
- }
-}
-
-void MediaView::seekTo(int value) {
- qDebug() << __func__;
- mediaObject->pause();
- workaroundTimer->stop();
- 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);
-
-}
-
-*/
-
-void MediaView::findVideoParts() {
-
- // parts
- Video* video = listModel->activeVideo();
- if (!video) return;
-
- QString query = video->title();
-
- static QString optionalSpace = "\\s*";
- static QString staticCounterSeparators = "[\\/\\-]";
- QString counterSeparators = "( of | " +
- tr("of", "Used in video parts, as in '2 of 3'") +
- " |" + staticCounterSeparators + ")";
-
- // numbers from 1 to 15
- static QString counterNumber = "([1-9]|1[0-5])";
-
- // query.remove(QRegExp(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'") +
- optionalSpace + counterNumber));
- query.remove(QRegExp("[\\(\\)\\[\\]]"));
-
-#define NUMBERS "one|two|three|four|five|six|seven|eight|nine|ten"
-
- QRegExp englishNumberRE = QRegExp(QLatin1String(".*(") + NUMBERS + ").*", Qt::CaseInsensitive);
- // bool numberAsWords = englishNumberRE.exactMatch(query);
- query.remove(englishNumberRE);
-
- QRegExp localizedNumberRE = QRegExp(QLatin1String(".*(") + tr(NUMBERS) + ").*", Qt::CaseInsensitive);
- // if (!numberAsWords) numberAsWords = localizedNumberRE.exactMatch(query);
- query.remove(localizedNumberRE);
-
- SearchParams *searchParams = new SearchParams();
- searchParams->setTransient(true);
- searchParams->setKeywords(query);
- searchParams->setAuthor(video->author());
-
- /*
- if (!numberAsWords) {
- qDebug() << "We don't have number as words";
- // searchParams->setSortBy(SearchParams::SortByNewest);
- // TODO searchParams->setReverseOrder(true);
- // TODO searchParams->setMax(50);
- }
- */
-
- search(searchParams);
-
-}
-
-void MediaView::shareViaTwitter() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- QUrl url("https://twitter.com/intent/tweet");
- url.addQueryItem("via", "minitubeapp");
- url.addQueryItem("text", video->title());
- url.addQueryItem("url", video->webpage().toString());
- QDesktopServices::openUrl(url);
-}
-
-void MediaView::shareViaFacebook() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- QUrl url("https://www.facebook.com/sharer.php");
- url.addQueryItem("t", video->title());
- url.addQueryItem("u", video->webpage().toString());
- QDesktopServices::openUrl(url);
-}
-
-void MediaView::shareViaBuffer() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- QUrl url("http://bufferapp.com/add");
- url.addQueryItem("via", "minitubeapp");
- url.addQueryItem("text", video->title());
- url.addQueryItem("url", video->webpage().toString());
- if (!video->thumbnailUrls().isEmpty())
- url.addQueryItem("picture", video->thumbnailUrls().first().toString());
- QDesktopServices::openUrl(url);
-}
-
-void MediaView::shareViaEmail() {
- Video* video = listModel->activeVideo();
- if (!video) return;
- QUrl url("mailto:");
- url.addQueryItem("subject", video->title());
- QString body = video->title() + "\n" +
- video->webpage().toString() + "\n\n" +
- tr("Sent from %1").arg(Constants::NAME) + "\n" +
- Constants::WEBSITE;
- url.addQueryItem("body", body);
- QDesktopServices::openUrl(url);
-}
-
-void MediaView::authorPushed(QModelIndex index) {
- Video* video = listModel->videoAt(index.row());
- if (!video) return;
-
- QString channel = video->author();
- if (channel.isEmpty()) return;
-
- SearchParams *searchParams = new SearchParams();
- searchParams->setAuthor(channel);
- searchParams->setSortBy(SearchParams::SortByNewest);
-
- // go!
- search(searchParams);
-}
+++ /dev/null
-#ifndef __MEDIAVIEW_H__
-#define __MEDIAVIEW_H__
-
-#include <QtGui>
-#include <QtNetwork>
-#include <phonon/mediaobject.h>
-#include <phonon/videowidget.h>
-#include <phonon/seekslider.h>
-#include "View.h"
-#include "ListModel.h"
-#include "segmentedcontrol.h"
-#include "searchparams.h"
-#include "loadingwidget.h"
-#include "videoareawidget.h"
-
-class DownloadItem;
-class PlaylistView;
-class SidebarWidget;
-
-namespace The {
- QMap<QString, QAction*>* globalActions();
-}
-
-class MediaView : public QWidget, public View {
- Q_OBJECT
-
-public:
- MediaView(QWidget *parent);
- void initialize();
-
- // View
- void appear();
- void disappear();
- QMap<QString, QVariant> metadata() {
- QMap<QString, QVariant> metadata;
- if (searchParams) {
- metadata.insert("title", "");
- metadata.insert("description", "");
- }
- return metadata;
- }
-
- void setMediaObject(Phonon::MediaObject *mediaObject);
- void setSlider(Phonon::SeekSlider *slider) { this->seekSlider = slider; }
-
-public slots:
- void search(SearchParams *searchParams);
- void pause();
- void stop();
- void skip();
- void skipBackward();
- void skipVideo();
- void openWebPage();
- void copyWebPage();
- void copyVideoLink();
- void shareViaTwitter();
- void shareViaFacebook();
- void shareViaBuffer();
- void shareViaEmail();
- void removeSelected();
- void moveUpSelected();
- void moveDownSelected();
- bool isPlaylistVisible();
- void setPlaylistVisible(bool visible=true);
- void saveSplitterState();
- void downloadVideo();
- void snapshot();
- void fullscreen();
- void findVideoParts();
-
-private slots:
- // list/model
- void itemActivated(const QModelIndex &index);
- void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
- void activeRowChanged(int);
- void selectVideos(QList<Video*> videos);
- void gotStreamUrl(QUrl streamUrl);
- void handleError(QString message);
- // phonon
- void stateChanged(Phonon::State newState, Phonon::State oldState);
- void currentSourceChanged(const Phonon::MediaSource source);
- void showVideoContextMenu(QPoint point);
- void aboutToFinish();
- // bar
- void searchMostRelevant();
- void searchMostRecent();
- void searchMostViewed();
- // timer
- void timerPlay();
-#ifdef APP_DEMO
- void demoMessage();
- void updateContinueButton(int);
-#endif
- void startPlaying();
- void downloadStatusChanged();
- void playbackFinished();
- void playbackResume();
- void authorPushed(QModelIndex);
- void searchAgain();
-
- /*
- void downloadProgress(int percent);
- void sliderMoved(int value);
- void seekTo(int value);
- */
-
-private:
- static QRegExp wordRE(QString s);
-
- SearchParams *searchParams;
-
- QSplitter *splitter;
-
- SidebarWidget *sidebar;
- PlaylistView *listView;
- ListModel *listModel;
-
- // sortBar
- SegmentedControl *sortBar;
- QAction *mostRelevantAction;
- QAction *mostRecentAction;
- QAction *mostViewedAction;
-
- // phonon
- Phonon::MediaObject *mediaObject;
- Phonon::VideoWidget *videoWidget;
- Phonon::SeekSlider *seekSlider;
-
- // loadingWidget
- VideoAreaWidget *videoAreaWidget;
- LoadingWidget *loadingWidget;
-
- bool timerPlayFlag;
- bool reallyStopped;
-
- QTimer *errorTimer;
- QTimer *workaroundTimer;
- Video *skippedVideo;
-
-#ifdef APP_DEMO
- QTimer *demoTimer;
-#endif
-
- DownloadItem *downloadItem;
-
-};
-
-#endif // __MEDIAVIEW_H__
+++ /dev/null
-#include "SearchView.h"
-#include "constants.h"
-#include "fontutils.h"
-#include "searchparams.h"
-#include "youtubesuggest.h"
-#include "channelsuggest.h"
-#ifdef APP_MAC
-#include "searchlineedit_mac.h"
-#else
-#include "searchlineedit.h"
-#endif
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-
-namespace The {
- QMap<QString, QAction*>* globalActions();
-}
-
-static const QString recentKeywordsKey = "recentKeywords";
-static const QString recentChannelsKey = "recentChannels";
-static const int PADDING = 30;
-
-SearchView::SearchView(QWidget *parent) : QWidget(parent) {
-
- QFont biggerFont = FontUtils::big();
- QFont smallerFont = FontUtils::smallBold();
-
-#if defined(APP_MAC) | defined(APP_WIN)
- // speedup painting since we'll paint the whole background
- // by ourselves anyway in paintEvent()
- setAttribute(Qt::WA_OpaquePaintEvent);
-#endif
-
- QBoxLayout *mainLayout = new QVBoxLayout();
- mainLayout->setMargin(0);
- mainLayout->setSpacing(0);
-
- // hidden message widget
- message = new QLabel(this);
- message->hide();
- mainLayout->addWidget(message);
-
-#ifdef APP_DEMO
- QLabel *buy = new QLabel(this);
- buy->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
- buy->setText(QString("<a style='color:palette(text);text-decoration:none' href='%1'>%2</a>").arg(
- QString(Constants::WEBSITE) + "#download",
- tr("Get the full version").toUpper()
- ));
- buy->setOpenExternalLinks(true);
- buy->setMargin(7);
- buy->setAlignment(Qt::AlignRight);
- buy->setStyleSheet("QLabel {"
- "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #CCD6E0, stop: 1 #ADBCCC);"
- "border-bottom-left-radius: 8px;"
- "border-bottom-right-radius: 8px;"
- "font-size: 10px;"
- "margin-right: 50px;"
- "}");
- mainLayout->addWidget(buy, 0, Qt::AlignRight);
-#endif
-
- mainLayout->addStretch();
- mainLayout->addSpacing(PADDING);
-
- QBoxLayout *hLayout = new QHBoxLayout();
- hLayout->setAlignment(Qt::AlignCenter);
- mainLayout->addLayout(hLayout);
-
- QLabel *logo = new QLabel(this);
- QString resource = "app";
-#ifndef Q_WS_X11
- resource = Extra::resourceName(resource);
- logo->setMaximumSize(128, 128);
- logo->setScaledContents(true);
-#endif
- logo->setPixmap(QPixmap(":/images/" + resource + ".png"));
- hLayout->addWidget(logo, 0, Qt::AlignTop);
- hLayout->addSpacing(PADDING);
-
- QVBoxLayout *layout = new QVBoxLayout();
- layout->setAlignment(Qt::AlignCenter);
- hLayout->addLayout(layout);
-
- QLabel *welcomeLabel =
- new QLabel("<h1 style='font-weight:normal'>" +
- tr("Welcome to <a href='%1'>%2</a>,")
- // .replace("<a ", "<a style='color:palette(text)'")
- .replace("<a href", "<a style='text-decoration:none; color:palette(text); font-weight:bold' href")
- .arg(Constants::WEBSITE, Constants::NAME)
- + "</h1>", this);
- welcomeLabel->setOpenExternalLinks(true);
- layout->addWidget(welcomeLabel);
-
- layout->addSpacing(PADDING / 2);
-
- QBoxLayout *tipLayout = new QHBoxLayout();
- tipLayout->setSpacing(10);
-
- //: "Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"
- QLabel *tipLabel = new QLabel(tr("Enter"), this);
- tipLabel->setFont(biggerFont);
- tipLayout->addWidget(tipLabel);
-
- typeCombo = new QComboBox(this);
- typeCombo->addItem(tr("a keyword"));
- typeCombo->addItem(tr("a channel"));
- typeCombo->setFont(biggerFont);
- connect(typeCombo, SIGNAL(currentIndexChanged(int)), SLOT(searchTypeChanged(int)));
- tipLayout->addWidget(typeCombo);
-
- tipLabel = new QLabel(tr("to start watching videos."), this);
- tipLabel->setFont(biggerFont);
- tipLayout->addWidget(tipLabel);
- layout->addLayout(tipLayout);
-
- layout->addSpacing(PADDING / 2);
-
- QHBoxLayout *searchLayout = new QHBoxLayout();
- searchLayout->setAlignment(Qt::AlignVCenter);
-
- queryEdit = new SearchLineEdit(this);
- queryEdit->setFont(biggerFont);
- queryEdit->setMinimumWidth(queryEdit->fontInfo().pixelSize()*15);
- connect(queryEdit, SIGNAL(search(const QString&)), SLOT(watch(const QString&)));
- connect(queryEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
- connect(queryEdit, SIGNAL(suggestionAccepted(const QString&)), SLOT(watch(const QString&)));
-
- youtubeSuggest = new YouTubeSuggest(this);
- channelSuggest = new ChannelSuggest(this);
- searchTypeChanged(0);
-
- searchLayout->addWidget(queryEdit);
- searchLayout->addSpacing(10);
-
- watchButton = new QPushButton(tr("Watch"), this);
- watchButton->setDefault(true);
- watchButton->setEnabled(false);
- watchButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- connect(watchButton, SIGNAL(clicked()), this, SLOT(watch()));
- searchLayout->addWidget(watchButton);
-
- layout->addItem(searchLayout);
-
- layout->addSpacing(PADDING / 2);
-
- QHBoxLayout *otherLayout = new QHBoxLayout();
- otherLayout->setMargin(0);
- otherLayout->setSpacing(10);
-
- recentKeywordsLayout = new QVBoxLayout();
- recentKeywordsLayout->setSpacing(5);
- recentKeywordsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
- recentKeywordsLabel = new QLabel(tr("Recent keywords").toUpper(), this);
- recentKeywordsLabel->setProperty("recentHeader", true);
- recentKeywordsLabel->setForegroundRole(QPalette::Dark);
- recentKeywordsLabel->hide();
- recentKeywordsLabel->setFont(smallerFont);
- recentKeywordsLayout->addWidget(recentKeywordsLabel);
-
- otherLayout->addLayout(recentKeywordsLayout);
-
- // recent channels
- recentChannelsLayout = new QVBoxLayout();
- recentChannelsLayout->setSpacing(5);
- recentChannelsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
- recentChannelsLabel = new QLabel(tr("Recent channels").toUpper(), this);
- recentChannelsLabel->setProperty("recentHeader", true);
- recentChannelsLabel->setForegroundRole(QPalette::Dark);
- recentChannelsLabel->hide();
- recentChannelsLabel->setFont(smallerFont);
- recentChannelsLayout->addWidget(recentChannelsLabel);
-
- otherLayout->addLayout(recentChannelsLayout);
-
- layout->addLayout(otherLayout);
-
- mainLayout->addSpacing(PADDING);
- mainLayout->addStretch();
-
- setLayout(mainLayout);
-
-}
-
-void SearchView::appear() {
- updateRecentKeywords();
- updateRecentChannels();
- queryEdit->selectAll();
- queryEdit->enableSuggest();
- QTimer::singleShot(0, queryEdit, SLOT(setFocus()));
-}
-
-void SearchView::updateRecentKeywords() {
-
- // cleanup
- QLayoutItem *item;
- while ((item = recentKeywordsLayout->takeAt(1)) != 0) {
- item->widget()->close();
- delete item;
- }
-
- // load
- QSettings settings;
- QStringList keywords = settings.value(recentKeywordsKey).toStringList();
- recentKeywordsLabel->setVisible(!keywords.isEmpty());
- The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
-
- foreach (QString keyword, keywords) {
- QString link = keyword;
- QString display = keyword;
- if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
- int separator = keyword.indexOf("|");
- if (separator > 0 && separator + 1 < keyword.length()) {
- link = keyword.left(separator);
- display = keyword.mid(separator+1);
- }
- }
- bool needStatusTip = false;
- if (display.length() > 24) {
- display.truncate(24);
- display.append("...");
- needStatusTip = true;
- }
- QLabel *itemLabel = new QLabel("<a href=\"" + link
- + "\" style=\"color:palette(text); text-decoration:none\">"
- + display + "</a>", this);
- itemLabel->setAttribute(Qt::WA_DeleteOnClose);
- itemLabel->setProperty("recentItem", true);
- itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
- // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- // Make links navigable with the keyboard too
- itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
- if (needStatusTip)
- itemLabel->setStatusTip(link);
- connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchKeywords(QString)));
- recentKeywordsLayout->addWidget(itemLabel);
- }
-
-}
-
-void SearchView::updateRecentChannels() {
-
- // cleanup
- QLayoutItem *item;
- while ((item = recentChannelsLayout->takeAt(1)) != 0) {
- item->widget()->close();
- delete item;
- }
-
- // load
- QSettings settings;
- QStringList keywords = settings.value(recentChannelsKey).toStringList();
- recentChannelsLabel->setVisible(!keywords.isEmpty());
- // TODO The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
-
- foreach (QString keyword, keywords) {
- QString link = keyword;
- QString display = keyword;
- if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
- int separator = keyword.indexOf("|");
- if (separator > 0 && separator + 1 < keyword.length()) {
- link = keyword.left(separator);
- display = keyword.mid(separator+1);
- }
- }
- QLabel *itemLabel = new QLabel("<a href=\"" + link
- + "\" style=\"color:palette(text); text-decoration:none\">"
- + display + "</a>", this);
- itemLabel->setAttribute(Qt::WA_DeleteOnClose);
- itemLabel->setProperty("recentItem", true);
- itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
- // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- // Make links navigable with the keyboard too
- itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
-
- connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchChannel(QString)));
- recentChannelsLayout->addWidget(itemLabel);
- }
-
-}
-
-void SearchView::watch() {
- QString query = queryEdit->text();
- watch(query);
-}
-
-void SearchView::textChanged(const QString &text) {
- watchButton->setEnabled(!text.simplified().isEmpty());
-}
-
-void SearchView::watch(QString query) {
-
- query = query.simplified();
-
- // check for empty query
- if (query.length() == 0) {
- queryEdit->setFocus(Qt::OtherFocusReason);
- return;
- }
-
- SearchParams *searchParams = new SearchParams();
- if (typeCombo->currentIndex() == 0)
- searchParams->setKeywords(query);
- else {
- // remove spaces from channel name
- query = query.replace(" ", "");
- searchParams->setAuthor(query);
- searchParams->setSortBy(SearchParams::SortByNewest);
- }
-
- // go!
- emit search(searchParams);
-}
-
-void SearchView::watchChannel(QString channel) {
-
- channel = channel.simplified();
-
- // check for empty query
- if (channel.length() == 0) {
- queryEdit->setFocus(Qt::OtherFocusReason);
- return;
- }
-
- // remove spaces from channel name
- channel = channel.remove(" ");
-
- SearchParams *searchParams = new SearchParams();
- searchParams->setAuthor(channel);
- searchParams->setSortBy(SearchParams::SortByNewest);
-
- // go!
- emit search(searchParams);
-}
-
-void SearchView::watchKeywords(QString query) {
-
- query = query.simplified();
-
- // check for empty query
- if (query.length() == 0) {
- queryEdit->setFocus(Qt::OtherFocusReason);
- return;
- }
-
- if (typeCombo->currentIndex() == 0) {
- queryEdit->setText(query);
- watchButton->setEnabled(true);
- }
-
- SearchParams *searchParams = new SearchParams();
- searchParams->setKeywords(query);
-
- // go!
- emit search(searchParams);
-}
-
-void SearchView::paintEvent(QPaintEvent * /*event*/) {
-#if defined(APP_MAC) | defined(APP_WIN)
- QBrush brush;
- if (window()->isActiveWindow()) {
- brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
- } else {
- brush = palette().window();
- }
- QPainter painter(this);
- painter.fillRect(0, 0, width(), height(), brush);
-#endif
-}
-
-void SearchView::searchTypeChanged(int index) {
- if (index == 0) {
- queryEdit->setSuggester(youtubeSuggest);
- } else {
- queryEdit->setSuggester(channelSuggest);
- }
- queryEdit->selectAll();
- queryEdit->setFocus();
-}
+++ /dev/null
-#ifndef __SEARCHVIEW_H__
-#define __SEARCHVIEW_H__
-
-#include <QtGui>
-#include "View.h"
-
-class SearchLineEdit;
-class SearchParams;
-class YouTubeSuggest;
-class ChannelSuggest;
-
-class SearchView : public QWidget, public View {
-
- Q_OBJECT
-
-public:
- SearchView(QWidget *parent);
- void updateRecentKeywords();
- void updateRecentChannels();
- void appear();
- void disappear() {}
-
- QMap<QString, QVariant> metadata() {
- QMap<QString, QVariant> metadata;
- metadata.insert("title", "");
- metadata.insert("description", tr("Make yourself comfortable"));
- return metadata;
- }
-
-public slots:
- void watch(QString query);
- void watchChannel(QString channel);
- void watchKeywords(QString query);
-
-signals:
- void search(SearchParams*);
-
-protected:
- void paintEvent(QPaintEvent *);
-
-private slots:
- void watch();
- void textChanged(const QString &text);
- void searchTypeChanged(int index);
-
-private:
- YouTubeSuggest *youtubeSuggest;
- ChannelSuggest *channelSuggest;
-
- QComboBox *typeCombo;
- SearchLineEdit *queryEdit;
- QLabel *recentKeywordsLabel;
- QBoxLayout *recentKeywordsLayout;
- QLabel *recentChannelsLabel;
- QBoxLayout *recentChannelsLayout;
- QLabel *message;
- QPushButton *watchButton;
-
-};
-
-#endif // __SEARCHVIEW_H__
Q_OBJECT
public:
+ Suggester(QObject *parent = 0) : QObject(parent) { }
virtual void suggest(QString query) = 0;
signals:
+++ /dev/null
-#ifndef VIEW_H
-#define VIEW_H
-
-class View {
-
- public:
- virtual QMap<QString, QVariant> metadata() = 0;
- virtual void appear() = 0;
- virtual void disappear() = 0;
-
-};
-
-#endif // VIEW_H
--- /dev/null
+#include "aboutview.h"
+#include "constants.h"
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#ifdef APP_MAC
+#include "macutils.h"
+#include "mac_startup.h"
+#endif
+
+AboutView::AboutView(QWidget *parent) : QWidget(parent) {
+
+ QBoxLayout *hLayout = new QHBoxLayout(this);
+ hLayout->setAlignment(Qt::AlignCenter);
+ hLayout->setMargin(30);
+ hLayout->setSpacing(30);
+
+ QLabel *logo = new QLabel(this);
+ logo->setPixmap(QPixmap(":/images/app.png"));
+ hLayout->addWidget(logo, 0, Qt::AlignTop);
+
+ QBoxLayout *layout = new QVBoxLayout();
+ layout->setAlignment(Qt::AlignCenter);
+ layout->setSpacing(30);
+ hLayout->addLayout(layout);
+
+ QString info = "<html><style>a { color: palette(text); text-decoration: none; font-weight: bold }</style><body>"
+ "<h1>" + QString(Constants::NAME) + "</h1>"
+ "<p>" + tr("There's life outside the browser!") + "</p>"
+ "<p>" + tr("Version %1").arg(Constants::VERSION) + "</p>"
+ + QString("<p><a href=\"%1/\">%1</a></p>").arg(Constants::WEBSITE);
+
+#ifdef APP_ACTIVATION
+ if (Activation::instance().isActivated())
+ info += "<p>" + tr("Licensed to: %1").arg("<b>" + Activation::instance().getEmail() + "</b>");
+#endif
+
+#ifdef Q_WS_X11
+ 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>";
+#endif
+
+ info += "<p>" + tr("You may want to try my other apps as well:") + "</p>"
+ "<ul>"
+
+ "<li>" + tr("%1, a YouTube music player")
+ .arg("<a href='http://flavio.tordini.org/musictube'>Musictube</a>")
+ + "</li>"
+
+ "<li>" + tr("%1, a music player")
+ .arg("<a href='http://flavio.tordini.org/musique'>Musique</a>")
+ + "</li>"
+
+ "</ul>"
+
+ "<p>" + tr("Translate %1 to your native language using %2").arg(Constants::NAME)
+ .arg("<a href='http://www.transifex.net/projects/p/" + QString(Constants::UNIX_NAME) + "/'>Transifex</a>")
+ + "</p>"
+
+ "<p>"
+ + tr("Icon designed by %1.").arg("<a href='http://www.kolorguild.com/'>David Nel</a>")
+ + "</p>"
+
+ #ifdef Q_WS_X11
+ "<p>" + tr("Released under the <a href='%1'>GNU General Public License</a>")
+ .arg("http://www.gnu.org/licenses/gpl.html") + "</p>"
+ #endif
+ "<p>© 2009-2013 " + Constants::ORG_NAME + "</p>"
+ "</body></html>";
+ QLabel *infoLabel = new QLabel(info, this);
+ infoLabel->setOpenExternalLinks(true);
+ infoLabel->setWordWrap(true);
+ layout->addWidget(infoLabel);
+
+ QLayout *buttonLayout = new QHBoxLayout();
+ buttonLayout->setMargin(0);
+ buttonLayout->setSpacing(0);
+ buttonLayout->setAlignment(Qt::AlignLeft);
+
+ QPushButton *closeButton = new QPushButton(tr("&Close"), this);
+ closeButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
+ closeButton->setDefault(true);
+ closeButton->setFocus(Qt::OtherFocusReason);
+ connect(closeButton, SIGNAL(clicked()), parent, SLOT(goBack()));
+ buttonLayout->addWidget(closeButton);
+
+ layout->addLayout(buttonLayout);
+}
+
+void AboutView::paintEvent(QPaintEvent * /*event*/) {
+#if defined(APP_MAC) | defined(APP_WIN)
+ QBrush brush;
+ if (window()->isActiveWindow()) {
+ brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
+ } else {
+ brush = palette().window();
+ }
+ QPainter painter(this);
+ painter.fillRect(0, 0, width(), height(), brush);
+#endif
+}
+
+void AboutView::appear() {
+#ifdef APP_MAC
+ mac::uncloseWindow(window()->winId());
+#ifdef APP_ACTIVATION
+ mac::CheckForUpdates();
+#endif
+#endif
+}
--- /dev/null
+#ifndef ABOUTVIEW_H
+#define ABOUTVIEW_H
+
+#include <QtGui>
+#include "view.h"
+#include "constants.h"
+
+class AboutView : public QWidget, public View {
+
+ Q_OBJECT
+
+public:
+ AboutView(QWidget *parent);
+ void appear();
+ QHash<QString, QVariant> metadata() {
+ QHash<QString, QVariant> metadata;
+ metadata.insert("title", tr("About"));
+ metadata.insert("description",
+ tr("What you always wanted to know about %1 and never dared to ask")
+ .arg(Constants::NAME));
+ return metadata;
+ }
+
+protected:
+ void paintEvent(QPaintEvent *);
+
+};
+#endif
NetworkAccess* http();
}
-ChannelSuggest::ChannelSuggest(QObject *parent) : Suggester() {
+ChannelSuggest::ChannelSuggest(QObject *parent) : Suggester(parent) {
}
void ChannelSuggest::suggest(QString query) {
-
- /* // TODO how to localize results?
- QString locale = QLocale::system().name().replace("_", "-");
- // case for system locales such as "C"
- if (locale.length() < 2) {
- locale = "en-US";
- }*/
-
- QUrl url("http://www.youtube.com/results?search_type=search_users");
+ QUrl url("http://www.youtube.com/results");
+ url.addQueryItem("search_type", "search_users");
url.addQueryItem("search_query", query);
- // url.addQueryItem("hl", "it-IT");
-
QObject *reply = The::http()->get(url);
connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
}
--- /dev/null
+#include "diskcache.h"
+#include <QtNetwork>
+
+DiskCache::DiskCache(QObject *parent) : QNetworkDiskCache(parent) { }
+
+QIODevice* DiskCache::prepare(const QNetworkCacheMetaData &metaData) {
+ QString mime;
+ foreach (QNetworkCacheMetaData::RawHeader header, metaData.rawHeaders()) {
+ // qDebug() << header.first << header.second;
+ if (header.first.constData() == QLatin1String("Content-Type")) {
+ mime = header.second;
+ break;
+ }
+ }
+
+ if (mime.startsWith(QLatin1String("image/")))
+ return QNetworkDiskCache::prepare(metaData);
+
+ return 0;
+}
--- /dev/null
+#ifndef DISKCACHE_H
+#define DISKCACHE_H
+
+#include <QNetworkDiskCache>
+
+class DiskCache : public QNetworkDiskCache
+{
+ Q_OBJECT
+public:
+ explicit DiskCache(QObject *parent = 0);
+ QIODevice* prepare(const QNetworkCacheMetaData &metaData);
+
+signals:
+
+public slots:
+
+};
+
+#endif // DISKCACHE_H
}
void DownloadItem::start() {
- m_reply = The::http()->simpleGet(m_url);
+ m_reply = The::http()->request(m_url);
init();
}
QVariant locationHeader = m_reply->header(QNetworkRequest::LocationHeader);
if (locationHeader.isValid()) {
m_url = locationHeader.toUrl();
- qDebug() << "Redirecting to" << m_url;
+ // qDebug() << "Redirecting to" << m_url;
tryAgain();
return;
}
#include "downloadlistview.h"
#include "downloadmodel.h"
-#include "playlist/PrettyItemDelegate.h"
+#include "playlistitemdelegate.h"
DownloadListView::DownloadListView(QWidget *parent) : QListView(parent) {
const QRect itemRect = visualRect(itemIndex);
// qDebug() << " itemRect.x()" << itemRect.x();
- PrettyItemDelegate *delegate = dynamic_cast<PrettyItemDelegate *>(itemDelegate());
+ PlaylistItemDelegate *delegate = dynamic_cast<PlaylistItemDelegate *>(itemDelegate());
if (!delegate) return false;
QRect buttonRect = delegate->downloadButtonRect(itemRect);
#include "downloadmodel.h"
#include "video.h"
#include "constants.h"
-#include "MainWindow.h"
+#include "mainwindow.h"
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#ifdef Q_WS_MAC
+#include "macutils.h"
+#endif
static DownloadManager *downloadManagerInstance = 0;
void DownloadManager::addItem(Video *video) {
// qDebug() << __FUNCTION__ << video->title();
-#ifdef APP_DEMO
- if (video->duration() >= 60*4) {
- QMessageBox msgBox(MainWindow::instance());
- msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
- msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
- msgBox.setInformativeText(
- tr("It can only download videos shorter than %1 minutes so you can test the download functionality.")
- .arg(4));
- msgBox.setModal(true);
- // make it a "sheet" on the Mac
- msgBox.setWindowModality(Qt::WindowModal);
-
- msgBox.addButton(tr("Continue"), QMessageBox::RejectRole);
- QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
-
- msgBox.exec();
-
- if (msgBox.clickedButton() == buyButton) {
- QDesktopServices::openUrl(QUrl(QString(Constants::WEBSITE) + "#download"));
- }
+#ifdef APP_ACTIVATION
+ if (!Activation::instance().isActivated()) {
+ if (video->duration() >= 60*4) {
+ QMessageBox msgBox(MainWindow::instance());
+ msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+ msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
+ msgBox.setInformativeText(
+ tr("It can only download videos shorter than %1 minutes so you can test the download functionality.")
+ .arg(4));
+ msgBox.setModal(true);
+ // make it a "sheet" on the Mac
+ msgBox.setWindowModality(Qt::WindowModal);
- return;
+ msgBox.addButton(tr("Continue"), QMessageBox::RejectRole);
+ QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
+
+ msgBox.exec();
+
+ if (msgBox.clickedButton() == buyButton) {
+ MainWindow::instance()->showActivationView();
+ }
+
+ return;
+ }
}
#endif
}
void DownloadManager::updateStatusMessage() {
- QString message = tr("%n Download(s)", "", items.size());
+ QString message = tr("%n Download(s)", "", activeItems());
emit statusMessageChanged(message);
}
#include "downloadmanager.h"
#include "downloaditem.h"
#include "video.h"
-#include "ListModel.h"
+#include "playlistmodel.h"
DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent) :
QAbstractListModel(parent),
#include "downloadsettings.h"
#include "downloadmanager.h"
+#include "mainwindow.h"
DownloadSettings::DownloadSettings(QWidget *parent) : QWidget(parent) {
QSettings settings;
settings.setValue("downloadFolder", dir);
updateMessage();
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) {
- QString status;
- status = tr("Download location changed.");
- if (DownloadManager::instance()->activeItems() > 0)
- status += " " + tr("Current downloads will still go in the previous location.");
- mainWindow->statusBar()->showMessage(status);
- }
+ QString status = tr("Download location changed.");
+ if (DownloadManager::instance()->activeItems() > 0)
+ status += " " + tr("Current downloads will still go in the previous location.");
+ MainWindow::instance()->showMessage(status);
}
}
#include "downloadlistview.h"
#include "downloaditem.h"
#include "downloadsettings.h"
-#include "ListModel.h"
-#include "playlist/PrettyItemDelegate.h"
+#include "playlistmodel.h"
+#include "playlistitemdelegate.h"
#include "segmentedcontrol.h"
DownloadView::DownloadView(QWidget *parent) : QWidget(parent) {
p.setColor(QPalette::Base, palette().color(QPalette::Window));
listView->setPalette(p);
*/
- PrettyItemDelegate *delegate = new PrettyItemDelegate(this, true);
+ PlaylistItemDelegate *delegate = new PlaylistItemDelegate(this, true);
listView->setItemDelegate(delegate);
listView->setSelectionMode(QAbstractItemView::NoSelection);
#define DOWNLOADVIEW_H
#include <QtGui>
-#include "View.h"
+#include "view.h"
class SegmentedControl;
class DownloadModel;
DownloadView(QWidget *parent);
void appear();
void disappear();
- QMap<QString, QVariant> metadata() {
- QMap<QString, QVariant> metadata;
+ QHash<QString, QVariant> metadata() {
+ QHash<QString, QVariant> metadata;
metadata.insert("title", tr("Downloads"));
- metadata.insert("description", "");
return metadata;
}
#include <QNetworkProxyFactory>
#include <cstdlib>
#include "networkaccess.h"
+#include "diskcache.h"
namespace The {
- static QMap<QString, QAction*> *g_actions = 0;
-
- QMap<QString, QAction*>* globalActions() {
- if (!g_actions)
- g_actions = new QMap<QString, QAction*>;
- return g_actions;
+ QHash<QString, QAction*>* globalActions() {
+ static QHash<QString, QAction*> *actions = new QHash<QString, QAction*>;
+ return actions;
}
- static QMap<QString, QMenu*> *g_menus = 0;
-
- QMap<QString, QMenu*>* globalMenus() {
- if (!g_menus)
- g_menus = new QMap<QString, QMenu*>;
- return g_menus;
+ QHash<QString, QMenu*>* globalMenus() {
+ static QHash<QString, QMenu*> *menus = new QHash<QString, QMenu*>;
+ return menus;
}
void maybeSetSystemProxy() {
}
}
- static QNetworkAccessManager *nam = 0;
-
QNetworkAccessManager* networkAccessManager() {
+ static QNetworkAccessManager *nam = 0;
if (!nam) {
networkHttpProxySetting();
maybeSetSystemProxy();
nam = new QNetworkAccessManager();
+ QNetworkDiskCache *cache = new DiskCache();
+ QString cacheLocation = QDesktopServices::storageLocation(
+ QDesktopServices::DataLocation);
+ cache->setCacheDirectory(cacheLocation);
+ nam->setCache(cache);
}
return nam;
}
- static NetworkAccess *g_http = 0;
NetworkAccess* http() {
- if (!g_http) {
- // qDebug() << "Creating NetworkAccess";
- g_http = new NetworkAccess();
- }
- return g_http;
+ static NetworkAccess *na = new NetworkAccess();
+ return na;
}
}
--- /dev/null
+#include "homeview.h"
+#include "segmentedcontrol.h"
+#include "searchview.h"
+#include "standardfeedsview.h"
+#include "userview.h"
+#include "mainwindow.h"
+#include "mediaview.h"
+#include "ytstandardfeed.h"
+
+HomeView::HomeView(QWidget *parent) : QWidget(parent) {
+ standardFeedsView = 0;
+ userView = 0;
+
+ QBoxLayout *layout = new QVBoxLayout(this);
+ layout->setMargin(0);
+ layout->setSpacing(0);
+
+ setupBar();
+ layout->addWidget(bar);
+
+ stackedWidget = new QStackedWidget();
+ layout->addWidget(stackedWidget);
+
+ searchView = new SearchView();
+ connect(searchView, SIGNAL(search(SearchParams*)),
+ MainWindow::instance(), SLOT(showMedia(SearchParams*)));
+ stackedWidget->addWidget(searchView);
+}
+
+void HomeView::setupBar() {
+ bar = new SegmentedControl(this);
+
+ QAction *action = new QAction(tr("Search"), this);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_1));
+ action->setStatusTip(tr("Find videos and channels by keyword"));
+ connect(action, SIGNAL(triggered()), SLOT(showSearch()));
+ bar->addAction(action);
+ bar->setCheckedAction(action);
+
+ action = new QAction(tr("Browse"), this);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_2));
+ action->setStatusTip(tr("Browse videos by category"));
+ 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);
+ */
+
+ 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) + ")");
+ }
+}
+
+void HomeView::showWidget(QWidget *widget) {
+ QWidget* currentWidget = stackedWidget->currentWidget();
+ if (currentWidget == widget) return;
+ QMetaObject::invokeMethod(currentWidget, "disappear");
+ currentWidget->setEnabled(false);
+ stackedWidget->setCurrentWidget(widget);
+ widget->setEnabled(true);
+ QMetaObject::invokeMethod(widget, "appear");
+ bar->setCheckedAction(stackedWidget->currentIndex());
+ // autoChosenView = false;
+ widget->setFocus();
+}
+
+void HomeView::appear() {
+ QMetaObject::invokeMethod(stackedWidget->currentWidget(), "appear");
+}
+
+void HomeView::disappear() {
+ QMetaObject::invokeMethod(stackedWidget->currentWidget(), "disappear");
+}
+
+void HomeView::showSearch() {
+ showWidget(searchView);
+}
+
+void HomeView::showStandardFeeds() {
+ if (!standardFeedsView) {
+ standardFeedsView = new StandardFeedsView();
+ connect(standardFeedsView, SIGNAL(activated(VideoSource*)),
+ MainWindow::instance(),
+ SLOT(showMedia(VideoSource*)));
+ stackedWidget->addWidget(standardFeedsView);
+ }
+ showWidget(standardFeedsView);
+}
+
+void HomeView::showUser() {
+ if (!userView) {
+ userView = new UserView(this);
+ stackedWidget->addWidget(userView);
+ }
+ showWidget(userView);
+}
--- /dev/null
+#ifndef HOMEVIEW_H
+#define HOMEVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class SegmentedControl;
+class SearchView;
+class StandardFeedsView;
+class UserView;
+
+class HomeView : public QWidget, public View {
+
+ Q_OBJECT
+
+public:
+ HomeView(QWidget *parent = 0);
+ void appear();
+ void disappear();
+ QHash<QString, QVariant> metadata() {
+ QHash<QString, QVariant> metadata;
+ metadata.insert("description", tr("Make yourself comfortable"));
+ return metadata;
+ }
+ void showWidget(QWidget *widget);
+ SearchView* getSearchView() { return searchView; }
+ StandardFeedsView* getStandardFeedsView() { return standardFeedsView; }
+
+public slots:
+ void showSearch();
+ void showStandardFeeds();
+ void showUser();
+
+private:
+ void setupBar();
+ SegmentedControl *bar;
+ QStackedWidget *stackedWidget;
+
+ SearchView *searchView;
+ StandardFeedsView *standardFeedsView;
+ UserView* userView;
+
+};
+
+#endif // HOMEVIEW_H
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-**
-****************************************************************************/
-
-
-#ifndef QTICONLOADER_H
-#define QTICONLOADER_H
-
-#include <QtGui/QIcon>
-
-// This is the QtIconLoader
-// Version 0.1
-//
-
-class QtIconLoader
-{
-public:
- static QIcon icon(const QString &name);
-};
-
-#endif // QTICONLOADER_H
#include <QtGui>
#include <qtsingleapplication.h>
#include "constants.h"
-#include "MainWindow.h"
+#include "mainwindow.h"
#include "searchparams.h"
+#include "utils.h"
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
#ifdef Q_WS_MAC
#include "mac_startup.h"
-#include "macfullscreen.h"
#endif
-#include "iconloader/qticonloader.h"
+
+#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) {
#endif
QtSingleApplication app(argc, argv);
- QString message = app.arguments().size() > 1 ? app.arguments().at(1) : "";
- if (message == "--help") {
+ QString message = app.arguments().size() > 1 ? app.arguments().at(1) : QString();
+ if (message == QLatin1String("--help")) {
MainWindow::printHelp();
return 0;
}
-
if (app.sendMessage(message))
return 0;
- app.setApplicationName(Constants::NAME);
- app.setOrganizationName(Constants::ORG_NAME);
- app.setOrganizationDomain(Constants::ORG_DOMAIN);
-#ifndef APP_WIN
+ app.setApplicationName(QLatin1String(Constants::NAME));
+ app.setOrganizationName(QLatin1String(Constants::ORG_NAME));
+ app.setOrganizationDomain(QLatin1String(Constants::ORG_DOMAIN));
app.setWheelScrollLines(1);
-#endif
+ app.setAttribute(Qt::AA_DontShowIconsInMenus);
-#ifdef APP_MAC
- app.setAttribute(Qt::AA_NativeWindows);
- QFile file(":/mac.css");
- file.open(QFile::ReadOnly);
- app.setStyleSheet(QLatin1String(file.readAll()));
-#endif
-
-#ifdef APP_WIN
- QFile file(":/win.css");
- file.open(QFile::ReadOnly);
- app.setStyleSheet(QLatin1String(file.readAll()));
+#ifndef Q_WS_X11
+ 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());
+ app.setStyleSheet(styleSheet);
#endif
- const QString locale = QLocale::system().name();
-
// qt translations
QTranslator qtTranslator;
- qtTranslator.load("qt_" + locale,
+ qtTranslator.load("qt_" + QLocale::system().name(),
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTranslator);
#else
QString dataDir = "";
#endif
- QString localeDir = qApp->applicationDirPath() + QDir::separator() + "locale";
+ QString localeDir = qApp->applicationDirPath() + "/locale";
if (!QDir(localeDir).exists()) {
- localeDir = dataDir + QDir::separator() + "locale";
+ localeDir = dataDir + "/locale";
}
// qDebug() << "Using locale dir" << localeDir << locale;
QTranslator translator;
- translator.load(locale, localeDir);
+ translator.load(QLocale::system(), localeDir);
app.installTranslator(&translator);
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
MainWindow mainWin;
mainWin.setWindowTitle(Constants::NAME);
-#ifdef Q_WS_MAC
- app.setQuitOnLastWindowClosed(false);
- mac::SetupFullScreenWindow(mainWin.winId());
+#ifndef Q_WS_X11
+ Extra::windowSetup(&mainWin);
+#else
+ mainWin.setProperty("style", app.property("style"));
#endif
// no window icon on Mac
#ifndef APP_MAC
QIcon appIcon;
if (QDir(dataDir).exists()) {
- appIcon = QtIconLoader::icon(Constants::UNIX_NAME);
+ appIcon = Utils::icon(Constants::UNIX_NAME);
} else {
dataDir = qApp->applicationDirPath() + "/data";
const int iconSizes [] = { 16, 22, 32, 48, 64, 128, 256, 512 };
mainWin.setWindowIcon(appIcon);
#endif
-#ifdef APP_WIN
- app.setFont(QFont("Segoe UI", 9));
-#endif
-
- mainWin.show();
-
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"));
+ // QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
if (app.arguments().size() > 1) {
QString query = app.arguments().at(1);
- if (query.startsWith("--")) {
+ if (query.startsWith(QLatin1String("--"))) {
mainWin.messageReceived(query);
return 0;
} else {
}
}
+ mainWin.show();
+
// Seed random number generator
qsrand(QDateTime::currentDateTime().toTime_t());
--- /dev/null
+#include "mainwindow.h"
+#include "homeview.h"
+#include "searchview.h"
+#include "mediaview.h"
+#include "aboutview.h"
+#include "downloadview.h"
+#include "spacer.h"
+#include "constants.h"
+#include "utils.h"
+#include "global.h"
+#include "videodefinition.h"
+#include "fontutils.h"
+#include "globalshortcuts.h"
+#include "searchparams.h"
+#include "videosource.h"
+#include "ytsearch.h"
+#ifdef Q_WS_X11
+#include "gnomeglobalshortcutbackend.h"
+#endif
+#ifdef Q_WS_MAC
+#include "mac_startup.h"
+#include "macfullscreen.h"
+#include "macsupport.h"
+#include "macutils.h"
+#endif
+#include "downloadmanager.h"
+#include "ytsuggester.h"
+#include "updatechecker.h"
+#include "temporary.h"
+#ifdef APP_MAC
+#include "searchlineedit_mac.h"
+#else
+#include "searchlineedit.h"
+#endif
+#include <iostream>
+#ifndef Q_WS_X11
+#include "extra.h"
+#include "updatedialog.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#include "activationview.h"
+#include "activationdialog.h"
+#endif
+#include "ytregions.h"
+#include "regionsview.h"
+#include "standardfeedsview.h"
+
+static MainWindow *singleton = 0;
+
+MainWindow* MainWindow::instance() {
+ if (!singleton) singleton = new MainWindow();
+ return singleton;
+}
+
+MainWindow::MainWindow() :
+ updateChecker(0),
+ aboutView(0),
+ downloadView(0),
+ regionsView(0),
+ mediaObject(0),
+ audioOutput(0),
+ m_fullscreen(false) {
+
+ singleton = this;
+
+ // views mechanism
+ history = new QStack<QWidget*>();
+ views = new QStackedWidget();
+ views->hide();
+ setCentralWidget(views);
+
+ // views
+ homeView = new HomeView(this);
+ views->addWidget(homeView);
+
+ // TODO make this lazy
+ mediaView = MediaView::instance();
+ mediaView->setEnabled(false);
+ views->addWidget(mediaView);
+
+ // build ui
+ createActions();
+ createMenus();
+ 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);
+
+ setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+
+ // restore window position
+ 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);
+ }
+ setMinimumWidth(0);
+
+ // show the initial view
+ showHome(false);
+
+#ifdef APP_ACTIVATION
+ if (!Activation::instance().isActivated())
+ showActivationView(false);
+#endif
+
+ views->show();
+
+ // Global shortcuts
+ GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
+#ifdef Q_WS_X11
+ if (GnomeGlobalShortcutBackend::IsGsdAvailable())
+ shortcuts.setBackend(new GnomeGlobalShortcutBackend(&shortcuts));
+#endif
+#ifdef Q_WS_MAC
+ mac::MacSetup();
+#endif
+ connect(&shortcuts, SIGNAL(PlayPause()), pauseAct, SLOT(trigger()));
+ connect(&shortcuts, SIGNAL(Stop()), this, SLOT(stop()));
+ connect(&shortcuts, SIGNAL(Next()), skipAct, SLOT(trigger()));
+ connect(&shortcuts, SIGNAL(Previous()), skipBackwardAct, SLOT(trigger()));
+ // connect(&shortcuts, SIGNAL(StopAfter()), The::globalActions()->value("stopafterthis"), SLOT(toggle()));
+
+ connect(DownloadManager::instance(), SIGNAL(statusMessageChanged(QString)),
+ SLOT(updateDownloadMessage(QString)));
+ connect(DownloadManager::instance(), SIGNAL(finished()),
+ SLOT(downloadsFinished()));
+
+ setAcceptDrops(true);
+
+ mouseTimer = new QTimer(this);
+ mouseTimer->setInterval(5000);
+ mouseTimer->setSingleShot(true);
+ connect(mouseTimer, SIGNAL(timeout()), SLOT(hideMouse()));
+
+ QTimer::singleShot(0, this, SLOT(checkForUpdate()));
+
+}
+
+MainWindow::~MainWindow() {
+ delete history;
+}
+
+void MainWindow::changeEvent(QEvent* event) {
+#ifdef APP_MAC
+ if (event->type() == QEvent::WindowStateChange) {
+ The::globalActions()->value("minimize")->setEnabled(!isMinimized());
+ }
+#endif
+ QMainWindow::changeEvent(event);
+}
+
+bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
+
+ if (m_fullscreen && event->type() == QEvent::MouseMove) {
+
+ QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (event);
+ const int x = mouseEvent->pos().x();
+ const QString className = QString(obj->metaObject()->className());
+ const bool isHoveringVideo =
+ (className == QLatin1String("QGLWidget")) ||
+ (className == QLatin1String("VideoAreaWidget"));
+
+ // qDebug() << obj << mouseEvent->pos() << isHoveringVideo << mediaView->isPlaylistVisible();
+
+ if (mediaView->isPlaylistVisible()) {
+ if (isHoveringVideo && x > 5) mediaView->setPlaylistVisible(false);
+ } else {
+ if (isHoveringVideo && x >= 0 && x < 5) mediaView->setPlaylistVisible(true);
+ }
+
+#ifndef APP_MAC
+ const int y = mouseEvent->pos().y();
+ if (mainToolBar->isVisible()) {
+ if (isHoveringVideo && y > 5) mainToolBar->setVisible(false);
+ } else {
+ if (isHoveringVideo && y >= 0 && y < 5) mainToolBar->setVisible(true);
+ }
+#endif
+
+ // show the normal cursor
+ unsetCursor();
+ // then hide it again after a few seconds
+ mouseTimer->start();
+
+ }
+
+ if (event->type() == QEvent::ToolTip) {
+ // kill tooltips
+ return true;
+ }
+ // standard event processing
+ return QMainWindow::eventFilter(obj, event);
+}
+
+void MainWindow::createActions() {
+
+ QHash<QString, QAction*> *actions = The::globalActions();
+
+ stopAct = new QAction(Utils::icon("media-playback-stop"), tr("&Stop"), this);
+ stopAct->setStatusTip(tr("Stop playback and go back to the search view"));
+ stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
+ stopAct->setEnabled(false);
+ actions->insert("stop", stopAct);
+ connect(stopAct, SIGNAL(triggered()), this, SLOT(stop()));
+
+ skipBackwardAct = new QAction(
+ Utils::icon("media-skip-backward"),
+ 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()));
+
+ skipAct = new QAction(Utils::icon("media-skip-forward"), tr("S&kip"), this);
+ skipAct->setStatusTip(tr("Skip to the next video"));
+ skipAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Right) << QKeySequence(Qt::Key_MediaNext));
+ skipAct->setEnabled(false);
+ actions->insert("skip", skipAct);
+ connect(skipAct, SIGNAL(triggered()), mediaView, SLOT(skip()));
+
+ pauseAct = new QAction(Utils::icon("media-playback-pause"), tr("&Pause"), this);
+ pauseAct->setStatusTip(tr("Pause playback"));
+ pauseAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Space) << QKeySequence(Qt::Key_MediaPlay));
+ pauseAct->setEnabled(false);
+ actions->insert("pause", pauseAct);
+ connect(pauseAct, SIGNAL(triggered()), mediaView, SLOT(pause()));
+
+ fullscreenAct = new QAction(Utils::icon("view-fullscreen"), tr("&Full Screen"), this);
+ fullscreenAct->setStatusTip(tr("Go full screen"));
+ QList<QKeySequence> fsShortcuts;
+#ifdef APP_MAC
+ fsShortcuts << QKeySequence(Qt::CTRL + Qt::META + Qt::Key_F);
+#else
+ fsShortcuts << QKeySequence(Qt::Key_F11) << QKeySequence(Qt::ALT + Qt::Key_Return);
+#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()));
+
+ compactViewAct = new QAction(tr("&Compact Mode"), this);
+ compactViewAct->setStatusTip(tr("Hide the playlist and the toolbar"));
+#ifdef APP_MAC
+ compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::META + Qt::Key_C));
+#else
+ compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C));
+#endif
+ compactViewAct->setCheckable(true);
+ compactViewAct->setChecked(false);
+ compactViewAct->setEnabled(false);
+ actions->insert("compactView", compactViewAct);
+ connect(compactViewAct, SIGNAL(toggled(bool)), this, SLOT(compactView(bool)));
+
+ webPageAct = new QAction(tr("Open the &YouTube Page"), this);
+ webPageAct->setStatusTip(tr("Go to the YouTube video page and pause playback"));
+ webPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Y));
+ webPageAct->setEnabled(false);
+ actions->insert("webpage", webPageAct);
+ connect(webPageAct, SIGNAL(triggered()), mediaView, SLOT(openWebPage()));
+
+ copyPageAct = new QAction(tr("Copy the YouTube &Link"), this);
+ copyPageAct->setStatusTip(tr("Copy the current video YouTube link to the clipboard"));
+ copyPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
+ copyPageAct->setEnabled(false);
+ actions->insert("pagelink", copyPageAct);
+ connect(copyPageAct, SIGNAL(triggered()), mediaView, SLOT(copyWebPage()));
+
+ copyLinkAct = new QAction(tr("Copy the Video Stream &URL"), this);
+ copyLinkAct->setStatusTip(tr("Copy the current video stream URL to the clipboard"));
+ copyLinkAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
+ copyLinkAct->setEnabled(false);
+ actions->insert("videolink", copyLinkAct);
+ connect(copyLinkAct, SIGNAL(triggered()), mediaView, SLOT(copyVideoLink()));
+
+ findVideoPartsAct = new QAction(tr("Find Video &Parts"), this);
+ findVideoPartsAct->setStatusTip(tr("Find other video parts hopefully in the right order"));
+ findVideoPartsAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_P));
+ findVideoPartsAct->setEnabled(false);
+ connect(findVideoPartsAct, SIGNAL(triggered()), mediaView, SLOT(findVideoParts()));
+ actions->insert("findVideoParts", findVideoPartsAct);
+
+ removeAct = new QAction(tr("&Remove"), this);
+ removeAct->setStatusTip(tr("Remove the selected videos from the playlist"));
+ removeAct->setShortcuts(QList<QKeySequence>() << QKeySequence("Del") << QKeySequence("Backspace"));
+ removeAct->setEnabled(false);
+ actions->insert("remove", removeAct);
+ connect(removeAct, SIGNAL(triggered()), mediaView, SLOT(removeSelected()));
+
+ moveUpAct = new QAction(tr("Move &Up"), this);
+ moveUpAct->setStatusTip(tr("Move up the selected videos in the playlist"));
+ moveUpAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
+ moveUpAct->setEnabled(false);
+ actions->insert("moveUp", moveUpAct);
+ connect(moveUpAct, SIGNAL(triggered()), mediaView, SLOT(moveUpSelected()));
+
+ moveDownAct = new QAction(tr("Move &Down"), this);
+ moveDownAct->setStatusTip(tr("Move down the selected videos in the playlist"));
+ moveDownAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
+ moveDownAct->setEnabled(false);
+ actions->insert("moveDown", moveDownAct);
+ connect(moveDownAct, SIGNAL(triggered()), mediaView, SLOT(moveDownSelected()));
+
+ clearAct = new QAction(tr("&Clear Recent Searches"), this);
+ clearAct->setMenuRole(QAction::ApplicationSpecificRole);
+ clearAct->setShortcuts(QList<QKeySequence>()
+ << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Delete)
+ << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Backspace));
+ clearAct->setStatusTip(tr("Clear the search history. Cannot be undone."));
+ clearAct->setEnabled(true);
+ actions->insert("clearRecentKeywords", clearAct);
+ connect(clearAct, SIGNAL(triggered()), SLOT(clearRecentKeywords()));
+
+ quitAct = new QAction(tr("&Quit"), this);
+ quitAct->setMenuRole(QAction::QuitRole);
+ quitAct->setShortcut(QKeySequence(QKeySequence::Quit));
+ quitAct->setStatusTip(tr("Bye"));
+ actions->insert("quit", quitAct);
+ connect(quitAct, SIGNAL(triggered()), SLOT(quit()));
+
+ siteAct = new QAction(tr("&Website"), this);
+ siteAct->setShortcut(QKeySequence::HelpContents);
+ siteAct->setStatusTip(tr("%1 on the Web").arg(Constants::NAME));
+ actions->insert("site", siteAct);
+ connect(siteAct, SIGNAL(triggered()), this, SLOT(visitSite()));
+
+#if !defined(APP_MAC) && !defined(APP_WIN)
+ donateAct = new QAction(tr("Make a &Donation"), this);
+ donateAct->setStatusTip(tr("Please support the continued development of %1").arg(Constants::NAME));
+ actions->insert("donate", donateAct);
+ connect(donateAct, SIGNAL(triggered()), this, SLOT(donate()));
+#endif
+
+ aboutAct = new QAction(tr("&About"), this);
+ aboutAct->setMenuRole(QAction::AboutRole);
+ aboutAct->setStatusTip(tr("Info about %1").arg(Constants::NAME));
+ actions->insert("about", aboutAct);
+ connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
+
+ // Invisible actions
+
+ searchFocusAct = new QAction(this);
+ searchFocusAct->setShortcut(QKeySequence::Find);
+ searchFocusAct->setStatusTip(tr("Search"));
+ actions->insert("search", searchFocusAct);
+ connect(searchFocusAct, SIGNAL(triggered()), this, SLOT(searchFocus()));
+ addAction(searchFocusAct);
+
+ volumeUpAct = new QAction(this);
+ volumeUpAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Plus));
+ actions->insert("volume-up", volumeUpAct);
+ connect(volumeUpAct, SIGNAL(triggered()), this, SLOT(volumeUp()));
+ addAction(volumeUpAct);
+
+ volumeDownAct = new QAction(this);
+ volumeDownAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Minus));
+ actions->insert("volume-down", volumeDownAct);
+ connect(volumeDownAct, SIGNAL(triggered()), this, SLOT(volumeDown()));
+ addAction(volumeDownAct);
+
+ 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));
+ actions->insert("volume-mute", volumeMuteAct);
+ connect(volumeMuteAct, SIGNAL(triggered()), SLOT(volumeMute()));
+ addAction(volumeMuteAct);
+
+ QAction *definitionAct = new QAction(this);
+ definitionAct->setIcon(Utils::icon("video-display"));
+ definitionAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_D));
+ /*
+ QMenu *definitionMenu = new QMenu(this);
+ foreach (QString definition, VideoDefinition::getDefinitionNames()) {
+ definitionMenu->addAction(definition);
+ }
+ definitionAct->setMenu(definitionMenu);
+ */
+ actions->insert("definition", definitionAct);
+ connect(definitionAct, SIGNAL(triggered()), SLOT(toggleDefinitionMode()));
+ addAction(definitionAct);
+
+ QAction *action;
+
+ action = new QAction(Utils::icon("media-playback-start"), tr("&Manually Start Playing"), this);
+ action->setStatusTip(tr("Manually start playing videos"));
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_B));
+ action->setCheckable(true);
+ connect(action, SIGNAL(toggled(bool)), SLOT(setManualPlay(bool)));
+ actions->insert("manualplay", action);
+
+ action = new QAction(tr("&Downloads"), this);
+ action->setStatusTip(tr("Show details about video downloads"));
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_J));
+ action->setCheckable(true);
+ action->setIcon(Utils::icon("document-save"));
+ action->setVisible(false);
+ connect(action, SIGNAL(toggled(bool)), SLOT(toggleDownloads(bool)));
+ actions->insert("downloads", action);
+
+ 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->setPriority(QAction::LowPriority);
+#endif
+ connect(action, SIGNAL(triggered()), mediaView, SLOT(downloadVideo()));
+ actions->insert("download", action);
+
+ /*
+ action = new QAction(tr("&Snapshot"), this);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
+ actions->insert("snapshot", action);
+ connect(action, SIGNAL(triggered()), mediaView, SLOT(snapshot()));
+ */
+
+ QString shareTip = tr("Share the current video using %1");
+
+ action = new QAction("&Twitter", this);
+ action->setStatusTip(shareTip.arg("Twitter"));
+ actions->insert("twitter", action);
+ connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaTwitter()));
+
+ action = new QAction("&Facebook", this);
+ action->setStatusTip(shareTip.arg("Facebook"));
+ actions->insert("facebook", action);
+ connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaFacebook()));
+
+ action = new QAction("&Buffer", this);
+ action->setStatusTip(shareTip.arg("Buffer"));
+ actions->insert("buffer", action);
+ connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaBuffer()));
+
+ action = new QAction(tr("&Email"), this);
+ action->setStatusTip(shareTip.arg(tr("Email")));
+ actions->insert("email", action);
+ connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaEmail()));
+
+ action = new QAction(tr("&Close"), this);
+ action->setShortcut(QKeySequence(QKeySequence::Close));
+ actions->insert("close", action);
+ connect(action, SIGNAL(triggered()), SLOT(close()));
+
+ action = new QAction(Constants::NAME, this);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_1));
+ actions->insert("restore", action);
+ connect(action, SIGNAL(triggered()), SLOT(restore()));
+
+ action = new QAction(Utils::icon("go-top"), tr("&Float on Top"), this);
+ action->setCheckable(true);
+ actions->insert("ontop", action);
+ connect(action, SIGNAL(toggled(bool)), SLOT(floatOnTop(bool)));
+
+ action = new QAction(Utils::icon("media-playback-stop"), tr("&Stop After This Video"), this);
+ action->setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Escape));
+ action->setCheckable(true);
+ action->setEnabled(false);
+ actions->insert("stopafterthis", action);
+ connect(action, SIGNAL(toggled(bool)), SLOT(showStopAfterThisInStatusBar(bool)));
+
+ action = new QAction(tr("&Report an Issue..."), this);
+ actions->insert("report-issue", action);
+ connect(action, SIGNAL(triggered()), SLOT(reportIssue()));
+
+ action = new QAction(tr("&Refine Search..."), this);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_E));
+ action->setCheckable(true);
+ action->setEnabled(false);
+ actions->insert("refine-search", action);
+
+ action = new QAction(YTRegions::worldwideRegion().name, this);
+ actions->insert("worldwide-region", action);
+
+ action = new QAction(YTRegions::localRegion().name, this);
+ actions->insert("local-region", action);
+
+ action = new QAction(tr("More..."), this);
+ actions->insert("more-region", action);
+
+ action = new QAction(Utils::icon(QStringList() << "view-list-symbolic" << "view-list" << "format-justify-fill"), tr("&Related Videos"), this);
+ 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);
+
+#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) + ")");
+ }
+
+}
+
+void MainWindow::createMenus() {
+
+ QHash<QString, QMenu*> *menus = The::globalMenus();
+
+ fileMenu = menuBar()->addMenu(tr("&Application"));
+#ifdef APP_ACTIVATION
+ QAction *buyAction = The::globalActions()->value("buy");
+ if (buyAction) fileMenu->addAction(buyAction);
+#ifndef APP_MAC
+ fileMenu->addSeparator();
+#endif
+#endif
+ fileMenu->addAction(clearAct);
+#ifndef APP_MAC
+ fileMenu->addSeparator();
+#endif
+ fileMenu->addAction(quitAct);
+
+ QMenu* playbackMenu = menuBar()->addMenu(tr("&Playback"));
+ menus->insert("playback", playbackMenu);
+ playbackMenu->addAction(pauseAct);
+ playbackMenu->addAction(stopAct);
+ playbackMenu->addAction(The::globalActions()->value("stopafterthis"));
+ playbackMenu->addSeparator();
+ playbackMenu->addAction(skipAct);
+ playbackMenu->addAction(skipBackwardAct);
+ playbackMenu->addSeparator();
+ playbackMenu->addAction(The::globalActions()->value("manualplay"));
+#ifdef APP_MAC
+ MacSupport::dockMenu(playbackMenu);
+#endif
+
+ playlistMenu = menuBar()->addMenu(tr("&Playlist"));
+ menus->insert("playlist", playlistMenu);
+ playlistMenu->addAction(removeAct);
+ playlistMenu->addSeparator();
+ playlistMenu->addAction(moveUpAct);
+ playlistMenu->addAction(moveDownAct);
+ playlistMenu->addSeparator();
+ playlistMenu->addAction(The::globalActions()->value("refine-search"));
+
+ QMenu* videoMenu = menuBar()->addMenu(tr("&Video"));
+ menus->insert("video", videoMenu);
+ videoMenu->addAction(The::globalActions()->value("related-videos"));
+ videoMenu->addAction(findVideoPartsAct);
+ videoMenu->addSeparator();
+ videoMenu->addAction(webPageAct);
+ videoMenu->addSeparator();
+#ifndef APP_NO_DOWNLOADS
+ videoMenu->addAction(The::globalActions()->value("download"));
+ // videoMenu->addAction(copyLinkAct);
+#endif
+ // videoMenu->addAction(The::globalActions()->value("snapshot"));
+
+ QMenu* viewMenu = menuBar()->addMenu(tr("&View"));
+ menus->insert("view", viewMenu);
+ viewMenu->addAction(fullscreenAct);
+ viewMenu->addAction(compactViewAct);
+ viewMenu->addSeparator();
+ viewMenu->addAction(The::globalActions()->value("ontop"));
+
+ QMenu* shareMenu = menuBar()->addMenu(tr("&Share"));
+ menus->insert("share", shareMenu);
+ shareMenu->addAction(copyPageAct);
+ shareMenu->addSeparator();
+ shareMenu->addAction(The::globalActions()->value("twitter"));
+ shareMenu->addAction(The::globalActions()->value("facebook"));
+ shareMenu->addAction(The::globalActions()->value("buffer"));
+ shareMenu->addSeparator();
+ shareMenu->addAction(The::globalActions()->value("email"));
+
+#ifdef APP_MAC
+ MacSupport::windowMenu(this);
+#endif
+
+ helpMenu = menuBar()->addMenu(tr("&Help"));
+ helpMenu->addAction(siteAct);
+#if !defined(APP_MAC) && !defined(APP_WIN)
+ helpMenu->addAction(donateAct);
+#endif
+ helpMenu->addAction(The::globalActions()->value("report-issue"));
+ helpMenu->addAction(aboutAct);
+}
+
+void MainWindow::createToolBars() {
+
+ setUnifiedTitleAndToolBarOnMac(true);
+
+ mainToolBar = new QToolBar(this);
+ mainToolBar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
+ mainToolBar->setFloatable(false);
+ mainToolBar->setMovable(false);
+
+#if defined(APP_MAC) | defined(APP_WIN)
+ mainToolBar->setIconSize(QSize(32, 32));
+#endif
+
+ mainToolBar->addAction(stopAct);
+ mainToolBar->addAction(pauseAct);
+ 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
+ addFullScreenAct = !mac::CanGoFullScreen(winId());
+#endif
+ if (addFullScreenAct) mainToolBar->addAction(fullscreenAct);
+
+ mainToolBar->addWidget(new Spacer());
+
+ QFont smallerFont = FontUtils::small();
+ currentTime = new QLabel(mainToolBar);
+ currentTime->setFont(smallerFont);
+ mainToolBar->addWidget(currentTime);
+
+ mainToolBar->addWidget(new Spacer());
+
+ seekSlider = new Phonon::SeekSlider(this);
+ seekSlider->setIconVisible(false);
+ seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ mainToolBar->addWidget(seekSlider);
+
+ /*
+ mainToolBar->addWidget(new Spacer());
+ slider = new QSlider(this);
+ slider->setOrientation(Qt::Horizontal);
+ slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ mainToolBar->addWidget(slider);
+*/
+
+ mainToolBar->addWidget(new Spacer());
+
+ totalTime = new QLabel(mainToolBar);
+ totalTime->setFont(smallerFont);
+ mainToolBar->addWidget(totalTime);
+
+ mainToolBar->addWidget(new Spacer());
+
+ mainToolBar->addAction(volumeMuteAct);
+
+ volumeSlider = new Phonon::VolumeSlider(this);
+ volumeSlider->setMuteVisible(false);
+ // qDebug() << volumeSlider->children();
+ // status tip for the volume slider
+ QSlider* volumeQSlider = volumeSlider->findChild<QSlider*>();
+ if (volumeQSlider)
+ volumeQSlider->setStatusTip(tr("Press %1 to raise the volume, %2 to lower it").arg(
+ volumeUpAct->shortcut().toString(QKeySequence::NativeText), volumeDownAct->shortcut().toString(QKeySequence::NativeText)));
+ // this makes the volume slider smaller
+ volumeSlider->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ mainToolBar->addWidget(volumeSlider);
+
+ mainToolBar->addWidget(new Spacer());
+
+#ifdef APP_MAC
+ SearchWrapper* searchWrapper = new SearchWrapper(this);
+ toolbarSearch = searchWrapper->getSearchLineEdit();
+#else
+ toolbarSearch = new SearchLineEdit(this);
+#endif
+ toolbarSearch->setMinimumWidth(toolbarSearch->fontInfo().pixelSize()*15);
+ toolbarSearch->setSuggester(new YTSuggester(this));
+ connect(toolbarSearch, SIGNAL(search(const QString&)), this, SLOT(startToolbarSearch(const QString&)));
+ connect(toolbarSearch, SIGNAL(suggestionAccepted(const QString&)), SLOT(startToolbarSearch(const QString&)));
+ toolbarSearch->setStatusTip(searchFocusAct->statusTip());
+#ifdef APP_MAC
+ mainToolBar->addWidget(searchWrapper);
+#else
+ mainToolBar->addWidget(toolbarSearch);
+ Spacer* spacer = new Spacer();
+ // spacer->setWidth(4);
+ mainToolBar->addWidget(spacer);
+#endif
+
+ addToolBar(mainToolBar);
+}
+
+void MainWindow::createStatusBar() {
+ statusToolBar = new QToolBar(this);
+ statusToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ statusToolBar->setIconSize(QSize(16, 16));
+ statusToolBar->addAction(The::globalActions()->value("downloads"));
+
+ regionButton = new QToolButton(this);
+ regionButton->setStatusTip(tr("Choose your content location"));
+ regionButton->setIconSize(QSize(16, 16));
+ regionButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ regionAction = statusToolBar->addWidget(regionButton);
+ regionAction->setVisible(false);
+
+ QAction *localAction = The::globalActions()->value("local-region");
+ if (!localAction->text().isEmpty()) {
+ regionButton->setPopupMode(QToolButton::InstantPopup);
+ QMenu *regionMenu = new QMenu(this);
+ regionMenu->addAction(The::globalActions()->value("worldwide-region"));
+ regionMenu->addAction(localAction);
+ regionMenu->addSeparator();
+ QAction *moreRegionsAction = The::globalActions()->value("more-region");
+ regionMenu->addAction(moreRegionsAction);
+ connect(moreRegionsAction, SIGNAL(triggered()), SLOT(showRegionsView()));
+ regionButton->setMenu(regionMenu);
+ } else {
+ connect(regionButton, SIGNAL(clicked()), SLOT(showRegionsView()));
+ }
+
+ /* Stupid code that generates the QRC items
+ foreach(YTRegion r, YTRegions::list())
+ qDebug() << QString("<file>flags/%1.png</file>").arg(r.id.toLower());
+ */
+
+ statusToolBar->addAction(The::globalActions()->value("definition"));
+
+ statusBar()->addPermanentWidget(statusToolBar);
+ statusBar()->show();
+}
+
+void MainWindow::showStopAfterThisInStatusBar(bool show) {
+ QAction* action = The::globalActions()->value("stopafterthis");
+ showActionInStatusBar(action, show);
+}
+
+void MainWindow::showActionInStatusBar(QAction* action, bool show) {
+ if (show) {
+ statusToolBar->insertAction(statusToolBar->actions().first(), action);
+ } else {
+ statusToolBar->removeAction(action);
+ }
+}
+
+void MainWindow::readSettings() {
+ QSettings settings;
+ if (settings.contains("geometry")) {
+ restoreGeometry(settings.value("geometry").toByteArray());
+#ifdef APP_MAC
+ MacSupport::fixGeometry(this);
+#endif
+ } else {
+ 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());
+}
+
+void MainWindow::writeSettings() {
+ QSettings settings;
+
+ settings.setValue("geometry", saveGeometry());
+ mediaView->saveSplitterState();
+
+ settings.setValue("volume", audioOutput->volume());
+ settings.setValue("volumeMute", audioOutput->isMuted());
+ settings.setValue("manualplay", The::globalActions()->value("manualplay")->isChecked());
+}
+
+void MainWindow::goBack() {
+ if ( history->size() > 1 ) {
+ history->pop();
+ QWidget *widget = history->pop();
+ showWidget(widget);
+ }
+}
+
+void MainWindow::showWidget(QWidget* widget, bool transition) {
+
+ if (compactViewAct->isChecked())
+ compactViewAct->toggle();
+
+ setUpdatesEnabled(false);
+
+ // call hide method on the current view
+ View* oldView = dynamic_cast<View *> (views->currentWidget());
+ if (oldView) {
+ oldView->disappear();
+ views->currentWidget()->setEnabled(false);
+ } else qDebug() << "Cannot cast view";
+
+ // call show method on the new view
+ 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;
+ else title += QLatin1String(" - ") + Constants::NAME;
+ setWindowTitle(title);
+ QString desc = metadata.value("description").toString();
+ if (!desc.isEmpty()) showMessage(desc);
+ }
+
+ 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);
+
+ views->setCurrentWidget(widget);
+ widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+
+#ifndef Q_WS_X11
+ if (transition && oldWidget != mediaView)
+ Extra::fadeInWidget(oldWidget, widget);
+#endif
+
+ history->push(widget);
+}
+
+void MainWindow::about() {
+ if (!aboutView) {
+ aboutView = new AboutView(this);
+ views->addWidget(aboutView);
+ }
+ showWidget(aboutView);
+}
+
+void MainWindow::visitSite() {
+ QUrl url(Constants::WEBSITE);
+ statusBar()->showMessage(QString(tr("Opening %1").arg(url.toString())));
+ QDesktopServices::openUrl(url);
+}
+
+void MainWindow::donate() {
+ QUrl url(QString(Constants::WEBSITE) + "#donate");
+ statusBar()->showMessage(QString(tr("Opening %1").arg(url.toString())));
+ QDesktopServices::openUrl(url);
+}
+
+void MainWindow::reportIssue() {
+ QUrl url("http://flavio.tordini.org/forums/forum/minitube-forums/minitube-troubleshooting");
+ QDesktopServices::openUrl(url);
+}
+
+void MainWindow::quit() {
+#ifdef APP_MAC
+ if (!confirmQuit()) {
+ return;
+ }
+#endif
+ // do not save geometry when in full screen or in compact mode
+ if (!m_fullscreen && !compactViewAct->isChecked()) {
+ writeSettings();
+ }
+ Temporary::deleteAll();
+ qApp->quit();
+}
+
+void MainWindow::closeEvent(QCloseEvent *event) {
+#ifdef APP_MAC
+ mac::closeWindow(winId());
+ event->ignore();
+#else
+ if (!confirmQuit()) {
+ event->ignore();
+ return;
+ }
+ QWidget::closeEvent(event);
+ quit();
+#endif
+}
+
+bool MainWindow::confirmQuit() {
+ if (DownloadManager::instance()->activeItems() > 0) {
+ QMessageBox msgBox(this);
+ msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+ msgBox.setText(tr("Do you want to exit %1 with a download in progress?").arg(Constants::NAME));
+ msgBox.setInformativeText(tr("If you close %1 now, this download will be cancelled.").arg(Constants::NAME));
+ msgBox.setModal(true);
+ // make it a "sheet" on the Mac
+ msgBox.setWindowModality(Qt::WindowModal);
+
+ msgBox.addButton(tr("Close and cancel download"), QMessageBox::RejectRole);
+ QPushButton *waitButton = msgBox.addButton(tr("Wait for download to finish"), QMessageBox::ActionRole);
+
+ msgBox.exec();
+
+ if (msgBox.clickedButton() == waitButton) {
+ return false;
+ }
+ }
+ return true;
+}
+
+void MainWindow::showHome(bool transition) {
+ showWidget(homeView, transition);
+ currentTime->clear();
+ totalTime->clear();
+}
+
+void MainWindow::showMedia(SearchParams *searchParams) {
+ mediaView->search(searchParams);
+ showWidget(mediaView);
+}
+
+void MainWindow::showMedia(VideoSource *videoSource) {
+ mediaView->setVideoSource(videoSource);
+ showWidget(mediaView);
+}
+
+void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) {
+
+ // qDebug() << "Phonon state: " << newState;
+
+ switch (newState) {
+
+ case Phonon::ErrorState:
+ if (mediaObject->errorType() == Phonon::FatalError) {
+ // Do not display because we try to play incomplete video files and sometimes trigger this
+ // We retry automatically (in MediaView) so no need to show it
+ // statusBar()->showMessage(tr("Fatal error: %1").arg(mediaObject->errorString()));
+ } else {
+ statusBar()->showMessage(tr("Error: %1").arg(mediaObject->errorString()));
+ }
+ break;
+
+ case Phonon::PlayingState:
+ pauseAct->setEnabled(true);
+ pauseAct->setIcon(Utils::icon("media-playback-pause"));
+ pauseAct->setText(tr("&Pause"));
+ pauseAct->setStatusTip(tr("Pause playback") + " (" + pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
+ // stopAct->setEnabled(true);
+ break;
+
+ case Phonon::StoppedState:
+ pauseAct->setEnabled(false);
+ // stopAct->setEnabled(false);
+ break;
+
+ case Phonon::PausedState:
+ pauseAct->setEnabled(true);
+ pauseAct->setIcon(Utils::icon("media-playback-start"));
+ pauseAct->setText(tr("&Play"));
+ pauseAct->setStatusTip(tr("Resume playback") + " (" + pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
+ // stopAct->setEnabled(true);
+ break;
+
+ case Phonon::BufferingState:
+ case Phonon::LoadingState:
+ pauseAct->setEnabled(false);
+ currentTime->clear();
+ totalTime->clear();
+ // stopAct->setEnabled(true);
+ break;
+
+ default:
+ ;
+ }
+}
+
+void MainWindow::stop() {
+ mediaView->stop();
+ showHome();
+}
+
+void MainWindow::resizeEvent(QResizeEvent*) {
+#ifdef Q_WS_MAC
+ if (mac::CanGoFullScreen(winId())) {
+ bool isFullscreen = mac::IsFullScreen(winId());
+ if (isFullscreen != m_fullscreen) {
+ if (compactViewAct->isChecked()) {
+ compactViewAct->setChecked(false);
+ compactView(false);
+ }
+ m_fullscreen = isFullscreen;
+ updateUIForFullscreen();
+ }
+ }
+#endif
+}
+
+void MainWindow::fullscreen() {
+
+ if (compactViewAct->isChecked())
+ compactViewAct->toggle();
+
+#ifdef Q_WS_MAC
+ WId handle = winId();
+ if (mac::CanGoFullScreen(handle)) {
+ mainToolBar->setVisible(true);
+ mac::ToggleFullScreen(handle);
+ return;
+ }
+#endif
+
+ m_fullscreen = !m_fullscreen;
+
+ if (m_fullscreen) {
+ // Enter full screen
+
+ m_maximized = isMaximized();
+
+ // save geometry now, if the user quits when in full screen
+ // geometry won't be saved
+ writeSettings();
+
+#ifdef Q_WS_MAC
+ MacSupport::enterFullScreen(this, views);
+#else
+ mainToolBar->hide();
+ showFullScreen();
+#endif
+
+ } else {
+ // Exit full screen
+
+#ifdef Q_WS_MAC
+ MacSupport::exitFullScreen(this, views);
+#else
+ mainToolBar->show();
+ if (m_maximized) showMaximized();
+ else showNormal();
+#endif
+
+ // Make sure the window has focus
+ activateWindow();
+
+ }
+
+ updateUIForFullscreen();
+
+}
+
+void MainWindow::updateUIForFullscreen() {
+ static QList<QKeySequence> fsShortcuts;
+ static QString fsText;
+
+ if (m_fullscreen) {
+ fsShortcuts = fullscreenAct->shortcuts();
+ fsText = fullscreenAct->text();
+ fullscreenAct->setShortcuts(QList<QKeySequence>(fsShortcuts)
+ << QKeySequence(Qt::Key_Escape));
+ fullscreenAct->setText(tr("Leave &Full Screen"));
+ } else {
+ fullscreenAct->setShortcuts(fsShortcuts);
+ fullscreenAct->setText(fsText);
+ }
+
+ // No compact view action when in full screen
+ compactViewAct->setVisible(!m_fullscreen);
+ compactViewAct->setChecked(false);
+
+ // Hide anything but the video
+ mediaView->setPlaylistVisible(!m_fullscreen);
+ statusBar()->setVisible(!m_fullscreen);
+
+#ifndef APP_MAC
+ menuBar()->setVisible(!m_fullscreen);
+#endif
+
+ if (m_fullscreen) {
+ stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
+ } else {
+ stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
+ }
+
+#ifdef Q_WS_MAC
+ MacSupport::fullScreenActions(The::globalActions()->values(), m_fullscreen);
+#endif
+
+ if (views->currentWidget() == mediaView)
+ mediaView->setFocus();
+
+ if (m_fullscreen) {
+ hideMouse();
+ } else {
+ mouseTimer->stop();
+ unsetCursor();
+ }
+}
+
+void MainWindow::compactView(bool enable) {
+
+ static QList<QKeySequence> compactShortcuts;
+ static QList<QKeySequence> stopShortcuts;
+
+ const static QString key = "compactGeometry";
+ QSettings settings;
+
+#ifndef APP_MAC
+ menuBar()->setVisible(!enable);
+#endif
+
+ if (enable) {
+ setMinimumSize(160, 120);
+#ifdef Q_WS_MAC
+ mac::RemoveFullScreenWindow(winId());
+#endif
+ writeSettings();
+
+ if (settings.contains(key))
+ restoreGeometry(settings.value(key).toByteArray());
+ else
+ resize(320, 240);
+
+ mainToolBar->setVisible(!enable);
+ mediaView->setPlaylistVisible(!enable);
+ statusBar()->setVisible(!enable);
+
+ compactShortcuts = compactViewAct->shortcuts();
+ stopShortcuts = stopAct->shortcuts();
+
+ QList<QKeySequence> newStopShortcuts(stopShortcuts);
+ newStopShortcuts.removeAll(QKeySequence(Qt::Key_Escape));
+ stopAct->setShortcuts(newStopShortcuts);
+ compactViewAct->setShortcuts(QList<QKeySequence>(compactShortcuts) << QKeySequence(Qt::Key_Escape));
+
+ // ensure focus does not end up to the search box
+ // as it would steal the Space shortcut
+ mediaView->setFocus();
+
+ } else {
+ // unset minimum size
+ setMinimumSize(0, 0);
+#ifdef Q_WS_MAC
+ mac::SetupFullScreenWindow(winId());
+#endif
+ settings.setValue(key, saveGeometry());
+ mainToolBar->setVisible(!enable);
+ mediaView->setPlaylistVisible(!enable);
+ statusBar()->setVisible(!enable);
+ readSettings();
+
+ compactViewAct->setShortcuts(compactShortcuts);
+ stopAct->setShortcuts(stopShortcuts);
+ }
+
+ // auto float on top
+ floatOnTop(enable);
+}
+
+void MainWindow::searchFocus() {
+ toolbarSearch->selectAll();
+ toolbarSearch->setFocus();
+}
+
+void MainWindow::initPhonon() {
+ // Phonon initialization
+ if (mediaObject) delete mediaObject;
+ if (audioOutput) delete audioOutput;
+ mediaObject = new Phonon::MediaObject(this);
+ mediaObject->setTickInterval(100);
+ connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
+ 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)));
+ seekSlider->setMediaObject(mediaObject);
+ 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);
+}
+
+void MainWindow::tick(qint64 time) {
+ if (time <= 0) {
+ // the "if" is important because tick is continually called
+ // and we don't want to paint the toolbar every 100ms
+ if (!currentTime->text().isEmpty()) currentTime->clear();
+ return;
+ }
+
+ currentTime->setText(formatTime(time));
+
+ // remaining time
+ const qint64 remainingTime = mediaObject->remainingTime();
+ currentTime->setStatusTip(tr("Remaining time: %1").arg(formatTime(remainingTime)));
+
+ /*
+ slider->blockSignals(true);
+ slider->setValue(time/1000);
+ slider->blockSignals(false);
+ */
+}
+
+void MainWindow::totalTimeChanged(qint64 time) {
+ if (time <= 0) {
+ totalTime->clear();
+ return;
+ }
+ totalTime->setText(formatTime(time));
+
+ /*
+ slider->blockSignals(true);
+ slider->setMaximum(time/1000);
+ slider->blockSignals(false);
+ */
+
+}
+
+QString MainWindow::formatTime(qint64 time) {
+ QTime displayTime;
+ displayTime = displayTime.addMSecs(time);
+ QString timeString;
+ // 60 * 60 * 1000 = 3600000
+ if (time > 3600000)
+ timeString = displayTime.toString("h:mm:ss");
+ else
+ timeString = displayTime.toString("m:ss");
+ return timeString;
+}
+
+void MainWindow::volumeUp() {
+ qreal newVolume = volumeSlider->audioOutput()->volume() + .1;
+ if (newVolume > volumeSlider->maximumVolume())
+ newVolume = volumeSlider->maximumVolume();
+ volumeSlider->audioOutput()->setVolume(newVolume);
+}
+
+void MainWindow::volumeDown() {
+ qreal newVolume = volumeSlider->audioOutput()->volume() - .1;
+ if (newVolume < 0)
+ newVolume = 0;
+ volumeSlider->audioOutput()->setVolume(newVolume);
+}
+
+void MainWindow::volumeMute() {
+ volumeSlider->audioOutput()->setMuted(!volumeSlider->audioOutput()->isMuted());
+}
+
+void MainWindow::volumeChanged(qreal newVolume) {
+ // automatically unmute when volume changes
+ if (volumeSlider->audioOutput()->isMuted())
+ volumeSlider->audioOutput()->setMuted(false);
+ statusBar()->showMessage(tr("Volume at %1%").arg((int)(newVolume*100)));
+}
+
+void MainWindow::volumeMutedChanged(bool muted) {
+ if (muted) {
+ volumeMuteAct->setIcon(Utils::icon("audio-volume-muted"));
+ statusBar()->showMessage(tr("Volume is muted"));
+ } else {
+ volumeMuteAct->setIcon(Utils::icon("audio-volume-high"));
+ statusBar()->showMessage(tr("Volume is unmuted"));
+ }
+}
+
+void MainWindow::setDefinitionMode(QString definitionName) {
+ QAction *definitionAct = The::globalActions()->value("definition");
+ definitionAct->setText(definitionName);
+ definitionAct->setStatusTip(tr("Maximum video definition set to %1").arg(definitionAct->text())
+ + " (" + definitionAct->shortcut().toString(QKeySequence::NativeText) + ")");
+ statusBar()->showMessage(definitionAct->statusTip());
+ QSettings settings;
+ settings.setValue("definition", definitionName);
+}
+
+void MainWindow::toggleDefinitionMode() {
+ QSettings settings;
+ QString currentDefinition = settings.value("definition").toString();
+ QStringList definitionNames = VideoDefinition::getDefinitionNames();
+ int currentIndex = definitionNames.indexOf(currentDefinition);
+ int nextIndex = 0;
+ if (currentIndex != definitionNames.size() - 1) {
+ nextIndex = currentIndex + 1;
+ }
+ QString nextDefinition = definitionNames.at(nextIndex);
+ setDefinitionMode(nextDefinition);
+}
+
+void MainWindow::showFullscreenToolbar(bool show) {
+ if (!m_fullscreen) return;
+ mainToolBar->setVisible(show);
+}
+
+void MainWindow::showFullscreenPlaylist(bool show) {
+ if (!m_fullscreen) return;
+ mediaView->setPlaylistVisible(show);
+}
+
+void MainWindow::clearRecentKeywords() {
+ QSettings settings;
+ settings.remove("recentKeywords");
+ settings.remove("recentChannels");
+ if (views->currentWidget() == homeView) {
+ SearchView *searchView = homeView->getSearchView();
+ searchView->updateRecentKeywords();
+ searchView->updateRecentChannels();
+ }
+ QAbstractNetworkCache *cache = The::networkAccessManager()->cache();
+ if (cache) cache->clear();
+ showMessage(tr("Your privacy is now safe"));
+}
+
+void MainWindow::setManualPlay(bool enabled) {
+ QSettings settings;
+ settings.setValue("manualplay", QVariant::fromValue(enabled));
+ showActionInStatusBar(The::globalActions()->value("manualplay"), enabled);
+}
+
+void MainWindow::updateDownloadMessage(QString message) {
+ The::globalActions()->value("downloads")->setText(message);
+}
+
+void MainWindow::downloadsFinished() {
+ The::globalActions()->value("downloads")->setText(tr("&Downloads"));
+ statusBar()->showMessage(tr("Downloads complete"));
+}
+
+void MainWindow::toggleDownloads(bool show) {
+
+ if (show) {
+ stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
+ The::globalActions()->value("downloads")->setShortcuts(
+ QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J)
+ << QKeySequence(Qt::Key_Escape));
+ } else {
+ The::globalActions()->value("downloads")->setShortcuts(
+ QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J));
+ stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
+ }
+
+ if (!downloadView) {
+ downloadView = new DownloadView(this);
+ views->addWidget(downloadView);
+ }
+ if (show) showWidget(downloadView);
+ else goBack();
+}
+
+void MainWindow::startToolbarSearch(QString query) {
+ query = query.trimmed();
+
+ // check for empty query
+ if (query.length() == 0) {
+ return;
+ }
+
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setKeywords(query);
+
+ // go!
+ showMedia(searchParams);
+}
+
+void MainWindow::dragEnterEvent(QDragEnterEvent *event) {
+ if (event->mimeData()->hasFormat("text/uri-list")) {
+ QList<QUrl> urls = event->mimeData()->urls();
+ if (urls.isEmpty())
+ return;
+ QUrl url = urls.first();
+ QString videoId = YTSearch::videoIdFromUrl(url.toString());
+ if (!videoId.isNull())
+ event->acceptProposedAction();
+ }
+}
+
+void MainWindow::dropEvent(QDropEvent *event) {
+ QList<QUrl> urls = event->mimeData()->urls();
+ if (urls.isEmpty())
+ return;
+ QUrl url = urls.first();
+ QString videoId = YTSearch::videoIdFromUrl(url.toString());
+ if (!videoId.isNull()) {
+ setWindowTitle(url.toString());
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setKeywords(videoId);
+ showMedia(searchParams);
+ }
+}
+
+void MainWindow::checkForUpdate() {
+ static const QString updateCheckKey = "updateCheck";
+
+ // check every 24h
+ QSettings settings;
+ uint unixTime = QDateTime::currentDateTime().toTime_t();
+ int lastCheck = settings.value(updateCheckKey).toInt();
+ int secondsSinceLastCheck = unixTime - lastCheck;
+ // qDebug() << "secondsSinceLastCheck" << unixTime << lastCheck << secondsSinceLastCheck;
+ if (secondsSinceLastCheck < 86400) return;
+
+ // check it out
+ if (updateChecker) delete updateChecker;
+ updateChecker = new UpdateChecker();
+ connect(updateChecker, SIGNAL(newVersion(QString)),
+ this, SLOT(gotNewVersion(QString)));
+ updateChecker->checkForUpdate();
+ settings.setValue(updateCheckKey, unixTime);
+}
+
+void MainWindow::gotNewVersion(QString version) {
+ if (updateChecker) {
+ delete updateChecker;
+ updateChecker = 0;
+ }
+
+ QSettings settings;
+ QString checkedVersion = settings.value("checkedVersion").toString();
+ if (checkedVersion == version) return;
+
+#ifdef APP_SIMPLEUPDATE
+ simpleUpdateDialog(version);
+#elif defined(APP_ACTIVATION) && !defined(APP_MAC)
+ UpdateDialog *dialog = new UpdateDialog(version, this);
+ dialog->show();
+#endif
+}
+
+void MainWindow::simpleUpdateDialog(QString version) {
+ QMessageBox msgBox(this);
+ msgBox.setIconPixmap(
+ QPixmap(":/images/app.png")
+ .scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+ msgBox.setText(tr("%1 version %2 is now available.").arg(Constants::NAME, version));
+ msgBox.setModal(true);
+ msgBox.setWindowModality(Qt::WindowModal);
+ msgBox.addButton(QMessageBox::Close);
+ QPushButton* laterButton = msgBox.addButton(tr("Remind me later"), QMessageBox::RejectRole);
+ QPushButton* updateButton = msgBox.addButton(tr("Update"), QMessageBox::AcceptRole);
+ msgBox.exec();
+ if (msgBox.clickedButton() != laterButton) {
+ QSettings settings;
+ settings.setValue("checkedVersion", version);
+ }
+ if (msgBox.clickedButton() == updateButton) visitSite();
+}
+
+void MainWindow::floatOnTop(bool onTop) {
+ showActionInStatusBar(The::globalActions()->value("ontop"), onTop);
+#ifdef APP_MAC
+ mac::floatOnTop(winId(), onTop);
+ return;
+#endif
+ if (onTop) {
+ setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
+ show();
+ } else {
+ setWindowFlags(windowFlags() ^ Qt::WindowStaysOnTopHint);
+ show();
+ }
+}
+
+void MainWindow::restore() {
+#ifdef APP_MAC
+ mac::uncloseWindow(window()->winId());
+#endif
+}
+
+void MainWindow::messageReceived(const QString &message) {
+ if (message == QLatin1String("--toggle-playing")) {
+ if (pauseAct->isEnabled()) pauseAct->trigger();
+ } else if (message == QLatin1String("--next")) {
+ if (skipAct->isEnabled()) skipAct->trigger();
+ } else if (message == QLatin1String("--previous")) {
+ if (skipBackwardAct->isEnabled()) skipBackwardAct->trigger();
+ } else if (message.startsWith("--")) {
+ MainWindow::printHelp();
+ } else if (!message.isEmpty()) {
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setKeywords(message);
+ showMedia(searchParams);
+ }
+}
+
+void MainWindow::hideMouse() {
+ setCursor(Qt::BlankCursor);
+ mediaView->setPlaylistVisible(false);
+#ifndef APP_MAC
+ mainToolBar->setVisible(false);
+#endif
+}
+
+void MainWindow::printHelp() {
+ QString msg = QString("%1 %2\n\n").arg(Constants::NAME, Constants::VERSION);
+ msg += "Usage: minitube [options]\n";
+ msg += "Options:\n";
+ msg += " --toggle-playing\t";
+ msg += "Start or pause playback.\n";
+ msg += " --next\t\t";
+ msg += "Skip to the next video.\n";
+ msg += " --previous\t\t";
+ msg += "Go back to the previous video.\n";
+ std::cout << msg.toLocal8Bit().data();
+}
+
+void MainWindow::showMessage(QString message) {
+ statusBar()->showMessage(message, 60000);
+}
+
+#ifdef APP_ACTIVATION
+void MainWindow::showActivationView(bool transition) {
+ QWidget *activationView = ActivationView::instance();
+ if (views->currentWidget() == activationView) {
+ buy();
+ return;
+ }
+ views->addWidget(activationView);
+ showWidget(activationView, transition);
+}
+
+void MainWindow::showActivationDialog() {
+ QTimer::singleShot(0, new ActivationDialog(this), SLOT(show()));
+}
+
+void MainWindow::buy() {
+ Extra::buy();
+}
+
+void MainWindow::hideBuyAction() {
+ QAction *action = The::globalActions()->value("buy");
+ action->setVisible(false);
+ action->setEnabled(false);
+}
+#endif
+
+void MainWindow::showRegionsView() {
+ if (!regionsView) {
+ regionsView = new RegionsView(this);
+ connect(regionsView, SIGNAL(regionChanged()),
+ homeView->getStandardFeedsView(), SLOT(load()));
+ views->addWidget(regionsView);
+ }
+ showWidget(regionsView);
+}
--- /dev/null
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QtGui>
+#include <phonon/audiooutput.h>
+#include <phonon/volumeslider.h>
+#include <phonon/mediaobject.h>
+#include <phonon/seekslider.h>
+#include "view.h"
+
+class HomeView;
+class MediaView;
+class DownloadView;
+class SearchLineEdit;
+class UpdateChecker;
+class SearchParams;
+class VideoSource;
+
+class MainWindow : public QMainWindow {
+
+ Q_OBJECT
+
+public:
+ static MainWindow* instance();
+ MainWindow();
+ ~MainWindow();
+ Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
+ void readSettings();
+ void writeSettings();
+ static void printHelp();
+ MediaView* getMediaView() { return mediaView; }
+ QToolButton* getRegionButton() { return regionButton; }
+ QAction* getRegionAction() { return regionAction; }
+
+public slots:
+ void showHome(bool transition = true);
+ void showMedia(SearchParams *params);
+ void showMedia(VideoSource *videoSource);
+ void showRegionsView();
+ void restore();
+ void messageReceived(const QString &message);
+ void quit();
+ void startToolbarSearch(QString query);
+ void goBack();
+ void showMessage(QString message);
+#ifdef APP_ACTIVATION
+ void showActivationView(bool transition = true);
+ void showActivationDialog();
+ void buy();
+ void hideBuyAction();
+#endif
+
+protected:
+ void changeEvent(QEvent *);
+ void closeEvent(QCloseEvent *);
+ bool eventFilter(QObject *obj, QEvent *event);
+ void dragEnterEvent(QDragEnterEvent *event);
+ void dropEvent(QDropEvent *event);
+ void resizeEvent(QResizeEvent *);
+
+private slots:
+ void checkForUpdate();
+ void gotNewVersion(QString version);
+ void visitSite();
+ void donate();
+ void reportIssue();
+ void about();
+ void fullscreen();
+ void updateUIForFullscreen();
+ void compactView(bool enable);
+ void stop();
+ void stateChanged(Phonon::State newState, Phonon::State oldState);
+ void searchFocus();
+ void tick(qint64 time);
+ void totalTimeChanged(qint64 time);
+ void setDefinitionMode(QString definitionName);
+ void toggleDefinitionMode();
+ void clearRecentKeywords();
+
+ // volume shortcuts
+ void volumeUp();
+ void volumeDown();
+ void volumeMute();
+ void volumeChanged(qreal newVolume);
+ void volumeMutedChanged(bool muted);
+
+ // fullscreen toolbar
+ void showFullscreenToolbar(bool show);
+ void showFullscreenPlaylist(bool show);
+
+ void setManualPlay(bool enabled);
+ void updateDownloadMessage(QString);
+ void downloadsFinished();
+ void toggleDownloads(bool show);
+
+ void floatOnTop(bool);
+ void showActionInStatusBar(QAction*, bool show);
+ void showStopAfterThisInStatusBar(bool show);
+
+ void hideMouse();
+
+private:
+ void initPhonon();
+ void createActions();
+ void createMenus();
+ void createToolBars();
+ void createStatusBar();
+ void showWidget(QWidget*, bool transition = true);
+ static QString formatTime(qint64 time);
+ bool confirmQuit();
+ void simpleUpdateDialog(QString version);
+
+ UpdateChecker *updateChecker;
+
+ // view mechanism
+ QStackedWidget *views;
+ QStack<QWidget*> *history;
+
+ // view widgets
+ HomeView *homeView;
+ MediaView *mediaView;
+ QWidget *aboutView;
+ QWidget *downloadView;
+ QWidget *regionsView;
+
+ // actions
+ QAction *addGadgetAct;
+ QAction *backAct;
+ QAction *quitAct;
+ QAction *siteAct;
+ QAction *donateAct;
+ QAction *aboutAct;
+ QAction *searchFocusAct;
+
+ // media actions
+ QAction *skipBackwardAct;
+ QAction *skipAct;
+ QAction *pauseAct;
+ QAction *stopAct;
+ QAction *fullscreenAct;
+ QAction *compactViewAct;
+ QAction *webPageAct;
+ QAction *copyPageAct;
+ QAction *copyLinkAct;
+ QAction *volumeUpAct;
+ QAction *volumeDownAct;
+ QAction *volumeMuteAct;
+ QAction *findVideoPartsAct;
+
+ // playlist actions
+ QAction *removeAct;
+ QAction *moveDownAct;
+ QAction *moveUpAct;
+ QAction *fetchMoreAct;
+ QAction *clearAct;
+
+ // menus
+ QMenu *fileMenu;
+ QMenu *viewMenu;
+ QMenu *playlistMenu;
+ QMenu *helpMenu;
+
+ // toolbar & statusbar
+ QToolBar *mainToolBar;
+ SearchLineEdit *toolbarSearch;
+ QToolBar *statusToolBar;
+ QToolButton *regionButton;
+ QAction *regionAction;
+
+ // phonon
+ Phonon::SeekSlider *seekSlider;
+ Phonon::VolumeSlider *volumeSlider;
+ Phonon::MediaObject *mediaObject;
+ Phonon::AudioOutput *audioOutput;
+ QLabel *currentTime;
+ QLabel *totalTime;
+
+ // fullscreen
+ bool m_fullscreen;
+ bool m_maximized;
+ QTimer *mouseTimer;
+};
+
+#endif
--- /dev/null
+#include "mediaview.h"
+#include "playlistmodel.h"
+#include "playlistview.h"
+#include "loadingwidget.h"
+#include "videoareawidget.h"
+#include "networkaccess.h"
+#include "videowidget.h"
+#include "minisplitter.h"
+#include "constants.h"
+#include "downloadmanager.h"
+#include "downloaditem.h"
+#include "mainwindow.h"
+#include "temporary.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
+#include "videosource.h"
+#include "ytsearch.h"
+#include "searchparams.h"
+#include "ytsinglevideosource.h"
+
+namespace The {
+NetworkAccess* http();
+QHash<QString, QAction*>* globalActions();
+QMap<QString, QMenu*>* globalMenus();
+QNetworkAccessManager* networkAccessManager();
+}
+
+MediaView* MediaView::instance() {
+ static MediaView *i = new MediaView();
+ return i;
+}
+
+MediaView::MediaView(QWidget *parent) : QWidget(parent) {
+ reallyStopped = false;
+ downloadItem = 0;
+
+ 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
+ connect(playlistView, SIGNAL(activated(const QModelIndex &)),
+ SLOT(itemActivated(const QModelIndex &)));
+
+ playlistModel = new PlaylistModel();
+ connect(playlistModel, SIGNAL(activeRowChanged(int)),
+ SLOT(activeRowChanged(int)));
+ // needed to restore the selection after dragndrop
+ connect(playlistModel, SIGNAL(needSelectionFor(QList<Video*>)),
+ SLOT(selectVideos(QList<Video*>)));
+ playlistView->setModel(playlistModel);
+
+ connect(playlistView->selectionModel(),
+ SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+ SLOT(selectionChanged(const QItemSelection &, const QItemSelection &)));
+
+ connect(playlistView, SIGNAL(authorPushed(QModelIndex)), SLOT(authorPushed(QModelIndex)));
+
+ sidebar = new SidebarWidget(this);
+ sidebar->setPlaylist(playlistView);
+ connect(sidebar->getRefineSearchWidget(), SIGNAL(searchRefined()),
+ SLOT(searchAgain()));
+ connect(playlistModel, SIGNAL(haveSuggestions(const QStringList &)),
+ sidebar, SLOT(showSuggestions(const QStringList &)));
+ connect(sidebar, SIGNAL(suggestionAccepted(QString)),
+ MainWindow::instance(), SLOT(startToolbarSearch(QString)));
+ splitter->addWidget(sidebar);
+
+ videoAreaWidget = new VideoAreaWidget(this);
+ videoAreaWidget->setMinimumSize(320,240);
+ videoWidget = new Phonon::VideoWidget(this);
+ videoAreaWidget->setVideoWidget(videoWidget);
+ videoAreaWidget->setListModel(playlistModel);
+
+ loadingWidget = new LoadingWidget(this);
+ videoAreaWidget->setLoadingWidget(loadingWidget);
+
+ splitter->addWidget(videoAreaWidget);
+
+ layout->addWidget(splitter);
+
+ splitter->setStretchFactor(0, 1);
+ splitter->setStretchFactor(1, 5);
+
+ // restore splitter state
+ QSettings settings;
+ splitter->restoreState(settings.value("splitter").toByteArray());
+
+ errorTimer = new QTimer(this);
+ errorTimer->setSingleShot(true);
+ errorTimer->setInterval(3000);
+ connect(errorTimer, SIGNAL(timeout()), SLOT(skipVideo()));
+
+#ifdef APP_ACTIVATION
+ demoTimer = new QTimer(this);
+ demoTimer->setSingleShot(true);
+ 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)));
+}
+
+void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
+ this->mediaObject = mediaObject;
+ Phonon::createPath(mediaObject, videoWidget);
+ 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()));
+}
+
+SearchParams* MediaView::getSearchParams() {
+ VideoSource *videoSource = playlistModel->getVideoSource();
+ if (videoSource && videoSource->metaObject()->className() == QLatin1String("YTSearch")) {
+ YTSearch *search = dynamic_cast<YTSearch *>(videoSource);
+ return search->getSearchParams();
+ }
+ return 0;
+}
+
+void MediaView::search(SearchParams *searchParams) {
+ if (!searchParams->keywords().isEmpty()) {
+ if (searchParams->keywords().startsWith("http://") ||
+ searchParams->keywords().startsWith("https://")) {
+ QString videoId = YTSearch::videoIdFromUrl(searchParams->keywords());
+ if (!videoId.isEmpty()) {
+ YTSingleVideoSource *singleVideoSource = new YTSingleVideoSource(this);
+ singleVideoSource->setVideoId(videoId);
+ setVideoSource(singleVideoSource);
+ return;
+ }
+ }
+ }
+ setVideoSource(new YTSearch(searchParams, this));
+}
+
+void MediaView::setVideoSource(VideoSource *videoSource, bool addToHistory) {
+ reallyStopped = false;
+
+#ifdef APP_ACTIVATION
+ demoTimer->stop();
+#endif
+ errorTimer->stop();
+
+ 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;
+ }
+ }
+ history.append(videoSource);
+ }
+
+ playlistModel->setVideoSource(videoSource);
+
+ sidebar->showPlaylist();
+ sidebar->getRefineSearchWidget()->setSearchParams(getSearchParams());
+ sidebar->hideSuggestions();
+ sidebar->getHeader()->updateInfo();
+
+ SearchParams *searchParams = getSearchParams();
+ bool isChannel = searchParams && !searchParams->author().isEmpty();
+ playlistView->setClickableAuthors(!isChannel);
+
+ The::globalActions()->value("related-videos")->setEnabled(true);
+}
+
+void MediaView::searchAgain() {
+ VideoSource *currentVideoSource = playlistModel->getVideoSource();
+ setVideoSource(currentVideoSource, false);
+}
+
+bool MediaView::canGoBack() {
+ return getHistoryIndex() > 0;
+}
+
+void MediaView::goBack() {
+ if (history.size() > 1) {
+ int currentIndex = getHistoryIndex();
+ if (currentIndex > 0) {
+ VideoSource *previousVideoSource = history.at(currentIndex - 1);
+ setVideoSource(previousVideoSource, false);
+ }
+ }
+}
+
+bool MediaView::canGoForward() {
+ int currentIndex = getHistoryIndex();
+ return currentIndex >= 0 && currentIndex < history.size() - 1;
+}
+
+void MediaView::goForward() {
+ if (canGoForward()) {
+ int currentIndex = getHistoryIndex();
+ VideoSource *nextVideoSource = history.at(currentIndex + 1);
+ setVideoSource(nextVideoSource, false);
+ }
+}
+
+int MediaView::getHistoryIndex() {
+ return history.lastIndexOf(playlistModel->getVideoSource());
+}
+
+void MediaView::appear() {
+ playlistView->setFocus();
+}
+
+void MediaView::disappear() {
+
+}
+
+void MediaView::handleError(QString /* message */) {
+ QTimer::singleShot(500, this, SLOT(startPlaying()));
+}
+
+void MediaView::stateChanged(Phonon::State newState, Phonon::State /*oldState*/) {
+ if (newState == Phonon::PlayingState)
+ videoAreaWidget->showVideo();
+ else if (newState == Phonon::ErrorState) {
+ qDebug() << "Phonon error:" << mediaObject->errorString() << mediaObject->errorType();
+ if (mediaObject->errorType() == Phonon::FatalError)
+ handleError(mediaObject->errorString());
+ }
+}
+
+void MediaView::pause() {
+ switch( mediaObject->state() ) {
+ case Phonon::PlayingState:
+ mediaObject->pause();
+ break;
+ default:
+ mediaObject->play();
+ break;
+ }
+}
+
+QRegExp MediaView::wordRE(QString s) {
+ return QRegExp("\\W" + s + "\\W?", Qt::CaseInsensitive);
+}
+
+void MediaView::stop() {
+ playlistModel->abortSearch();
+ reallyStopped = true;
+ mediaObject->stop();
+ videoAreaWidget->clear();
+ errorTimer->stop();
+ playlistView->selectionModel()->clearSelection();
+ if (downloadItem) {
+ downloadItem->stop();
+ delete downloadItem;
+ downloadItem = 0;
+ }
+ The::globalActions()->value("refine-search")->setChecked(false);
+
+ while (!history.isEmpty()) {
+ VideoSource *videoSource = history.takeFirst();
+ if (!videoSource->parent()) delete videoSource;
+ }
+}
+
+Video* MediaView::getCurrentVideo() {
+ Video *currentVideo = 0;
+ if (downloadItem)
+ currentVideo = downloadItem->getVideo();
+ return currentVideo;
+}
+
+void MediaView::activeRowChanged(int row) {
+ if (reallyStopped) return;
+
+ Video *video = playlistModel->videoAt(row);
+ if (!video) return;
+
+ errorTimer->stop();
+
+ videoAreaWidget->showLoading(video);
+
+ mediaObject->stop();
+ if (downloadItem) {
+ downloadItem->stop();
+ delete downloadItem;
+ downloadItem = 0;
+ }
+
+ 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());
+
+ // ensure active item is visible
+ if (row != -1) {
+ QModelIndex index = playlistModel->index(row, 0, QModelIndex());
+ playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
+ }
+
+ // 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);
+
+ // see you in gotStreamUrl...
+}
+
+void MediaView::gotStreamUrl(QUrl streamUrl) {
+ if (reallyStopped) return;
+
+ Video *video = static_cast<Video *>(sender());
+ if (!video) {
+ qDebug() << "Cannot get sender in" << __PRETTY_FUNCTION__;
+ return;
+ }
+ video->disconnect(this);
+
+ QString tempFile = Temporary::filename();
+
+ Video *videoCopy = video->clone();
+ if (downloadItem) {
+ downloadItem->stop();
+ delete downloadItem;
+ }
+ 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());
+#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;"
+ "}"
+
+ );
+}
+
+*/
+
+void MediaView::downloadStatusChanged() {
+ switch(downloadItem->status()) {
+ case Downloading:
+ startPlaying();
+ 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());
+#endif
+ break;
+ case Failed:
+ // qDebug() << "Failed";
+ case Idle:
+ // qDebug() << "Idle";
+ break;
+ }
+}
+
+void MediaView::startPlaying() {
+ if (reallyStopped) return;
+ if (!downloadItem) {
+ skip();
+ return;
+ }
+
+ // go!
+ QString source = downloadItem->currentFilename();
+ qDebug() << "Playing" << 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);
+#endif
+
+}
+
+void MediaView::itemActivated(const QModelIndex &index) {
+ if (playlistModel->rowExists(index.row())) {
+
+ // if it's the current video, just rewind and play
+ Video *activeVideo = playlistModel->activeVideo();
+ Video *video = playlistModel->videoAt(index.row());
+ if (activeVideo && video && activeVideo == video) {
+ mediaObject->seek(0);
+ mediaObject->play();
+ } else playlistModel->setActiveRow(index.row());
+
+ // the user doubleclicked on the "Search More" item
+ } else {
+ playlistModel->searchMore();
+ playlistView->selectionModel()->clearSelection();
+ }
+}
+
+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
+ // and not another one
+ if (skippedVideo) {
+ if (playlistModel->activeVideo() != skippedVideo) {
+ qDebug() << "Skip of video canceled";
+ return;
+ }
+ int nextRow = playlistModel->rowForVideo(skippedVideo);
+ nextRow++;
+ if (nextRow == -1) return;
+ playlistModel->setActiveRow(nextRow);
+ }
+}
+
+void MediaView::skip() {
+ int nextRow = playlistModel->nextRow();
+ if (nextRow == -1) return;
+ playlistModel->setActiveRow(nextRow);
+}
+
+void MediaView::skipBackward() {
+ int prevRow = playlistModel->previousRow();
+ if (prevRow == -1) return;
+ playlistModel->setActiveRow(prevRow);
+}
+
+void MediaView::aboutToFinish() {
+ qint64 currentTime = mediaObject->currentTime();
+ qDebug() << __PRETTY_FUNCTION__ << currentTime;
+ if (currentTime + 10000 < mediaObject->totalTime()) {
+ // mediaObject->seek(mediaObject->currentTime());
+ // QTimer::singleShot(500, this, SLOT(playbackResume()));
+ mediaObject->seek(currentTime);
+ mediaObject->play();
+ }
+}
+
+void MediaView::playbackFinished() {
+ const int totalTime = mediaObject->totalTime();
+ const int currentTime = mediaObject->currentTime();
+ qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime() << totalTime;
+ // add 10 secs for imprecise Phonon backends (VLC, Xine)
+ if (currentTime > 0 && currentTime + 10000 < totalTime) {
+ // mediaObject->seek(currentTime);
+ QTimer::singleShot(500, this, SLOT(playbackResume()));
+ } else {
+ QAction* stopAfterThisAction = The::globalActions()->value("stopafterthis");
+ if (stopAfterThisAction->isChecked()) {
+ stopAfterThisAction->setChecked(false);
+ } else skip();
+ }
+}
+
+void MediaView::playbackResume() {
+ qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
+ mediaObject->seek(mediaObject->currentTime());
+ mediaObject->play();
+}
+
+void MediaView::openWebPage() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ mediaObject->pause();
+ QDesktopServices::openUrl(video->webpage());
+}
+
+void MediaView::copyWebPage() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ QString address = video->webpage().toString();
+ QApplication::clipboard()->setText(address);
+ QString message = tr("You can now paste the YouTube link into another application");
+ MainWindow::instance()->showMessage(message);
+}
+
+void MediaView::copyVideoLink() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ QApplication::clipboard()->setText(video->getStreamUrl().toEncoded());
+ QString message = tr("You can now paste the video stream URL into another application")
+ + ". " + tr("The link will be valid only for a limited time.");
+ MainWindow::instance()->showMessage(message);
+}
+
+void MediaView::removeSelected() {
+ if (!playlistView->selectionModel()->hasSelection()) return;
+ QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
+ playlistModel->removeIndexes(indexes);
+}
+
+void MediaView::selectVideos(QList<Video*> videos) {
+ foreach (Video *video, videos) {
+ QModelIndex index = playlistModel->indexForVideo(video);
+ playlistView->selectionModel()->select(index, QItemSelectionModel::Select);
+ playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
+ }
+}
+
+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);
+ The::globalActions()->value("moveDown")->setEnabled(gotSelection);
+}
+
+void MediaView::moveUpSelected() {
+ if (!playlistView->selectionModel()->hasSelection()) return;
+
+ QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
+ qStableSort(indexes.begin(), indexes.end());
+ playlistModel->move(indexes, true);
+
+ // 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);
+}
+
+void MediaView::moveDownSelected() {
+ if (!playlistView->selectionModel()->hasSelection()) return;
+
+ QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
+ 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)
+ int row = indexes.first().row()+1, max = playlistModel->rowCount() - 2;
+ playlistView->selectionModel()->setCurrentIndex(playlistModel->index(row>max?max:row), QItemSelectionModel::NoUpdate);
+}
+
+void MediaView::setPlaylistVisible(bool visible) {
+ if (splitter->widget(0)->isVisible() == visible) return;
+ splitter->widget(0)->setVisible(visible);
+ playlistView->setFocus();
+}
+
+bool MediaView::isPlaylistVisible() {
+ return splitter->widget(0)->isVisible();
+}
+
+void MediaView::saveSplitterState() {
+ QSettings settings;
+ settings.setValue("splitter", splitter->saveState());
+}
+
+#ifdef APP_ACTIVATION
+
+static QPushButton *continueButton;
+
+void MediaView::demoMessage() {
+ if (mediaObject->state() != Phonon::PlayingState) return;
+ mediaObject->pause();
+
+ QMessageBox msgBox(this);
+ msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+ msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
+ msgBox.setInformativeText(tr("It allows you to test the application and see if it works for you."));
+ msgBox.setModal(true);
+ // make it a "sheet" on the Mac
+ msgBox.setWindowModality(Qt::WindowModal);
+
+ continueButton = msgBox.addButton("5", QMessageBox::RejectRole);
+ continueButton->setEnabled(false);
+ QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
+
+ QTimeLine *timeLine = new QTimeLine(6000, this);
+ timeLine->setCurveShape(QTimeLine::LinearCurve);
+ timeLine->setFrameRange(5, 0);
+ connect(timeLine, SIGNAL(frameChanged(int)), SLOT(updateContinueButton(int)));
+ timeLine->start();
+
+ msgBox.exec();
+
+ if (msgBox.clickedButton() == buyButton) {
+ MainWindow::instance()->showActivationView();
+ } else {
+ mediaObject->play();
+ demoTimer->start(600000);
+ }
+
+ delete timeLine;
+
+}
+
+void MediaView::updateContinueButton(int value) {
+ if (value == 0) {
+ continueButton->setText(tr("Continue"));
+ continueButton->setEnabled(true);
+ } else {
+ continueButton->setText(QString::number(value));
+ }
+}
+
+#endif
+
+void MediaView::downloadVideo() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ DownloadManager::instance()->addItem(video);
+ The::globalActions()->value("downloads")->setVisible(true);
+ QString message = tr("Downloading %1").arg(video->title());
+ MainWindow::instance()->showMessage(message);
+}
+
+void MediaView::snapshot() {
+ QImage image = videoWidget->snapshot();
+ qDebug() << image.size();
+
+ const QPixmap& pixmap = QPixmap::grabWindow(videoWidget->winId());
+ // 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::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);
+ } else {
+ seekTo(value);
+ }
+}
+
+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);
+
+}
+
+*/
+
+void MediaView::findVideoParts() {
+
+ // parts
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+
+ QString query = video->title();
+
+ static QString optionalSpace = "\\s*";
+ static QString staticCounterSeparators = "[\\/\\-]";
+ QString counterSeparators = "( of | " +
+ tr("of", "Used in video parts, as in '2 of 3'") +
+ " |" + staticCounterSeparators + ")";
+
+ // numbers from 1 to 15
+ static QString counterNumber = "([1-9]|1[0-5])";
+
+ // query.remove(QRegExp(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'") +
+ optionalSpace + counterNumber));
+ query.remove(QRegExp("[\\(\\)\\[\\]]"));
+
+#define NUMBERS "one|two|three|four|five|six|seven|eight|nine|ten"
+
+ QRegExp englishNumberRE = QRegExp(QLatin1String(".*(") + NUMBERS + ").*", Qt::CaseInsensitive);
+ // bool numberAsWords = englishNumberRE.exactMatch(query);
+ query.remove(englishNumberRE);
+
+ QRegExp localizedNumberRE = QRegExp(QLatin1String(".*(") + tr(NUMBERS) + ").*", Qt::CaseInsensitive);
+ // if (!numberAsWords) numberAsWords = localizedNumberRE.exactMatch(query);
+ query.remove(localizedNumberRE);
+
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setTransient(true);
+ searchParams->setKeywords(query);
+ searchParams->setAuthor(video->author());
+
+ /*
+ if (!numberAsWords) {
+ qDebug() << "We don't have number as words";
+ // searchParams->setSortBy(SearchParams::SortByNewest);
+ // TODO searchParams->setReverseOrder(true);
+ // TODO searchParams->setMax(50);
+ }
+ */
+
+ search(searchParams);
+
+}
+
+void MediaView::relatedVideos() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ YTSingleVideoSource *singleVideoSource = new YTSingleVideoSource();
+ singleVideoSource->setVideoId(video->id());
+ setVideoSource(singleVideoSource);
+ The::globalActions()->value("related-videos")->setEnabled(false);
+}
+
+void MediaView::shareViaTwitter() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ QUrl url("https://twitter.com/intent/tweet");
+ url.addQueryItem("via", "minitubeapp");
+ url.addQueryItem("text", video->title());
+ url.addQueryItem("url", video->webpage().toString());
+ QDesktopServices::openUrl(url);
+}
+
+void MediaView::shareViaFacebook() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ QUrl url("https://www.facebook.com/sharer.php");
+ url.addQueryItem("t", video->title());
+ url.addQueryItem("u", video->webpage().toString());
+ QDesktopServices::openUrl(url);
+}
+
+void MediaView::shareViaBuffer() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ QUrl url("http://bufferapp.com/add");
+ url.addQueryItem("via", "minitubeapp");
+ url.addQueryItem("text", video->title());
+ url.addQueryItem("url", video->webpage().toString());
+ url.addQueryItem("picture", video->thumbnailUrl());
+ QDesktopServices::openUrl(url);
+}
+
+void MediaView::shareViaEmail() {
+ Video* video = playlistModel->activeVideo();
+ if (!video) return;
+ QUrl url("mailto:");
+ url.addQueryItem("subject", video->title());
+ QString body = video->title() + "\n" +
+ video->webpage().toString() + "\n\n" +
+ tr("Sent from %1").arg(Constants::NAME) + "\n" +
+ Constants::WEBSITE;
+ url.addQueryItem("body", body);
+ QDesktopServices::openUrl(url);
+}
+
+void MediaView::authorPushed(QModelIndex index) {
+ Video* video = playlistModel->videoAt(index.row());
+ if (!video) return;
+
+ QString channel = video->authorUri();
+ if (channel.isEmpty()) channel = video->author();
+ if (channel.isEmpty()) return;
+
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setAuthor(channel);
+ searchParams->setSortBy(SearchParams::SortByNewest);
+
+ // go!
+ search(searchParams);
+}
--- /dev/null
+#ifndef __MEDIAVIEW_H__
+#define __MEDIAVIEW_H__
+
+#include <QtGui>
+#include <QtNetwork>
+#include <phonon/mediaobject.h>
+#include <phonon/videowidget.h>
+#include <phonon/seekslider.h>
+#include "view.h"
+
+class Video;
+class PlaylistModel;
+class SearchParams;
+class LoadingWidget;
+class VideoAreaWidget;
+class DownloadItem;
+class PlaylistView;
+class SidebarWidget;
+class VideoSource;
+
+namespace The {
+ QHash<QString, QAction*>* globalActions();
+}
+
+class MediaView : public QWidget, public View {
+
+ Q_OBJECT
+
+public:
+ static MediaView* instance();
+ void initialize();
+
+ void appear();
+ void disappear();
+
+ void setMediaObject(Phonon::MediaObject *mediaObject);
+ const QList<VideoSource*> & getHistory() { return history; }
+ int getHistoryIndex();
+ PlaylistModel* getPlaylistModel() { return playlistModel; }
+ Video* getCurrentVideo();
+
+public slots:
+ void search(SearchParams *searchParams);
+ void setVideoSource(VideoSource *videoSource, bool addToHistory = true);
+ void pause();
+ void stop();
+ void skip();
+ void skipBackward();
+ void skipVideo();
+ void openWebPage();
+ void copyWebPage();
+ void copyVideoLink();
+ void shareViaTwitter();
+ void shareViaFacebook();
+ void shareViaBuffer();
+ void shareViaEmail();
+ void removeSelected();
+ void moveUpSelected();
+ void moveDownSelected();
+ bool isPlaylistVisible();
+ void setPlaylistVisible(bool visible=true);
+ void saveSplitterState();
+ void downloadVideo();
+ void snapshot();
+ void fullscreen();
+ void findVideoParts();
+ void relatedVideos();
+ bool canGoBack();
+ void goBack();
+ bool canGoForward();
+ void goForward();
+
+private slots:
+ // list/model
+ void itemActivated(const QModelIndex &index);
+ void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
+ void activeRowChanged(int);
+ void selectVideos(QList<Video*> videos);
+ void gotStreamUrl(QUrl streamUrl);
+ 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();
+ void updateContinueButton(int);
+#endif
+ void startPlaying();
+ void downloadStatusChanged();
+ void playbackFinished();
+ void playbackResume();
+ void authorPushed(QModelIndex);
+ void searchAgain();
+
+ /*
+ void downloadProgress(int percent);
+ void sliderMoved(int value);
+ void seekTo(int value);
+ */
+
+private:
+ MediaView(QWidget *parent = 0);
+ SearchParams* getSearchParams();
+ static QRegExp wordRE(QString s);
+
+ QSplitter *splitter;
+ SidebarWidget *sidebar;
+ PlaylistView *playlistView;
+ PlaylistModel *playlistModel;
+ VideoAreaWidget *videoAreaWidget;
+ LoadingWidget *loadingWidget;
+
+ // phonon
+ Phonon::MediaObject *mediaObject;
+ Phonon::VideoWidget *videoWidget;
+
+ bool reallyStopped;
+ QTimer *errorTimer;
+ Video *skippedVideo;
+
+#ifdef APP_ACTIVATION
+ QTimer *demoTimer;
+#endif
+
+ DownloadItem *downloadItem;
+ QList<VideoSource*> history;
+};
+
+#endif // __MEDIAVIEW_H__
#include <QtGui>
namespace The {
- NetworkAccess* http();
+NetworkAccess* http();
}
/*
+ " (" + Constants::WEBSITE + ")";
*/
-const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5";
+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";
-NetworkReply::NetworkReply(QNetworkReply *networkReply) : QObject(networkReply) {
- this->networkReply = networkReply;
+NetworkReply::NetworkReply(QNetworkReply *networkReply) :
+ QObject(networkReply),
+ networkReply(networkReply),
+ retryCount(0) {
- // monitor downloadProgress to impl timeout
- connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
- SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
+ setupReply();
readTimeoutTimer = new QTimer(this);
- readTimeoutTimer->setInterval(5000);
+ readTimeoutTimer->setInterval(10000);
readTimeoutTimer->setSingleShot(true);
- connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()));
+ connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()), Qt::UniqueConnection);
readTimeoutTimer->start();
}
-void NetworkReply::finished() {
- // qDebug() << "Finished" << networkReply->url();
+void NetworkReply::setupReply() {
+ connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
+ SLOT(requestError(QNetworkReply::NetworkError)), Qt::UniqueConnection);
+ connect(networkReply, SIGNAL(finished()),
+ SLOT(finished()), Qt::UniqueConnection);
+ connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
+ SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
+}
- QUrl redirection = networkReply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
+void NetworkReply::finished() {
+ QUrl redirection = networkReply->attribute(
+ QNetworkRequest::RedirectionTargetAttribute).toUrl();
if (redirection.isValid()) {
-
- // qDebug() << "Redirect!"; // << redirection;
-
- QNetworkReply *redirectReply = The::http()->simpleGet(redirection, networkReply->operation());
-
- setParent(redirectReply);
- networkReply->deleteLater();
- networkReply = redirectReply;
-
- // when the request is finished we'll invoke the target method
- connect(networkReply, SIGNAL(finished()), this, SLOT(finished()), Qt::UniqueConnection);
-
- // monitor downloadProgress to impl timeout
- connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
- SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
- readTimeoutTimer->start();
-
- // error signal
- connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
- SLOT(requestError(QNetworkReply::NetworkError)), Qt::UniqueConnection);
-
- connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()), Qt::UniqueConnection);
- readTimeoutTimer->start();
-
- return;
+ if (networkReply->operation() == QNetworkAccessManager::GetOperation
+ || networkReply->operation() == QNetworkAccessManager::HeadOperation) {
+ QNetworkReply *redirectReply =
+ The::http()->request(redirection, networkReply->operation());
+ setParent(redirectReply);
+ networkReply->deleteLater();
+ networkReply = redirectReply;
+ setupReply();
+ readTimeoutTimer->start();
+ return;
+ } else qWarning() << "Redirection not supported" << networkReply->url().toEncoded();
}
- emit data(networkReply->readAll());
- emit finished(networkReply);
+ if (receivers(SIGNAL(data(QByteArray))) > 0)
+ emit data(networkReply->readAll());
+ else if (receivers(SIGNAL(finished(QNetworkReply*))) > 0)
+ emit finished(networkReply);
#ifndef QT_NO_DEBUG_OUTPUT
- if (!networkReply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool()) {
+ if (!networkReply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool())
qDebug() << networkReply->url().toEncoded();
- }
#endif
// bye bye my reply
networkReply->deleteLater();
}
-void NetworkReply::requestError(QNetworkReply::NetworkError /* code */) {
+void NetworkReply::requestError(QNetworkReply::NetworkError code) {
+ qDebug() << networkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()
+ << networkReply->errorString() << code;
emit error(networkReply);
}
-void NetworkReply::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) {
+void NetworkReply::downloadProgress(qint64 bytesReceived, qint64 /* bytesTotal */) {
// qDebug() << "Downloading" << bytesReceived << bytesTotal << networkReply->url();
- if (bytesReceived > 0) {
+ if (bytesReceived > 0 && readTimeoutTimer->isActive()) {
readTimeoutTimer->stop();
disconnect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
this, SLOT(downloadProgress(qint64,qint64)));
}
void NetworkReply::readTimeout() {
- // qDebug() << "HTTP read timeout" << networkReply->url();
networkReply->disconnect();
networkReply->abort();
+ networkReply->deleteLater();
- QNetworkReply *retryReply = The::http()->simpleGet(networkReply->url(), networkReply->operation());
+ if (networkReply->operation() != QNetworkAccessManager::GetOperation
+ || networkReply->operation() != QNetworkAccessManager::HeadOperation) {
+ emit error(networkReply);
+ return;
+ }
+ if (retryCount > 3) {
+ emit error(networkReply);
+ return;
+ }
+ QNetworkReply *retryReply = The::http()->request(networkReply->url(), networkReply->operation());
setParent(retryReply);
- networkReply->deleteLater();
networkReply = retryReply;
-
- // when the request is finished we'll invoke the target method
- connect(networkReply, SIGNAL(finished()), this, SLOT(finished()), Qt::UniqueConnection);
-
- // monitor downloadProgress to impl timeout
- connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
- SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
+ setupReply();
+ retryCount++;
readTimeoutTimer->start();
-
- // error signal
- connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
- SLOT(requestError(QNetworkReply::NetworkError)));
-
- // emit error(networkReply);
}
/* --- NetworkAccess --- */
NetworkAccess::NetworkAccess( QObject* parent) : QObject( parent ) {}
-QNetworkReply* NetworkAccess::manualGet(QNetworkRequest request, int operation) {
+QNetworkRequest NetworkAccess::buildRequest(QUrl url) {
+ QNetworkRequest request(url);
+ request.setRawHeader("User-Agent", USER_AGENT.toUtf8());
+ request.setRawHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
+ request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
+ request.setRawHeader("Accept-Language", "en-us,en;q=0.5");
+ request.setRawHeader("Connection", "Keep-Alive");
+ return request;
+}
+QNetworkReply* NetworkAccess::request(QUrl url, int operation, const QByteArray& body) {
QNetworkAccessManager *manager = The::networkAccessManager();
- // manager->setCookieJar(new QNetworkCookieJar());
+
+ QNetworkRequest request = buildRequest(url);
QNetworkReply *networkReply;
switch (operation) {
case QNetworkAccessManager::GetOperation:
- // qDebug() << "GET" << request.url().toEncoded();
networkReply = manager->get(request);
break;
case QNetworkAccessManager::HeadOperation:
- // qDebug() << "HEAD" << request.url().toEncoded();
networkReply = manager->head(request);
break;
+ case QNetworkAccessManager::PostOperation:
+ if (!body.isEmpty())
+ request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
+ networkReply = manager->post(request, body);
+ break;
+
default:
- qDebug() << "Unknown operation:" << operation;
+ qWarning() << "Unknown operation:" << operation;
return 0;
-
}
- // error handling
- connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
- this, SLOT(error(QNetworkReply::NetworkError)));
-
return networkReply;
}
-QNetworkRequest NetworkAccess::buildRequest(QUrl url) {
- QNetworkRequest request(url);
- request.setRawHeader("User-Agent", USER_AGENT.toUtf8());
- request.setRawHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
- request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
- request.setRawHeader("Accept-Language", "en-us,en;q=0.5");
- request.setRawHeader("Connection", "Keep-Alive");
- return request;
-}
-
-QNetworkReply* NetworkAccess::simpleGet(QUrl url, int operation) {
- return manualGet(buildRequest(url), operation);
-}
-
NetworkReply* NetworkAccess::get(const QUrl url) {
-
- QNetworkReply *networkReply = simpleGet(url);
- NetworkReply *reply = new NetworkReply(networkReply);
-
- // error signal
- connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
- reply, SLOT(requestError(QNetworkReply::NetworkError)));
-
- // when the request is finished we'll invoke the target method
- connect(networkReply, SIGNAL(finished()), reply, SLOT(finished()), Qt::UniqueConnection);
-
- return reply;
-
+ QNetworkReply *networkReply = request(url);
+ return new NetworkReply(networkReply);
}
NetworkReply* NetworkAccess::head(const QUrl url) {
-
- QNetworkReply *networkReply = simpleGet(url, QNetworkAccessManager::HeadOperation);
- NetworkReply *reply = new NetworkReply(networkReply);
-
- // error signal
- connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
- reply, SLOT(requestError(QNetworkReply::NetworkError)));
-
- // when the request is finished we'll invoke the target method
- connect(networkReply, SIGNAL(finished()), reply, SLOT(finished()), Qt::UniqueConnection);
-
- return reply;
-
+ QNetworkReply *networkReply = request(url, QNetworkAccessManager::HeadOperation);
+ return new NetworkReply(networkReply);
}
-void NetworkAccess::error(QNetworkReply::NetworkError code) {
- // get the QNetworkReply that sent the signal
- QNetworkReply *networkReply = static_cast<QNetworkReply *>(sender());
- if (!networkReply) {
- qDebug() << "Cannot get sender";
- return;
+NetworkReply* NetworkAccess::post(const QUrl url, const QMap<QString, QString>& params) {
+ QByteArray body;
+ QMapIterator<QString, QString> i(params);
+ while (i.hasNext()) {
+ i.next();
+ body += QUrl::toPercentEncoding(i.key())
+ + '='
+ + QUrl::toPercentEncoding(i.value())
+ + '&';
}
-
- networkReply->deleteLater();
-
- // Ignore HEADs
- if (networkReply->operation() == QNetworkAccessManager::HeadOperation)
- return;
-
- // report the error in the status bar
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(qApp->topLevelWidgets().first());
- if (mainWindow) mainWindow->statusBar()->showMessage(
- tr("Network error: %1").arg(networkReply->errorString()));
-
- qDebug() << "Network error:" << networkReply->errorString() << code;
+ QNetworkReply *networkReply = request(url, QNetworkAccessManager::PostOperation, body);
+ return new NetworkReply(networkReply);
}
public:
NetworkReply(QNetworkReply* networkReply);
-
-public slots:
- void finished();
- void requestError(QNetworkReply::NetworkError);
- void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
- void readTimeout();
+ QNetworkReply* getNetworkReply() { return networkReply; }
signals:
void data(QByteArray);
void error(QNetworkReply*);
void finished(QNetworkReply*);
+private slots:
+ void finished();
+ void requestError(QNetworkReply::NetworkError);
+ void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
+ void readTimeout();
+
private:
+ void setupReply();
QNetworkReply *networkReply;
QTimer *readTimeoutTimer;
+ int retryCount;
};
Q_OBJECT
public:
- NetworkAccess( QObject* parent=0);
- QNetworkReply* manualGet(QNetworkRequest request, int operation = QNetworkAccessManager::GetOperation);
- QNetworkRequest buildRequest(QUrl url);
- QNetworkReply* simpleGet(QUrl url, int operation = QNetworkAccessManager::GetOperation);
+ NetworkAccess(QObject* parent = 0);
+ QNetworkReply* request(QUrl url,
+ int operation = QNetworkAccessManager::GetOperation,
+ const QByteArray &body = QByteArray());
NetworkReply* get(QUrl url);
NetworkReply* head(QUrl url);
+ NetworkReply* post(QUrl url, const QMap<QString, QString>& params);
-private slots:
- void error(QNetworkReply::NetworkError);
+private:
+ QNetworkRequest buildRequest(QUrl url);
};
+++ /dev/null
-#include "PrettyItemDelegate.h"
-#include "../ListModel.h"
-#include "../fontutils.h"
-#include "../downloaditem.h"
-#include "../iconloader/qticonloader.h"
-#include "../videodefinition.h"
-
-#include <QFontMetricsF>
-#include <QPainter>
-#include <QHash>
-
-const qreal PrettyItemDelegate::THUMB_HEIGHT = 90.0;
-const qreal PrettyItemDelegate::THUMB_WIDTH = 120.0;
-const qreal PrettyItemDelegate::PADDING = 10.0;
-
-QRect lastAuthorRect;
-QHash<int, QRect> authorRects;
-
-PrettyItemDelegate::PrettyItemDelegate(QObject* parent, bool downloadInfo)
- : QStyledItemDelegate(parent),
- downloadInfo(downloadInfo) {
- boldFont.setBold(true);
- smallerBoldFont = FontUtils::smallBold();
- smallerFont = FontUtils::small();
-
- if (downloadInfo) {
- progressBar = new QProgressBar(qApp->activeWindow());
- QPalette palette = progressBar->palette();
- palette.setColor(QPalette::Window, Qt::transparent);
- progressBar->setPalette(palette);
- progressBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
- progressBar->hide();
- } else createPlayIcon();
-}
-
-void PrettyItemDelegate::createPlayIcon() {
- playIcon = QPixmap(THUMB_WIDTH, THUMB_HEIGHT);
- playIcon.fill(Qt::transparent);
- QPainter painter(&playIcon);
- QPolygon polygon;
- polygon << QPoint(PADDING*4, PADDING*2)
- << QPoint(THUMB_WIDTH-PADDING*4, THUMB_HEIGHT/2)
- << QPoint(PADDING*4, THUMB_HEIGHT-PADDING*2);
- painter.setRenderHints(QPainter::Antialiasing, true);
- painter.setBrush(Qt::white);
- QPen pen;
- pen.setColor(Qt::white);
- pen.setWidth(PADDING);
- pen.setJoinStyle(Qt::RoundJoin);
- pen.setCapStyle(Qt::RoundCap);
- painter.setPen(pen);
- painter.drawPolygon(polygon);
-}
-
-PrettyItemDelegate::~PrettyItemDelegate() { }
-
-QSize PrettyItemDelegate::sizeHint( const QStyleOptionViewItem& /*option*/, const QModelIndex& /*index*/ ) const {
- return QSize( 256, THUMB_HEIGHT+1.0);
-}
-
-void PrettyItemDelegate::paint( QPainter* painter,
- const QStyleOptionViewItem& option, const QModelIndex& index ) const {
-
- int itemType = index.data(ItemTypeRole).toInt();
- if (itemType == ItemTypeVideo) {
- QStyleOptionViewItemV4 opt = QStyleOptionViewItemV4(option);
- initStyleOption(&opt, index);
- opt.text = "";
- opt.widget->style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
- paintBody(painter, opt, index);
- } else
- QStyledItemDelegate::paint( painter, option, index );
-
-}
-
-void PrettyItemDelegate::paintBody( QPainter* painter,
- const QStyleOptionViewItem& option,
- const QModelIndex& index ) const {
-
- painter->save();
- painter->translate( option.rect.topLeft() );
-
-
- QRectF 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());
- }
-
- // get the video metadata
- const VideoPointer videoPointer = index.data( VideoRole ).value<VideoPointer>();
- const Video *video = videoPointer.data();
-
- // thumb
- if (!video->thumbnail().isNull()) {
- painter->drawImage(QRect(0, 0, THUMB_WIDTH, THUMB_HEIGHT), video->thumbnail());
-
- // play icon overlayed on the thumb
- if (isActive)
- paintPlayIcon(painter);
-
- // time
- QString timeString;
- int duration = video->duration();
- if ( duration > 3600 )
- timeString = QTime().addSecs(duration).toString("h:mm:ss");
- else
- timeString = QTime().addSecs(duration).toString("m:ss");
- drawTime(painter, timeString, 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);
-
- painter->restore();
-
- if (downloadInfo) paintDownloadInfo(painter, option, index);
-
-}
-
-void PrettyItemDelegate::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 PrettyItemDelegate::paintPlayIcon(QPainter *painter) const {
- painter->save();
- painter->setOpacity(.5);
- painter->drawPixmap(playIcon.rect(), playIcon);
- painter->restore();
-}
-
-void PrettyItemDelegate::drawTime(QPainter *painter, QString time, QRectF line) const {
- static const int timePadding = 4;
- QRectF 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
- textBox.translate(THUMB_WIDTH - textBox.width(), THUMB_HEIGHT - textBox.height());
-
- painter->save();
- painter->setPen(Qt::NoPen);
- painter->setBrush(Qt::black);
- painter->setOpacity(.5);
- painter->drawRect(textBox);
- painter->restore();
-
- painter->save();
- painter->setPen(Qt::white);
- painter->drawText(textBox, Qt::AlignCenter, time);
- painter->restore();
-}
-
-void PrettyItemDelegate::paintDownloadInfo( QPainter* painter,
- const QStyleOptionViewItem& option,
- const QModelIndex& index ) const {
-
- // get the video metadata
- const DownloadItemPointer downloadItemPointer = index.data(DownloadItemRole).value<DownloadItemPointer>();
- const DownloadItem *downloadItem = downloadItemPointer.data();
-
- painter->save();
-
- const QRect line(0, 0, option.rect.width() / 2, option.rect.height());
-
- painter->translate(option.rect.topLeft());
- painter->translate(line.width(), 0);
-
- QString message;
- DownloadItemStatus status = downloadItem->status();
-
- if (status == Downloading) {
- QString downloaded = DownloadItem::formattedFilesize(downloadItem->bytesReceived());
- QString total = DownloadItem::formattedFilesize(downloadItem->bytesTotal());
- QString speed = DownloadItem::formattedSpeed(downloadItem->currentSpeed());
- QString eta = DownloadItem::formattedTime(downloadItem->remainingTime());
-
- message = tr("%1 of %2 (%3) — %4").arg(
- downloaded,
- total,
- speed,
- eta
- );
- } else if (status == Starting) {
- message = tr("Preparing");
- } else if (status == Failed) {
- message = tr("Failed") + " — " + downloadItem->errorMessage();
- } else if (status == Finished) {
- message = tr("Completed");
- } else if (status == Idle) {
- message = tr("Stopped");
- }
-
- // progressBar->setPalette(option.palette);
- if (status == Finished) {
- progressBar->setValue(100);
- progressBar->setEnabled(true);
- } else if (status == Downloading) {
- progressBar->setValue(downloadItem->currentPercent());
- progressBar->setEnabled(true);
- } else {
- progressBar->setValue(0);
- progressBar->setEnabled(false);
- }
-
- int progressBarWidth = line.width() - PADDING*4 - 16;
- progressBar->setMaximumWidth(progressBarWidth);
- progressBar->setMinimumWidth(progressBarWidth);
- painter->save();
- painter->translate(PADDING, PADDING);
- progressBar->render(painter);
- painter->restore();
-
- bool downloadButtonHovered = false;
- bool downloadButtonPressed = false;
- const bool isHovered = index.data(HoveredItemRole).toBool();
- if (isHovered) {
- downloadButtonHovered = index.data(DownloadButtonHoveredRole).toBool();
- downloadButtonPressed = index.data(DownloadButtonPressedRole).toBool();
- }
- QIcon::Mode iconMode;
- if (downloadButtonPressed) iconMode = QIcon::Selected;
- else if (downloadButtonHovered) iconMode = QIcon::Active;
- else iconMode = QIcon::Normal;
-
- if (status != Finished && status != Failed && status != Idle) {
- if (downloadButtonHovered) message = tr("Stop downloading");
- painter->save();
- QIcon closeIcon = QtIconLoader::icon("window-close");
- painter->drawPixmap(downloadButtonRect(line), closeIcon.pixmap(16, 16, iconMode));
- painter->restore();
- }
-
- else if (status == Finished) {
- if (downloadButtonHovered)
-#ifdef APP_MAC
- message = tr("Show in %1").arg("Finder");
-#else
- message = tr("Open parent folder");
-#endif
- painter->save();
- QIcon searchIcon = QtIconLoader::icon("system-search");
- painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
- painter->restore();
- }
-
- else if (status == Failed || status == Idle) {
- if (downloadButtonHovered) message = tr("Restart downloading");
- painter->save();
- QIcon searchIcon = QtIconLoader::icon("view-refresh");
- painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
- painter->restore();
- }
-
- QRectF 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 PrettyItemDelegate::downloadButtonRect(QRect line) const {
- return QRect(
- line.width() - PADDING*2 - 16,
- PADDING + progressBar->sizeHint().height() / 2 - 8,
- 16,
- 16);
-}
-
-QRect PrettyItemDelegate::authorRect(const QModelIndex& index) const {
- return authorRects.value(index.row());
-}
+++ /dev/null
-#ifndef PRETTYITEMDELEGATE_H
-#define PRETTYITEMDELEGATE_H
-
-#include <QModelIndex>
-#include <QStyledItemDelegate>
-
-class QPainter;
-class QProgressBar;
-
-class PrettyItemDelegate : public QStyledItemDelegate {
-
- Q_OBJECT
-
-public:
- PrettyItemDelegate(QObject* parent, bool downloadInfo = false);
- ~PrettyItemDelegate();
-
- QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const;
- void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
- QRect downloadButtonRect(QRect line) const;
- QRect authorRect(const QModelIndex& index) const;
-
-private:
- void createPlayIcon();
- void paintBody( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
- void paintDownloadInfo( QPainter* painter,
- const QStyleOptionViewItem& option,
- 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;
-
- // Paints the video duration
- void drawTime(QPainter *painter, QString time, QRectF line) const;
-
- static const qreal THUMB_WIDTH;
- static const qreal THUMB_HEIGHT;
- static const qreal PADDING;
-
- QPixmap playIcon;
- QFont boldFont;
- QFont smallerFont;
- QFont smallerBoldFont;
-
- bool downloadInfo;
- QProgressBar *progressBar;
-
-};
-
-#endif
--- /dev/null
+#include "playlistitemdelegate.h"
+#include "playlistmodel.h"
+#include "fontutils.h"
+#include "downloaditem.h"
+#include "utils.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;
+
+PlaylistItemDelegate::PlaylistItemDelegate(QObject* parent, bool downloadInfo)
+ : QStyledItemDelegate(parent),
+ downloadInfo(downloadInfo) {
+ boldFont.setBold(true);
+ smallerBoldFont = FontUtils::smallBold();
+ smallerFont = FontUtils::small();
+
+ if (downloadInfo) {
+ progressBar = new QProgressBar(qApp->activeWindow());
+ QPalette palette = progressBar->palette();
+ palette.setColor(QPalette::Window, Qt::transparent);
+ progressBar->setPalette(palette);
+ progressBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
+ progressBar->hide();
+ } else createPlayIcon();
+}
+
+void PlaylistItemDelegate::createPlayIcon() {
+ playIcon = QPixmap(THUMB_WIDTH, THUMB_HEIGHT);
+ playIcon.fill(Qt::transparent);
+ QPainter painter(&playIcon);
+ QPolygon polygon;
+ const int hPadding = PADDING*6;
+ const int vPadding = PADDING*2;
+ 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);
+ pen.setWidth(PADDING);
+ pen.setJoinStyle(Qt::RoundJoin);
+ pen.setCapStyle(Qt::RoundCap);
+ painter.setPen(pen);
+ painter.drawPolygon(polygon);
+}
+
+PlaylistItemDelegate::~PlaylistItemDelegate() { }
+
+QSize PlaylistItemDelegate::sizeHint( const QStyleOptionViewItem& /*option*/, const QModelIndex& /*index*/ ) const {
+ return QSize( 256, THUMB_HEIGHT+1.0);
+}
+
+void PlaylistItemDelegate::paint( QPainter* painter,
+ const QStyleOptionViewItem& option, const QModelIndex& index ) const {
+
+ int itemType = index.data(ItemTypeRole).toInt();
+ if (itemType == ItemTypeVideo) {
+ QStyleOptionViewItemV4 opt = QStyleOptionViewItemV4(option);
+ initStyleOption(&opt, index);
+ opt.text = "";
+ opt.widget->style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
+ paintBody(painter, opt, index);
+ } else
+ QStyledItemDelegate::paint( painter, option, index );
+
+}
+
+void PlaylistItemDelegate::paintBody( QPainter* painter,
+ const QStyleOptionViewItem& option,
+ const QModelIndex& index ) const {
+
+ painter->save();
+ painter->translate( option.rect.topLeft() );
+
+
+ QRectF 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());
+ }
+
+ // get the video metadata
+ const VideoPointer videoPointer = index.data( VideoRole ).value<VideoPointer>();
+ const Video *video = videoPointer.data();
+
+ // thumb
+ painter->drawPixmap(0, 0, video->thumbnail());
+
+ // play icon overlayed on the thumb
+ if (isActive)
+ paintPlayIcon(painter);
+
+ // 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);
+
+ 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::paintPlayIcon(QPainter *painter) const {
+ painter->save();
+ painter->setOpacity(.5);
+ painter->drawPixmap(playIcon.rect(), playIcon);
+ painter->restore();
+}
+
+void PlaylistItemDelegate::drawTime(QPainter *painter, QString time, QRectF line) const {
+ static const int timePadding = 4;
+ QRectF 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
+ textBox.translate(THUMB_WIDTH - textBox.width(), THUMB_HEIGHT - textBox.height());
+
+ painter->save();
+ painter->setPen(Qt::NoPen);
+ painter->setBrush(Qt::black);
+ painter->setOpacity(.5);
+ painter->drawRect(textBox);
+ painter->restore();
+
+ painter->save();
+ painter->setPen(Qt::white);
+ painter->drawText(textBox, Qt::AlignCenter, time);
+ painter->restore();
+}
+
+void PlaylistItemDelegate::paintDownloadInfo( QPainter* painter,
+ const QStyleOptionViewItem& option,
+ const QModelIndex& index ) const {
+
+ // get the video metadata
+ const DownloadItemPointer downloadItemPointer = index.data(DownloadItemRole).value<DownloadItemPointer>();
+ const DownloadItem *downloadItem = downloadItemPointer.data();
+
+ painter->save();
+
+ const QRect line(0, 0, option.rect.width() / 2, option.rect.height());
+
+ painter->translate(option.rect.topLeft());
+ painter->translate(line.width(), 0);
+
+ QString message;
+ DownloadItemStatus status = downloadItem->status();
+
+ if (status == Downloading) {
+ QString downloaded = DownloadItem::formattedFilesize(downloadItem->bytesReceived());
+ QString total = DownloadItem::formattedFilesize(downloadItem->bytesTotal());
+ QString speed = DownloadItem::formattedSpeed(downloadItem->currentSpeed());
+ QString eta = DownloadItem::formattedTime(downloadItem->remainingTime());
+
+ message = tr("%1 of %2 (%3) — %4").arg(
+ downloaded,
+ total,
+ speed,
+ eta
+ );
+ } else if (status == Starting) {
+ message = tr("Preparing");
+ } else if (status == Failed) {
+ message = tr("Failed") + " — " + downloadItem->errorMessage();
+ } else if (status == Finished) {
+ message = tr("Completed");
+ } else if (status == Idle) {
+ message = tr("Stopped");
+ }
+
+ // progressBar->setPalette(option.palette);
+ if (status == Finished) {
+ progressBar->setValue(100);
+ progressBar->setEnabled(true);
+ } else if (status == Downloading) {
+ progressBar->setValue(downloadItem->currentPercent());
+ progressBar->setEnabled(true);
+ } else {
+ progressBar->setValue(0);
+ progressBar->setEnabled(false);
+ }
+
+ int progressBarWidth = line.width() - PADDING*4 - 16;
+ progressBar->setMaximumWidth(progressBarWidth);
+ progressBar->setMinimumWidth(progressBarWidth);
+ painter->save();
+ painter->translate(PADDING, PADDING);
+ progressBar->render(painter);
+ painter->restore();
+
+ bool downloadButtonHovered = false;
+ bool downloadButtonPressed = false;
+ const bool isHovered = index.data(HoveredItemRole).toBool();
+ if (isHovered) {
+ downloadButtonHovered = index.data(DownloadButtonHoveredRole).toBool();
+ downloadButtonPressed = index.data(DownloadButtonPressedRole).toBool();
+ }
+ QIcon::Mode iconMode;
+ if (downloadButtonPressed) iconMode = QIcon::Selected;
+ else if (downloadButtonHovered) iconMode = QIcon::Active;
+ else iconMode = QIcon::Normal;
+
+ if (status != Finished && status != Failed && status != Idle) {
+ if (downloadButtonHovered) message = tr("Stop downloading");
+ painter->save();
+ QIcon closeIcon = Utils::icon("window-close");
+ painter->drawPixmap(downloadButtonRect(line), closeIcon.pixmap(16, 16, iconMode));
+ painter->restore();
+ }
+
+ else if (status == Finished) {
+ if (downloadButtonHovered)
+#ifdef APP_MAC
+ message = tr("Show in %1").arg("Finder");
+#else
+ message = tr("Open parent folder");
+#endif
+ painter->save();
+ QIcon searchIcon = Utils::icon("system-search");
+ painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
+ painter->restore();
+ }
+
+ else if (status == Failed || status == Idle) {
+ if (downloadButtonHovered) message = tr("Restart downloading");
+ painter->save();
+ QIcon searchIcon = Utils::icon("view-refresh");
+ painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
+ painter->restore();
+ }
+
+ QRectF 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 {
+ return QRect(
+ line.width() - PADDING*2 - 16,
+ PADDING + progressBar->sizeHint().height() / 2 - 8,
+ 16,
+ 16);
+}
+
+QRect PlaylistItemDelegate::authorRect(const QModelIndex& index) const {
+ return authorRects.value(index.row());
+}
--- /dev/null
+#ifndef PLAYLISTITEMDELEGATE_H
+#define PLAYLISTITEMDELEGATE_H
+
+#include <QtGui>
+
+class PlaylistItemDelegate : public QStyledItemDelegate {
+
+ Q_OBJECT
+
+public:
+ PlaylistItemDelegate(QObject* parent, bool downloadInfo = false);
+ ~PlaylistItemDelegate();
+
+ QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const;
+ void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
+ QRect downloadButtonRect(QRect line) const;
+ QRect authorRect(const QModelIndex& index) const;
+
+private:
+ void createPlayIcon();
+ void paintBody( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
+ void paintDownloadInfo( QPainter* painter,
+ const QStyleOptionViewItem& option,
+ 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;
+
+ // Paints the video duration
+ void drawTime(QPainter *painter, QString time, QRectF line) const;
+
+ static const qreal THUMB_WIDTH;
+ static const qreal THUMB_HEIGHT;
+ static const qreal PADDING;
+
+ QPixmap playIcon;
+ QFont boldFont;
+ QFont smallerFont;
+ QFont smallerBoldFont;
+
+ bool downloadInfo;
+ QProgressBar *progressBar;
+
+};
+
+#endif
--- /dev/null
+#include "playlistmodel.h"
+#include "videomimedata.h"
+#include "videosource.h"
+#include "ytsearch.h"
+#include "video.h"
+#include "searchparams.h"
+#include "mediaview.h"
+
+static const int maxItems = 10;
+static const QString recentKeywordsKey = "recentKeywords";
+static const QString recentChannelsKey = "recentChannels";
+
+PlaylistModel::PlaylistModel(QWidget *parent) : QAbstractListModel(parent) {
+ videoSource = 0;
+ searching = false;
+ canSearchMore = true;
+ firstSearch = false;
+ m_activeVideo = 0;
+ m_activeRow = -1;
+ skip = 1;
+ max = 0;
+ hoveredRow = -1;
+ authorHovered = false;
+ authorPressed = false;
+}
+
+int PlaylistModel::rowCount(const QModelIndex &/*parent*/) const {
+ int count = videos.size();
+
+ // add the message item
+ if (videos.isEmpty() || !searching)
+ count++;
+
+ return count;
+}
+
+QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
+
+ int row = index.row();
+
+ if (row == videos.size()) {
+
+ QPalette palette;
+ QFont boldFont;
+ boldFont.setBold(true);
+
+ switch (role) {
+ 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);
+ if (videos.isEmpty()) return tr("No videos");
+ else return tr("No more videos");
+ case Qt::TextAlignmentRole:
+ return QVariant(int(Qt::AlignHCenter | Qt::AlignVCenter));
+ case Qt::ForegroundRole:
+ if (!errorMessage.isEmpty())
+ return palette.color(QPalette::ToolTipText);
+ else
+ return palette.color(QPalette::Dark);
+ case Qt::BackgroundColorRole:
+ if (!errorMessage.isEmpty())
+ return palette.color(QPalette::ToolTipBase);
+ else
+ return QVariant();
+ case Qt::FontRole:
+ return boldFont;
+ default:
+ return QVariant();
+ }
+
+ } else if (row < 0 || row >= videos.size())
+ return QVariant();
+
+ Video *video = videos.at(row);
+
+ switch (role) {
+ case ItemTypeRole:
+ return ItemTypeVideo;
+ case VideoRole:
+ return QVariant::fromValue(QPointer<Video>(video));
+ case ActiveTrackRole:
+ return video == m_activeVideo;
+ case Qt::DisplayRole:
+ return video->title();
+ case HoveredItemRole:
+ return hoveredRow == index.row();
+ case AuthorHoveredRole:
+ return authorHovered;
+ case AuthorPressedRole:
+ return authorPressed;
+ }
+
+ return QVariant();
+}
+
+void PlaylistModel::setActiveRow(int row, bool notify) {
+ if ( rowExists( row ) ) {
+
+ m_activeRow = row;
+ m_activeVideo = videoAt(row);
+
+ int oldactiverow = m_activeRow;
+
+ if ( rowExists( oldactiverow ) )
+ emit dataChanged( createIndex( oldactiverow, 0 ), createIndex( oldactiverow, columnCount() - 1 ) );
+
+ emit dataChanged( createIndex( m_activeRow, 0 ), createIndex( m_activeRow, columnCount() - 1 ) );
+ if (notify) emit activeRowChanged(row);
+
+ } else {
+ m_activeRow = -1;
+ m_activeVideo = 0;
+ }
+
+}
+
+int PlaylistModel::nextRow() const {
+ int nextRow = m_activeRow + 1;
+ if (rowExists(nextRow))
+ return nextRow;
+ return -1;
+}
+
+int PlaylistModel::previousRow() const {
+ int prevRow = m_activeRow - 1;
+ if (rowExists(prevRow))
+ return prevRow;
+ return -1;
+}
+
+Video* PlaylistModel::videoAt( int row ) const {
+ if ( rowExists( row ) )
+ return videos.at( row );
+ return 0;
+}
+
+Video* PlaylistModel::activeVideo() const {
+ return m_activeVideo;
+}
+
+void PlaylistModel::setVideoSource(VideoSource *videoSource) {
+ while (!videos.isEmpty())
+ delete videos.takeFirst();
+
+ m_activeVideo = 0;
+ m_activeRow = -1;
+ skip = 1;
+ reset();
+
+ this->videoSource = videoSource;
+ connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
+ SLOT(addVideos(QList<Video*>)), Qt::UniqueConnection);
+ connect(videoSource, SIGNAL(finished(int)),
+ SLOT(searchFinished(int)), Qt::UniqueConnection);
+ connect(videoSource, SIGNAL(error(QString)),
+ SLOT(searchError(QString)), Qt::UniqueConnection);
+
+ searchMore();
+}
+
+void PlaylistModel::searchMore(int max) {
+ if (searching) return;
+ searching = true;
+ firstSearch = skip == 1;
+ this->max = max;
+ errorMessage.clear();
+ videoSource->loadVideos(max, skip);
+ skip += max;
+}
+
+void PlaylistModel::searchMore() {
+ searchMore(maxItems);
+}
+
+void PlaylistModel::searchNeeded() {
+ int remainingRows = videos.size() - m_activeRow;
+ int rowsNeeded = maxItems - remainingRows;
+ if (rowsNeeded > 0)
+ searchMore(rowsNeeded);
+}
+
+void PlaylistModel::abortSearch() {
+ while (!videos.isEmpty())
+ delete videos.takeFirst();
+ reset();
+ videoSource->abort();
+ searching = false;
+}
+
+void PlaylistModel::searchFinished(int total) {
+ searching = false;
+ canSearchMore = total >= max;
+
+ // update the message item
+ emit dataChanged( createIndex( maxItems, 0 ), createIndex( maxItems, columnCount() - 1 ) );
+
+ if (!videoSource->getSuggestions().isEmpty())
+ emit haveSuggestions(videoSource->getSuggestions());
+
+ if (firstSearch && !videos.isEmpty())
+ handleFirstVideo(videos.first());
+}
+
+void PlaylistModel::searchError(QString message) {
+ errorMessage = message;
+ // update the message item
+ emit dataChanged( createIndex( maxItems, 0 ), createIndex( maxItems, columnCount() - 1 ) );
+}
+
+void PlaylistModel::addVideos(QList<Video*> newVideos) {
+ if (newVideos.isEmpty()) return;
+
+ bool isFirstVideo = videos.isEmpty();
+
+ beginInsertRows(QModelIndex(), videos.size(), videos.size() + newVideos.size() - 1);
+ 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());
+ if (currentVideoRow != -1) setActiveRow(currentVideoRow, false);
+ else {
+ QSettings settings;
+ if (!settings.value("manualplay", false).toBool())
+ setActiveRow(0);
+ }
+
+ QSettings settings;
+ if (!settings.value("manualplay", false).toBool()) {
+ int newActiveRow = rowForCloneVideo(MediaView::instance()->getCurrentVideo());
+ if (newActiveRow != -1) setActiveRow(newActiveRow, false);
+ else setActiveRow(0);
+ }
+
+ if (videoSource->metaObject()->className() == QLatin1String("YTSearch")) {
+
+ static const int maxRecentElements = 10;
+
+ YTSearch *search = dynamic_cast<YTSearch *>(videoSource);
+ SearchParams *searchParams = search->getSearchParams();
+
+ // save keyword
+ QString query = searchParams->keywords();
+ if (!query.isEmpty() && !searchParams->isTransient()) {
+ if (query.startsWith("http://")) {
+ // Save the video title
+ query += "|" + videos.first()->title();
+ }
+ QStringList keywords = settings.value(recentKeywordsKey).toStringList();
+ keywords.removeAll(query);
+ keywords.prepend(query);
+ while (keywords.size() > maxRecentElements)
+ keywords.removeLast();
+ settings.setValue(recentKeywordsKey, keywords);
+ }
+
+ // save channel
+ QString channel = searchParams->author();
+ if (!channel.isEmpty() && !searchParams->isTransient()) {
+ QString value;
+ if (!video->authorUri().isEmpty() && video->authorUri() != video->author())
+ value = video->authorUri() + "|" + video->author();
+ else value = video->author();
+ QStringList channels = settings.value(recentChannelsKey).toStringList();
+ channels.removeAll(value);
+ channels.removeAll(channel);
+ channels.prepend(value);
+ while (channels.size() > maxRecentElements)
+ channels.removeLast();
+ settings.setValue(recentChannelsKey, channels);
+ }
+ }
+}
+
+void PlaylistModel::updateThumbnail() {
+
+ Video *video = static_cast<Video *>(sender());
+ if (!video) {
+ qDebug() << "Cannot get sender";
+ return;
+ }
+
+ int row = rowForVideo(video);
+ emit dataChanged( createIndex( row, 0 ), createIndex( row, columnCount() - 1 ) );
+
+}
+
+// --- item removal
+
+/**
+ * This function does not free memory
+ */
+bool PlaylistModel::removeRows(int position, int rows, const QModelIndex & /*parent*/) {
+ beginRemoveRows(QModelIndex(), position, position+rows-1);
+ for (int row = 0; row < rows; ++row) {
+ videos.removeAt(position);
+ }
+ endRemoveRows();
+ return true;
+}
+
+void PlaylistModel::removeIndexes(QModelIndexList &indexes) {
+ QList<Video*> originalList(videos);
+ QList<Video*> delitems;
+ foreach (QModelIndex index, indexes) {
+ if (index.row() >= originalList.size()) continue;
+ Video* video = originalList.at(index.row());
+ int idx = videos.indexOf(video);
+ if (idx != -1) {
+ beginRemoveRows(QModelIndex(), idx, idx);
+ delitems.append(video);
+ videos.removeAll(video);
+ endRemoveRows();
+ }
+ }
+
+ qDeleteAll(delitems);
+
+}
+
+// --- Sturm und drang ---
+
+
+
+Qt::DropActions PlaylistModel::supportedDropActions() const {
+ return Qt::CopyAction;
+}
+
+Qt::DropActions PlaylistModel::supportedDragActions() const {
+ return Qt::CopyAction;
+}
+
+Qt::ItemFlags PlaylistModel::flags(const QModelIndex &index) const {
+ if (index.isValid()) {
+ if (index.row() == videos.size()) {
+ // don't drag the "show 10 more" item
+ return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+ } else return (Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled);
+ }
+ return Qt::ItemIsDropEnabled;
+}
+
+QStringList PlaylistModel::mimeTypes() const {
+ QStringList types;
+ types << "application/x-minitube-video";
+ return types;
+}
+
+QMimeData* PlaylistModel::mimeData( const QModelIndexList &indexes ) const {
+ VideoMimeData* mime = new VideoMimeData();
+
+ foreach( const QModelIndex &it, indexes ) {
+ int row = it.row();
+ if (row >= 0 && row < videos.size())
+ mime->addVideo( videos.at( it.row() ) );
+ }
+
+ return mime;
+}
+
+bool PlaylistModel::dropMimeData(const QMimeData *data,
+ Qt::DropAction action, int row, int column,
+ const QModelIndex &parent) {
+ if (action == Qt::IgnoreAction)
+ return true;
+
+ if (!data->hasFormat("application/x-minitube-video"))
+ return false;
+
+ if (column > 0)
+ return false;
+
+ int beginRow;
+ if (row != -1)
+ beginRow = row;
+ else if (parent.isValid())
+ beginRow = parent.row();
+ else
+ beginRow = rowCount(QModelIndex());
+
+ const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( data );
+ if(!videoMimeData ) return false;
+
+ QList<Video*> droppedVideos = videoMimeData->videos();
+ foreach( Video *video, droppedVideos) {
+
+ // remove videos
+ int videoRow = videos.indexOf(video);
+ removeRows(videoRow, 1, QModelIndex());
+
+ // and then add them again at the new position
+ beginInsertRows(QModelIndex(), beginRow, beginRow);
+ videos.insert(beginRow, video);
+ endInsertRows();
+
+ }
+
+ // fix m_activeRow after all this
+ m_activeRow = videos.indexOf(m_activeVideo);
+
+ // let the MediaView restore the selection
+ emit needSelectionFor(droppedVideos);
+
+ return true;
+
+}
+
+int PlaylistModel::rowForCloneVideo(Video *video) const {
+ if (!video) return -1;
+ for (int i = 0; i < videos.size(); ++i) {
+ Video *v = videos.at(i);
+ if (v->id() == video->id()) return i;
+ }
+ return -1;
+}
+
+int PlaylistModel::rowForVideo(Video* video) {
+ return videos.indexOf(video);
+}
+
+QModelIndex PlaylistModel::indexForVideo(Video* video) {
+ return createIndex(videos.indexOf(video), 0);
+}
+
+void PlaylistModel::move(QModelIndexList &indexes, bool up) {
+ QList<Video*> movedVideos;
+
+ foreach (QModelIndex index, indexes) {
+ int row = index.row();
+ if (row >= videos.size()) continue;
+ // qDebug() << "index row" << row;
+ Video *video = videoAt(row);
+ movedVideos << video;
+ }
+
+ int end=up ? -1 : rowCount()-1, mod=up ? -1 : 1;
+ foreach (Video *video, movedVideos) {
+
+ int row = rowForVideo(video);
+ if (row+mod==end) { end=row; continue; }
+ // qDebug() << "video row" << row;
+ removeRows(row, 1, QModelIndex());
+
+ if (up) row--;
+ else row++;
+
+ beginInsertRows(QModelIndex(), row, row);
+ videos.insert(row, video);
+ endInsertRows();
+
+ }
+
+ emit needSelectionFor(movedVideos);
+
+}
+
+/* row hovering */
+
+void PlaylistModel::setHoveredRow(int row) {
+ int oldRow = hoveredRow;
+ hoveredRow = row;
+ emit dataChanged( createIndex( oldRow, 0 ), createIndex( oldRow, columnCount() - 1 ) );
+ emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
+}
+
+void PlaylistModel::clearHover() {
+ emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
+ hoveredRow = -1;
+}
+
+/* clickable author */
+
+void PlaylistModel::enterAuthorHover() {
+ if (authorHovered) return;
+ authorHovered = true;
+ updateAuthor();
+}
+
+void PlaylistModel::exitAuthorHover() {
+ if (!authorHovered) return;
+ authorHovered = false;
+ updateAuthor();
+ setHoveredRow(hoveredRow);
+}
+
+void PlaylistModel::enterAuthorPressed() {
+ if (authorPressed) return;
+ authorPressed = true;
+ updateAuthor();
+}
+
+void PlaylistModel::exitAuthorPressed() {
+ if (!authorPressed) return;
+ authorPressed = false;
+ updateAuthor();
+}
+
+void PlaylistModel::updateAuthor() {
+ emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
+}
--- /dev/null
+#ifndef PLAYLISTMODEL_H
+#define PLAYLISTMODEL_H
+
+#include <QtGui>
+
+class Video;
+class VideoSource;
+
+enum DataRoles {
+ ItemTypeRole = Qt::UserRole,
+ VideoRole,
+ ActiveTrackRole,
+ DownloadItemRole,
+ HoveredItemRole,
+ DownloadButtonHoveredRole,
+ DownloadButtonPressedRole,
+ AuthorHoveredRole,
+ AuthorPressedRole
+};
+
+enum ItemTypes {
+ ItemTypeVideo = 1,
+ ItemTypeShowMore
+};
+
+class PlaylistModel : public QAbstractListModel {
+
+ Q_OBJECT
+
+public:
+ PlaylistModel(QWidget *parent = 0);
+
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ int columnCount( const QModelIndex& parent = QModelIndex() ) const { Q_UNUSED( parent ); return 4; }
+ QVariant data(const QModelIndex &index, int role) const;
+ bool removeRows(int position, int rows, const QModelIndex &parent);
+
+ Qt::ItemFlags flags(const QModelIndex &index) const;
+ QStringList mimeTypes() const;
+ Qt::DropActions supportedDropActions() const;
+ Qt::DropActions supportedDragActions() const;
+ QMimeData* mimeData( const QModelIndexList &indexes ) const;
+ bool dropMimeData(const QMimeData *data,
+ Qt::DropAction action, int row, int column,
+ const QModelIndex &parent);
+
+ void setActiveRow(int row , bool notify = true);
+ bool rowExists( int row ) const { return (( row >= 0 ) && ( row < videos.size() ) ); }
+ int activeRow() const { return m_activeRow; } // returns -1 if there is no active row
+ int nextRow() const;
+ int previousRow() const;
+ void removeIndexes(QModelIndexList &indexes);
+ int rowForVideo(Video* video);
+ QModelIndex indexForVideo(Video* video);
+ void move(QModelIndexList &indexes, bool up);
+
+ Video* videoAt( int row ) const;
+ Video* activeVideo() const;
+ int rowForCloneVideo(Video *video) const;
+
+ VideoSource* getVideoSource() { return videoSource; }
+ void setVideoSource(VideoSource *videoSource);
+ void abortSearch();
+
+public slots:
+ void searchMore();
+ void searchNeeded();
+ void addVideos(QList<Video*> newVideos);
+ void searchFinished(int total);
+ void searchError(QString message);
+ void updateThumbnail();
+
+ void setHoveredRow(int row);
+ void clearHover();
+ void enterAuthorHover();
+ void exitAuthorHover();
+ void enterAuthorPressed();
+ void exitAuthorPressed();
+ void updateAuthor();
+
+signals:
+ void activeRowChanged(int);
+ void needSelectionFor(QList<Video*>);
+ void haveSuggestions(const QStringList &suggestions);
+
+private:
+ void handleFirstVideo(Video* video);
+ void searchMore(int max);
+
+ VideoSource *videoSource;
+ bool searching;
+ bool canSearchMore;
+ bool firstSearch;
+
+ QList<Video*> videos;
+ int skip;
+ int max;
+
+ int m_activeRow;
+ Video *m_activeVideo;
+
+ QString errorMessage;
+
+ int hoveredRow;
+ bool authorHovered;
+ bool authorPressed;
+};
+
+#endif
--- /dev/null
+#include "playlistsuggest.h"
+#include <QtXml>
+#include "networkaccess.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+struct Playlist {
+ QString id;
+ QString title;
+ QString summary;
+ QString author;
+ int videoCount;
+};
+
+PlaylistSuggest::PlaylistSuggest(QObject *parent) : Suggester() {
+
+}
+
+void PlaylistSuggest::suggest(QString query) {
+ QUrl url("http://gdata.youtube.com/feeds/api/playlists/snippets");
+ url.addQueryItem("v", "2");
+ url.addQueryItem("q", query);
+ QObject *reply = The::http()->get(url);
+ connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
+}
+
+void PlaylistSuggest::handleNetworkData(QByteArray data) {
+ QList<Playlist> playlists;
+
+ QXmlStreamReader xml(data);
+ while (!xml.atEnd()) {
+ xml.readNext();
+ if (xml.tokenType() == QXmlStreamReader::StartElement && xml.name() == "entry") {
+
+ Playlist playlist = {};
+
+ while (xml.readNextStartElement()) {
+ if (xml.name() == "title") {
+ playlist.title = xml.readElementText();
+ }
+ else if (xml.name() == "summary") {
+ playlist.summary = xml.readElementText();
+ }
+ else if (xml.name() == "author") {
+ while (xml.readNextStartElement()) {
+ if (xml.name() == "name") {
+ playlist.author = xml.readElementText();
+ break;
+ }
+ }
+ }
+ else if (xml.name() == "playlistId") {
+ playlist.id = xml.readElementText();
+ }
+ else if (xml.name() == "countHint") {
+ playlist.videoCount = xml.readElementText().toInt();
+ }
+ }
+
+ playlists << playlist;
+
+ }
+ }
+
+ // emit ready(choices);
+}
+
+/* model */
+
+class PlaylistSuggestModel : public QAbstractListModel {
+
+ Q_OBJECT
+
+public:
+ PlaylistSuggestModel(QWidget *parent) : QAbstractListModel(parent) { }
+ int rowCount(const QModelIndex &parent = QModelIndex()) const {
+ Q_UNUSED(parent);
+ return list.size();
+ }
+ int columnCount( const QModelIndex& parent = QModelIndex() ) const {
+ Q_UNUSED(parent);
+ return 1;
+ }
+ QVariant data(const QModelIndex &index, int role) const {
+ Q_UNUSED(index);
+ Q_UNUSED(role);
+ return QVariant();
+ }
+ QList<Playlist> list;
+
+};
+
+/* delegate */
+
+class PlaylistSuggestDelegate : public QStyledItemDelegate {
+
+ Q_OBJECT
+
+public:
+ PlaylistSuggestDelegate(QObject* parent);
+ QSize sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const {
+ return QSize(0, 100);
+ }
+ void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const {
+ QStyleOptionViewItemV4 opt = QStyleOptionViewItemV4(option);
+ initStyleOption(&opt, index);
+ opt.text = "";
+ opt.widget->style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
+
+ painter->save();
+ painter->translate(option.rect.topLeft());
+
+ QRect line(0, 0, option.rect.width(), option.rect.height());
+
+ painter->restore();
+
+ }
+
+};
--- /dev/null
+#ifndef PLAYLISTSUGGEST_H
+#define PLAYLISTSUGGEST_H
+
+#include <QtGui>
+#include "suggester.h"
+
+class PlaylistSuggest : public Suggester {
+
+ Q_OBJECT
+
+public:
+ PlaylistSuggest(QObject *parent = 0);
+ void suggest(QString query);
+
+signals:
+ void ready(QStringList);
+
+private slots:
+ void handleNetworkData(QByteArray response);
+
+};
+
+#endif // PLAYLISTSUGGEST_H
#include "playlistview.h"
-#include "ListModel.h"
-#include "playlist/PrettyItemDelegate.h"
+#include "playlistmodel.h"
+#include "playlistitemdelegate.h"
PlaylistView::PlaylistView(QWidget *parent) : QListView(parent) {
- connect(this, SIGNAL(entered(const QModelIndex &)), SLOT(itemEntered(const QModelIndex &)));
+ clickableAuthors = true;
+
+ setItemDelegate(new PlaylistItemDelegate(this));
+ setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+ // dragndrop
+ setDragEnabled(true);
+ setAcceptDrops(true);
+ setDropIndicatorShown(true);
+ setDragDropMode(QAbstractItemView::DragDrop);
+
+ // cosmetics
+ setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
+ setFrameShape(QFrame::NoFrame);
+ setAttribute(Qt::WA_MacShowFocusRect, false);
+ // setMinimumSize(120, 240);
+ setUniformItemSizes(true);
+
+ connect(this, SIGNAL(entered(const QModelIndex &)),
+ SLOT(itemEntered(const QModelIndex &)));
setMouseTracking(true);
}
void PlaylistView::itemEntered(const QModelIndex &index) {
- ListModel *listModel = dynamic_cast<ListModel *>(model());
+ PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
if (listModel) listModel->setHoveredRow(index.row());
}
void PlaylistView::leaveEvent(QEvent * /* event */) {
- ListModel *listModel = dynamic_cast<ListModel *>(model());
+ PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
if (listModel) listModel->clearHover();
}
void PlaylistView::mouseMoveEvent(QMouseEvent *event) {
QListView::mouseMoveEvent(event);
- QWidget::mouseMoveEvent(event);
-
- if (isHoveringAuthor(event)) {
-
- // check for special "message" item
- ListModel *listModel = dynamic_cast<ListModel *>(model());
- if (listModel && listModel->rowCount() == indexAt(event->pos()).row())
- return;
+ // QWidget::mouseMoveEvent(event);
+ if (isHoveringThumbnail(event)) {
+ setCursor(Qt::PointingHandCursor);
+ } else if (isShowMoreItem(indexAt(event->pos()))) {
+ setCursor(Qt::PointingHandCursor);
+ } else if (isHoveringAuthor(event)) {
QMetaObject::invokeMethod(model(), "enterAuthorHover");
setCursor(Qt::PointingHandCursor);
} else {
QMetaObject::invokeMethod(model(), "exitAuthorHover");
unsetCursor();
}
-
}
void PlaylistView::mousePressEvent(QMouseEvent *event) {
- if (event->button() == Qt::LeftButton
- && isHoveringAuthor(event)) {
- QMetaObject::invokeMethod(model(), "enterAuthorPressed");
- event->ignore();
- } else {
- QListView::mousePressEvent(event);
- }
+ if (event->button() == Qt::LeftButton) {
+ if (isHoveringThumbnail(event)) {
+ event->accept();
+ } else if (isHoveringAuthor(event)) {
+ QMetaObject::invokeMethod(model(), "enterAuthorPressed");
+ event->ignore();
+ } else QListView::mousePressEvent(event);
+ } else QListView::mousePressEvent(event);
}
void PlaylistView::mouseReleaseEvent(QMouseEvent *event) {
if (event->button() == Qt::LeftButton) {
QMetaObject::invokeMethod(model(), "exitAuthorPressed");
- if (isHoveringAuthor(event))
- emit authorPushed(indexAt(event->pos()));
+ const QModelIndex index = indexAt(event->pos());
+ if (isHoveringThumbnail(event)) {
+ emit activated(index);
+ unsetCursor();
+ } else if (isHoveringAuthor(event)) {
+ emit authorPushed(index);
+ } else if (isShowMoreItem(index)) {
+ PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
+ listModel->searchMore();
+ unsetCursor();
+ }
+
} else {
QListView::mousePressEvent(event);
}
}
bool PlaylistView::isHoveringAuthor(QMouseEvent *event) {
+ if (!clickableAuthors) return false;
+
const QModelIndex itemIndex = indexAt(event->pos());
const QRect itemRect = visualRect(itemIndex);
// qDebug() << " itemRect.x()" << itemRect.x();
- PrettyItemDelegate *delegate = dynamic_cast<PrettyItemDelegate *>(itemDelegate());
+ PlaylistItemDelegate *delegate = dynamic_cast<PlaylistItemDelegate *>(itemDelegate());
if (!delegate) return false;
QRect rect = delegate->authorRect(itemIndex);
return ret;
}
+
+bool PlaylistView::isHoveringThumbnail(QMouseEvent *event) {
+ const QModelIndex index = indexAt(event->pos());
+ const QRect itemRect = visualRect(index);
+ static const QRect thumbRect(0, 0, 160, 90);
+ const int x = event->x() - itemRect.x() - thumbRect.x();
+ const int y = event->y() - itemRect.y() - thumbRect.y();
+ return x > 0 && x < thumbRect.width() && y > 0 && y < thumbRect.height();
+}
+
+bool PlaylistView::isShowMoreItem(const QModelIndex &index) {
+ return model()->rowCount() > 1 &&
+ model()->rowCount() == index.row() + 1;
+}
public:
PlaylistView(QWidget *parent = 0);
+ void setClickableAuthors(bool enabled) { clickableAuthors = enabled; }
protected:
void leaveEvent(QEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
- bool isHoveringAuthor(QMouseEvent *event);
signals:
void authorPushed(QModelIndex index);
private slots:
void itemEntered(const QModelIndex &index);
+private:
+ bool isHoveringAuthor(QMouseEvent *event);
+ bool isShowMoreItem(const QModelIndex &index);
+ bool isHoveringThumbnail(QMouseEvent *event);
+
+ bool clickableAuthors;
+
};
#endif // PLAYLISTVIEW_H
+++ /dev/null
-#include "playlistwidget.h"
-#include "segmentedcontrol.h"
-
-PlaylistWidget::PlaylistWidget (QWidget *parent, SegmentedControl *tabBar, QListView *listView)
- : QWidget(parent) {
- QBoxLayout *layout = new QVBoxLayout(this);
- layout->setMargin(0);
- layout->setSpacing(0);
- layout->addWidget(tabBar);
- layout->addWidget(listView);
-}
+++ /dev/null
-#ifndef PLAYLISTWIDGET_H
-#define PLAYLISTWIDGET_H
-
-#include <QtGui>
-
-class SegmentedControl;
-
-class PlaylistWidget : public QWidget {
-
- Q_OBJECT
-
-public:
- PlaylistWidget(QWidget *parent, SegmentedControl *tabBar, QListView *listView);
-
-};
-
-#endif // PLAYLISTWIDGET_H
static PProcessIdToSessionId pProcessIdToSessionId = 0;
#endif
#if defined(Q_OS_UNIX)
+#include <unistd.h>
+#include <sys/types.h>
#include <time.h>
#endif
#endif
prefix = id.section(QLatin1Char('/'), -1);
}
- prefix.remove(QRegExp("[^a-zA-Z]"));
+ prefix.remove(QRegExp(QLatin1String("[^a-zA-Z]")));
prefix.truncate(6);
QByteArray idc = id.toUtf8();
#include "extra.h"
#endif
+namespace The {
+QHash<QString, QAction*>* globalActions();
+}
+
RefineSearchWidget::RefineSearchWidget(QWidget *parent) :
QWidget(parent) {
dirty = false;
QString paramName = bar->property("paramName").toString();
QVariant paramValue = action->property("paramValue");
- qDebug() << "param changed" << paramName << paramValue;
+ // qDebug() << "param changed" << paramName << paramValue;
emit paramChanged(paramName, paramValue);
- qDebug() << __PRETTY_FUNCTION__;
dirty = true;
}
void RefineSearchWidget::setSearchParams(SearchParams *params) {
setup();
+ qDebug() << (params != 0);
+
+ The::globalActions()->value("refine-search")->setEnabled(params);
+ setEnabled(params);
+
+ if (!params) return;
+
QToolBar* bar;
QAction* action;
action = bar->actions().at(params->quality());
if (action) action->setChecked(true);
+ disconnect(SIGNAL(paramChanged(QString,QVariant)));
connect(this, SIGNAL(paramChanged(QString,QVariant)),
params, SLOT(setParam(QString,QVariant)),
Qt::UniqueConnection);
--- /dev/null
+#include "regionsview.h"
+#include "ytregions.h"
+#include "mainwindow.h"
+
+RegionsView::RegionsView(QWidget *parent) : QWidget(parent) {
+ QBoxLayout *l = new QVBoxLayout(this);
+ l->setMargin(30);
+ l->setSpacing(30);
+
+ layout = new QGridLayout();
+ layout->setMargin(0);
+ layout->setSpacing(0);
+ l->addLayout(layout);
+
+ addRegion(YTRegions::worldwideRegion());
+ foreach(YTRegion region, YTRegions::list())
+ addRegion(region);
+
+ doneButton = new QPushButton(tr("Done"));
+ doneButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ doneButton->setDefault(true);
+ doneButton->setProperty("custom", true);
+ doneButton->setProperty("important", true);
+ doneButton->setProperty("big", true);
+ connect(doneButton, SIGNAL(clicked()), MainWindow::instance(), SLOT(goBack()));
+ l->addWidget(doneButton, 0, Qt::AlignCenter);
+}
+
+void RegionsView::addRegion(const YTRegion ®ion) {
+ QPushButton *button = new QPushButton(region.name);
+ button->setProperty("regionId", region.id);
+ button->setCheckable(true);
+ button->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ button->setFocusPolicy(Qt::StrongFocus);
+ button->setIcon(YTRegions::iconForRegionId(region.id));
+ connect(button, SIGNAL(clicked()), SLOT(buttonClicked()));
+ const int i = layout->count();
+ static const int rows = 10;
+ layout->addWidget(button, i % rows, i / rows);
+}
+
+void RegionsView::appear() {
+ doneButton->setFocus();
+
+ QString currentRegionId = YTRegions::currentRegionId();
+ for (int i = 0; i < layout->count(); i++) {
+ QLayoutItem *item = layout->itemAt(i);
+ QPushButton *b = static_cast<QPushButton*>(item->widget());
+ QString regionId = b->property("regionId").toString();
+ b->setChecked(currentRegionId == regionId);
+ }
+}
+
+void RegionsView::buttonClicked() {
+ QObject* o = sender();
+ QString regionId = o->property("regionId").toString();
+ YTRegions::setRegion(regionId);
+ emit regionChanged();
+ doneButton->click();
+
+ // uncheck other buttons
+ /*
+ for (int i = 0; i < layout->count(); i++) {
+ QLayoutItem *item = layout->itemAt(i);
+ QPushButton *b = static_cast<QPushButton*>(item->widget());
+ if (b != o && b->isChecked()) b->setChecked(false);
+ }
+ */
+}
--- /dev/null
+#ifndef REGIONSVIEW_H
+#define REGIONSVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class YTRegion;
+
+class RegionsView : public QWidget, public View {
+
+ Q_OBJECT
+
+public:
+ RegionsView(QWidget *parent = 0);
+ void appear();
+
+signals:
+ void regionChanged();
+
+private slots:
+ void buttonClicked();
+
+private:
+ void addRegion(const YTRegion ®ion);
+ QGridLayout *layout;
+ QPushButton *doneButton;
+
+};
+
+#endif // REGIONSVIEW_H
#include "searchparams.h"
-SearchParams::SearchParams() {
+SearchParams::SearchParams(QObject *parent) : QObject(parent) {
m_transient = false;
m_sortBy = SortByRelevance;
m_duration = DurationAny;
TimeMonth
};
- SearchParams();
+ SearchParams(QObject *parent = 0);
const QString keywords() const { return m_keywords; }
void setKeywords( QString keywords ) { m_keywords = keywords; }
int time() const { return m_time; }
void setTime( int time ) { m_time = time; }
+ bool operator==(const SearchParams &other) const {
+ return m_keywords == other.keywords() &&
+ m_author == other.author();
+ }
+
public slots:
void setParam(QString name, QVariant value);
--- /dev/null
+#include "searchview.h"
+#include "constants.h"
+#include "fontutils.h"
+#include "searchparams.h"
+#include "ytsuggester.h"
+#include "channelsuggest.h"
+#ifdef APP_MAC
+#include "searchlineedit_mac.h"
+#else
+#include "searchlineedit.h"
+#endif
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#include "mainwindow.h"
+
+namespace The {
+QHash<QString, QAction*>* globalActions();
+}
+
+static const QString recentKeywordsKey = "recentKeywords";
+static const QString recentChannelsKey = "recentChannels";
+static const int PADDING = 30;
+
+SearchView::SearchView(QWidget *parent) : QWidget(parent) {
+
+ QFont biggerFont = FontUtils::big();
+ QFont smallerFont = FontUtils::smallBold();
+
+#if defined(APP_MAC) | defined(APP_WIN)
+ // speedup painting since we'll paint the whole background
+ // by ourselves anyway in paintEvent()
+ setAttribute(Qt::WA_OpaquePaintEvent);
+#endif
+
+ QBoxLayout *mainLayout = new QVBoxLayout(this);
+ mainLayout->setMargin(PADDING);
+ mainLayout->setSpacing(0);
+
+ // hidden message widget
+ message = new QLabel(this);
+ message->hide();
+ mainLayout->addWidget(message);
+
+ mainLayout->addStretch();
+
+ QBoxLayout *hLayout = new QHBoxLayout();
+ hLayout->setAlignment(Qt::AlignCenter);
+ mainLayout->addLayout(hLayout);
+
+ QLabel *logo = new QLabel(this);
+ logo->setPixmap(QPixmap(":/images/app.png"));
+ hLayout->addWidget(logo, 0, Qt::AlignTop);
+ hLayout->addSpacing(PADDING);
+
+ QVBoxLayout *layout = new QVBoxLayout();
+ layout->setAlignment(Qt::AlignCenter);
+ hLayout->addLayout(layout);
+
+ QLabel *welcomeLabel =
+ new QLabel("<h1 style='font-weight:normal'>" +
+ tr("Welcome to <a href='%1'>%2</a>,")
+ // .replace("<a ", "<a style='color:palette(text)'")
+ .replace("<a href", "<a style='text-decoration:none; color:palette(text); font-weight:bold' href")
+ .arg(Constants::WEBSITE, Constants::NAME)
+ + "</h1>", this);
+ welcomeLabel->setOpenExternalLinks(true);
+ layout->addWidget(welcomeLabel);
+
+ layout->addSpacing(PADDING / 2);
+
+ QBoxLayout *tipLayout = new QHBoxLayout();
+ tipLayout->setSpacing(10);
+
+ //: "Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"
+ QLabel *tipLabel = new QLabel(tr("Enter"), this);
+ tipLabel->setFont(biggerFont);
+ tipLayout->addWidget(tipLabel);
+
+ typeCombo = new QComboBox(this);
+ typeCombo->addItem(tr("a keyword"));
+ typeCombo->addItem(tr("a channel"));
+ typeCombo->setFont(biggerFont);
+ connect(typeCombo, SIGNAL(currentIndexChanged(int)), SLOT(searchTypeChanged(int)));
+ tipLayout->addWidget(typeCombo);
+
+ tipLabel = new QLabel(tr("to start watching videos."), this);
+ tipLabel->setFont(biggerFont);
+ tipLayout->addWidget(tipLabel);
+ layout->addLayout(tipLayout);
+
+ layout->addSpacing(PADDING / 2);
+
+ QHBoxLayout *searchLayout = new QHBoxLayout();
+ searchLayout->setAlignment(Qt::AlignVCenter);
+
+ queryEdit = new SearchLineEdit(this);
+ queryEdit->setFont(biggerFont);
+ queryEdit->setMinimumWidth(queryEdit->fontInfo().pixelSize()*15);
+ connect(queryEdit, SIGNAL(search(const QString&)), SLOT(watch(const QString&)));
+ connect(queryEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+ connect(queryEdit, SIGNAL(suggestionAccepted(const QString&)), SLOT(watch(const QString&)));
+
+ youtubeSuggest = new YTSuggester(this);
+ channelSuggest = new ChannelSuggest(this);
+ searchTypeChanged(0);
+
+ searchLayout->addWidget(queryEdit);
+ searchLayout->addSpacing(10);
+
+ watchButton = new QPushButton(tr("Watch"), this);
+ watchButton->setDefault(true);
+ watchButton->setEnabled(false);
+ watchButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ connect(watchButton, SIGNAL(clicked()), this, SLOT(watch()));
+ searchLayout->addWidget(watchButton);
+
+ layout->addItem(searchLayout);
+
+ layout->addSpacing(PADDING / 2);
+
+ QHBoxLayout *otherLayout = new QHBoxLayout();
+ otherLayout->setMargin(0);
+ otherLayout->setSpacing(10);
+
+ recentKeywordsLayout = new QVBoxLayout();
+ recentKeywordsLayout->setSpacing(5);
+ recentKeywordsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
+ recentKeywordsLabel = new QLabel(tr("Recent keywords").toUpper(), this);
+ recentKeywordsLabel->setProperty("recentHeader", true);
+ recentKeywordsLabel->setForegroundRole(QPalette::Dark);
+ recentKeywordsLabel->hide();
+ recentKeywordsLabel->setFont(smallerFont);
+ recentKeywordsLayout->addWidget(recentKeywordsLabel);
+
+ otherLayout->addLayout(recentKeywordsLayout);
+
+ // recent channels
+ recentChannelsLayout = new QVBoxLayout();
+ recentChannelsLayout->setSpacing(5);
+ recentChannelsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
+ recentChannelsLabel = new QLabel(tr("Recent channels").toUpper(), this);
+ recentChannelsLabel->setProperty("recentHeader", true);
+ recentChannelsLabel->setForegroundRole(QPalette::Dark);
+ recentChannelsLabel->hide();
+ recentChannelsLabel->setFont(smallerFont);
+ recentChannelsLayout->addWidget(recentChannelsLabel);
+
+ otherLayout->addLayout(recentChannelsLayout);
+
+ layout->addLayout(otherLayout);
+
+ mainLayout->addStretch();
+
+#ifdef APP_ACTIVATION
+ if (!Activation::instance().isActivated())
+ mainLayout->addWidget(Extra::buyButton(tr("Get the full version")), 0, Qt::AlignRight);
+#endif
+}
+
+void SearchView::appear() {
+ updateRecentKeywords();
+ updateRecentChannels();
+ queryEdit->selectAll();
+ queryEdit->enableSuggest();
+ QTimer::singleShot(0, queryEdit, SLOT(setFocus()));
+}
+
+void SearchView::updateRecentKeywords() {
+
+ // cleanup
+ QLayoutItem *item;
+ while ((item = recentKeywordsLayout->takeAt(1)) != 0) {
+ item->widget()->close();
+ delete item;
+ }
+
+ // load
+ QSettings settings;
+ QStringList keywords = settings.value(recentKeywordsKey).toStringList();
+ recentKeywordsLabel->setVisible(!keywords.isEmpty());
+ The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
+
+ foreach (QString keyword, keywords) {
+ QString link = keyword;
+ QString display = keyword;
+ if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
+ int separator = keyword.indexOf("|");
+ if (separator > 0 && separator + 1 < keyword.length()) {
+ link = keyword.left(separator);
+ display = keyword.mid(separator+1);
+ }
+ }
+ bool needStatusTip = false;
+ if (display.length() > 24) {
+ display.truncate(24);
+ display.append("...");
+ needStatusTip = true;
+ }
+ QLabel *itemLabel = new QLabel("<a href=\"" + link
+ + "\" style=\"color:palette(text); text-decoration:none\">"
+ + display + "</a>", this);
+ itemLabel->setAttribute(Qt::WA_DeleteOnClose);
+ itemLabel->setProperty("recentItem", true);
+ itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
+ // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ // Make links navigable with the keyboard too
+ itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
+ if (needStatusTip)
+ itemLabel->setStatusTip(link);
+ connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchKeywords(QString)));
+ recentKeywordsLayout->addWidget(itemLabel);
+ }
+
+}
+
+void SearchView::updateRecentChannels() {
+
+ // cleanup
+ QLayoutItem *item;
+ while ((item = recentChannelsLayout->takeAt(1)) != 0) {
+ item->widget()->close();
+ delete item;
+ }
+
+ // load
+ QSettings settings;
+ QStringList keywords = settings.value(recentChannelsKey).toStringList();
+ recentChannelsLabel->setVisible(!keywords.isEmpty());
+ // TODO The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
+
+ foreach (QString keyword, keywords) {
+ QString link = keyword;
+ QString display = keyword;
+ int separator = keyword.indexOf('|');
+ if (separator > 0 && separator + 1 < keyword.length()) {
+ link = keyword.left(separator);
+ display = keyword.mid(separator+1);
+ }
+ QLabel *itemLabel = new QLabel("<a href=\"" + link
+ + "\" style=\"color:palette(text); text-decoration:none\">"
+ + display + "</a>", this);
+ itemLabel->setAttribute(Qt::WA_DeleteOnClose);
+ itemLabel->setProperty("recentItem", true);
+ itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
+ // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ // Make links navigable with the keyboard too
+ itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
+
+ connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchChannel(QString)));
+ recentChannelsLayout->addWidget(itemLabel);
+ }
+
+}
+
+void SearchView::watch() {
+ QString query = queryEdit->text();
+ watch(query);
+}
+
+void SearchView::textChanged(const QString &text) {
+ watchButton->setEnabled(!text.simplified().isEmpty());
+}
+
+void SearchView::watch(QString query) {
+
+ query = query.simplified();
+
+ // check for empty query
+ if (query.length() == 0) {
+ queryEdit->setFocus(Qt::OtherFocusReason);
+ return;
+ }
+
+ SearchParams *searchParams = new SearchParams();
+ if (typeCombo->currentIndex() == 0)
+ searchParams->setKeywords(query);
+ else {
+ // remove spaces from channel name
+ query = query.replace(" ", "");
+ searchParams->setAuthor(query);
+ searchParams->setSortBy(SearchParams::SortByNewest);
+ }
+
+ // go!
+ emit search(searchParams);
+}
+
+void SearchView::watchChannel(QString channel) {
+
+ channel = channel.simplified();
+
+ // check for empty query
+ if (channel.length() == 0) {
+ queryEdit->setFocus(Qt::OtherFocusReason);
+ return;
+ }
+
+ // remove spaces from channel name
+ channel = channel.remove(" ");
+
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setAuthor(channel);
+ searchParams->setSortBy(SearchParams::SortByNewest);
+
+ // go!
+ emit search(searchParams);
+}
+
+void SearchView::watchKeywords(QString query) {
+
+ query = query.simplified();
+
+ // check for empty query
+ if (query.length() == 0) {
+ queryEdit->setFocus(Qt::OtherFocusReason);
+ return;
+ }
+
+ if (typeCombo->currentIndex() == 0) {
+ queryEdit->setText(query);
+ watchButton->setEnabled(true);
+ }
+
+ SearchParams *searchParams = new SearchParams();
+ searchParams->setKeywords(query);
+
+ // go!
+ emit search(searchParams);
+}
+
+void SearchView::paintEvent(QPaintEvent * /*event*/) {
+ QPainter painter(this);
+
+#if defined(APP_MAC) | defined(APP_WIN)
+ QBrush brush;
+ if (window()->isActiveWindow()) {
+ brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
+ } else {
+ brush = palette().window();
+ }
+ painter.fillRect(0, 0, width(), height(), brush);
+#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));
+}
+
+void SearchView::searchTypeChanged(int index) {
+ if (index == 0) {
+ queryEdit->setSuggester(youtubeSuggest);
+ } else {
+ queryEdit->setSuggester(channelSuggest);
+ }
+ queryEdit->selectAll();
+ queryEdit->setFocus();
+}
--- /dev/null
+#ifndef __SEARCHVIEW_H__
+#define __SEARCHVIEW_H__
+
+#include <QtGui>
+#include "view.h"
+
+class SearchLineEdit;
+class SearchParams;
+class YTSuggester;
+class ChannelSuggest;
+
+class SearchView : public QWidget, public View {
+
+ Q_OBJECT
+
+public:
+ SearchView(QWidget *parent = 0);
+ void updateRecentKeywords();
+ void updateRecentChannels();
+
+public slots:
+ void appear();
+ void disappear() { }
+ void watch(QString query);
+ void watchChannel(QString channel);
+ void watchKeywords(QString query);
+
+signals:
+ void search(SearchParams*);
+
+protected:
+ void paintEvent(QPaintEvent *);
+
+private slots:
+ void watch();
+ void textChanged(const QString &text);
+ void searchTypeChanged(int index);
+
+private:
+ YTSuggester *youtubeSuggest;
+ ChannelSuggest *channelSuggest;
+
+ QComboBox *typeCombo;
+ SearchLineEdit *queryEdit;
+ QLabel *recentKeywordsLabel;
+ QBoxLayout *recentKeywordsLayout;
+ QLabel *recentChannelsLabel;
+ QBoxLayout *recentChannelsLayout;
+ QLabel *message;
+ QPushButton *watchButton;
+
+};
+
+#endif // __SEARCHVIEW_H__
#include "segmentedcontrol.h"
#include "fontutils.h"
+#include "mainwindow.h"
static const QColor borderColor = QColor(0x26, 0x26, 0x26);
update();
// status tip
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) mainWindow->statusBar()->showMessage(action->statusTip());
+ MainWindow::instance()->statusBar()->showMessage(action->statusTip());
}
}
void SegmentedControl::leaveEvent(QEvent *event) {
QWidget::leaveEvent(event);
// status tip
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) mainWindow->statusBar()->clearMessage();
+ // static_cast<QMainWindow*>(window())->statusBar()->clearMessage();
d->hoveredAction = 0;
d->pressedAction = 0;
update();
--- /dev/null
+#include "sidebarheader.h"
+#include "utils.h"
+#include "mediaview.h"
+#include "videosource.h"
+#include "fontutils.h"
+
+SidebarHeader::SidebarHeader(QWidget *parent) : QToolBar(parent) { }
+
+void SidebarHeader::setup() {
+ static bool isSetup = false;
+ if (isSetup) return;
+ isSetup = true;
+
+ backAction = new QAction(
+ Utils::icon("go-previous"),
+ tr("&Back"), this);
+ backAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Left));
+ connect(backAction, SIGNAL(triggered()), MediaView::instance(), SLOT(goBack()));
+ addAction(backAction);
+
+ forwardAction = new QAction(
+ Utils::icon("go-next"),
+ tr("&Back"), this);
+ forwardAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Right));
+ connect(forwardAction, SIGNAL(triggered()), MediaView::instance(), SLOT(goForward()));
+ addAction(forwardAction);
+
+ foreach (QAction* action, actions()) {
+ window()->addAction(action);
+ action->setAutoRepeat(false);
+ }
+
+ /*
+ 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));
+}
+
+void SidebarHeader::updateInfo() {
+ setup();
+
+ QList<VideoSource*> history = MediaView::instance()->getHistory();
+ int currentIndex = MediaView::instance()->getHistoryIndex();
+
+ bool canGoForward = MediaView::instance()->canGoForward();
+ forwardAction->setVisible(canGoForward);
+ forwardAction->setEnabled(canGoForward);
+ if (canGoForward) {
+ VideoSource *nextVideoSource = history.at(currentIndex + 1);
+ forwardAction->setStatusTip(
+ tr("Forward to %1")
+ .arg(nextVideoSource->getName())
+ + " (" + forwardAction->shortcut().toString(QKeySequence::NativeText) + ")"
+ );
+ }
+
+ bool canGoBack = MediaView::instance()->canGoBack();
+ bool backVisible = canGoForward || canGoBack;
+ backAction->setVisible(backVisible);
+ backAction->setEnabled(canGoBack);
+ if (canGoBack) {
+ VideoSource *previousVideoSource = history.at(currentIndex - 1);
+ backAction->setStatusTip(
+ tr("Back to %1")
+ .arg(previousVideoSource->getName())
+ + " (" + backAction->shortcut().toString(QKeySequence::NativeText) + ")"
+ );
+ }
+
+ VideoSource *currentVideoSource = history.at(currentIndex);
+ connect(currentVideoSource, SIGNAL(nameChanged(QString)),
+ SLOT(updateTitle(QString)), Qt::UniqueConnection);
+ setTitle(currentVideoSource->getName());
+}
+
+void SidebarHeader::updateTitle(QString title) {
+ sender()->disconnect(this);
+ setTitle(title);
+}
+
+void SidebarHeader::setTitle(QString title) {
+ this->title = title;
+ update();
+}
+
+void SidebarHeader::paintEvent(QPaintEvent *event) {
+ QToolBar::paintEvent(event);
+ if (title.isEmpty()) return;
+ QPainter p(this);
+ p.setFont(FontUtils::smallBold());
+ p.setPen(Qt::white);
+
+ const QRect r = rect();
+
+ 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) + "...";
+ textBox = p.boundingRect(r, Qt::AlignCenter, t);
+ i++;
+ }
+
+ p.drawText(r, Qt::AlignCenter, t);
+}
--- /dev/null
+#ifndef SIDEBARHEADER_H
+#define SIDEBARHEADER_H
+
+#include <QtGui>
+
+class SidebarHeader : public QToolBar {
+
+ Q_OBJECT
+
+public:
+ SidebarHeader(QWidget *parent = 0);
+ void updateInfo();
+
+protected:
+ QSize minimumSizeHint() const;
+ void paintEvent(QPaintEvent *event);
+
+private slots:
+ void updateTitle(QString title);
+
+private:
+ void setup();
+ void setTitle(QString title);
+
+ QAction *backAction;
+ QAction * forwardAction;
+ QString title;
+};
+
+#endif // SIDEBARHEADER_H
#include "sidebarwidget.h"
#include "refinesearchbutton.h"
#include "refinesearchwidget.h"
+#include "sidebarheader.h"
#ifndef Q_WS_X11
#include "extra.h"
#endif
namespace The {
-QMap<QString, QAction*>* globalActions();
+QHash<QString, QAction*>* globalActions();
}
SidebarWidget::SidebarWidget(QWidget *parent) :
playlist = 0;
QBoxLayout *layout = new QVBoxLayout(this);
- layout->setSpacing(1);
+ layout->setSpacing(0);
layout->setMargin(0);
+ sidebarHeader = new SidebarHeader();
+ layout->addWidget(sidebarHeader);
+
// hidden message widget
messageLabel = new QLabel(this);
messageLabel->setMargin(10);
void SidebarWidget::showPlaylist() {
setup();
stackedWidget->setCurrentWidget(playlist);
+ The::globalActions()->value("refine-search")->setChecked(false);
}
void SidebarWidget::showRefineSearchWidget() {
+ if (!refineSearchWidget->isEnabled()) return;
refineSearchWidget->setDirty(false);
stackedWidget->setCurrentWidget(refineSearchWidget);
refineSearchWidget->setFocus();
}
void SidebarWidget::showRefineSearchButton() {
+ if (!refineSearchWidget->isEnabled()) return;
refineSearchButton->move(
playlist->viewport()->width() - refineSearchButton->minimumWidth(),
height() - refineSearchButton->minimumHeight());
class RefineSearchButton;
class RefineSearchWidget;
+class SidebarHeader;
class SidebarWidget : public QWidget {
void setPlaylist(QListView *playlist);
void showPlaylist();
RefineSearchWidget* getRefineSearchWidget() { return refineSearchWidget; }
+ SidebarHeader* getHeader() { return sidebarHeader; }
void hideSuggestions();
public slots:
RefineSearchWidget *refineSearchWidget;
QTimer *mouseTimer;
QLabel *messageLabel;
-
+ SidebarHeader *sidebarHeader;
};
#endif // SIDEBARWIDGET_H
--- /dev/null
+#include "standardfeedsview.h"
+#include "videosourcewidget.h"
+#include "ytcategories.h"
+#include "ytstandardfeed.h"
+#include "ytregions.h"
+#include "mainwindow.h"
+
+namespace The {
+QHash<QString, QAction*>* globalActions();
+}
+
+static const int cols = 5;
+
+StandardFeedsView::StandardFeedsView(QWidget *parent) : QWidget(parent),
+ layout(0) {
+ QPalette p = palette();
+ p.setBrush(QPalette::Window, Qt::black);
+ setPalette(p);
+ setAutoFillBackground(true);
+
+ connect(The::globalActions()->value("worldwide-region"), SIGNAL(triggered()),
+ SLOT(selectWorldwideRegion()));
+
+ connect(The::globalActions()->value("local-region"), SIGNAL(triggered()),
+ SLOT(selectLocalRegion()));
+
+ /*
+ QAction *regionAction = MainWindow::instance()->getRegionAction();
+ connect(regionAction, SIGNAL(changed()), SLOT(load()));
+ */
+}
+
+void StandardFeedsView::load() {
+ YTCategories *youTubeCategories = new YTCategories(this);
+ connect(youTubeCategories, SIGNAL(categoriesLoaded(const QList<YTCategory> &)),
+ SLOT(layoutCategories(const QList<YTCategory> &)));
+ youTubeCategories->loadCategories();
+
+ if (layout) {
+ while (QLayoutItem *item = layout->takeAt(0)) {
+ delete item->widget();
+ delete item;
+ }
+ delete layout;
+ }
+
+ layout = new QGridLayout(this);
+ layout->setMargin(0);
+ layout->setSpacing(1);
+
+ QList<YTStandardFeed*> feeds = getMainFeeds();
+ foreach(YTStandardFeed *feed, feeds)
+ addVideoSourceWidget(feed);
+
+ YTRegion region = YTRegions::currentRegion();
+ QToolButton *regionButton = MainWindow::instance()->getRegionButton();
+ regionButton->setText(region.name);
+ regionButton->setIcon(YTRegions::iconForRegionId(region.id));
+}
+
+void StandardFeedsView::layoutCategories(const QList<YTCategory> &categories) {
+ QString regionId = YTRegions::currentRegionId();
+ foreach(YTCategory category, categories) {
+ // assign a parent to this VideoSource so it won't be deleted by MediaView
+ YTStandardFeed *feed = new YTStandardFeed(this);
+ feed->setCategory(category.term);
+ feed->setLabel(category.label);
+ feed->setRegionId(regionId);
+ feed->setFeedId("most_popular");
+ addVideoSourceWidget(feed);
+ }
+}
+
+void StandardFeedsView::addVideoSourceWidget(VideoSource *videoSource) {
+ VideoSourceWidget *w = new VideoSourceWidget(videoSource);
+ connect(w, SIGNAL(activated(VideoSource*)),
+ SIGNAL(activated(VideoSource*)));
+ int i = layout->count();
+ layout->addWidget(w, i / cols, i % cols);
+}
+
+QList<YTStandardFeed*> StandardFeedsView::getMainFeeds() {
+ QList<YTStandardFeed*> feeds;
+
+ feeds << buildStardardFeed("most_popular", tr("Most Popular"))
+ << buildStardardFeed("recently_featured", tr("Featured"))
+ << buildStardardFeed("most_shared", tr("Most Shared"))
+ << buildStardardFeed("most_discussed", tr("Most Discussed"))
+ << buildStardardFeed("top_rated", tr("Top Rated"));
+
+ return feeds;
+}
+
+YTStandardFeed* StandardFeedsView::buildStardardFeed(QString feedId, QString label) {
+ YTStandardFeed *feed = new YTStandardFeed(this);
+ feed->setFeedId(feedId);
+ feed->setLabel(label);
+ feed->setRegionId(YTRegions::currentRegionId());
+ return feed;
+}
+
+void StandardFeedsView::appear() {
+ setFocus();
+ if (!layout) load();
+ QAction *regionAction = MainWindow::instance()->getRegionAction();
+ regionAction->setVisible(true);
+}
+
+void StandardFeedsView::disappear() {
+ QAction *regionAction = MainWindow::instance()->getRegionAction();
+ regionAction->setVisible(false);
+}
+
+void StandardFeedsView::selectWorldwideRegion() {
+ YTRegions::setRegion(YTRegions::worldwideRegion().id);
+ load();
+}
+
+void StandardFeedsView::selectLocalRegion() {
+ YTRegions::setRegion(YTRegions::localRegion().id);
+ load();
+}
+
+
--- /dev/null
+#ifndef CATEGORIESVIEW_H
+#define CATEGORIESVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class VideoSource;
+class YTCategory;
+class YTStandardFeed;
+
+class StandardFeedsView : public QWidget, public View {
+
+ Q_OBJECT
+
+public:
+ StandardFeedsView(QWidget *parent = 0);
+
+signals:
+ void activated(VideoSource *standardFeed);
+
+public slots:
+ void appear();
+ void disappear();
+ void load();
+
+private slots:
+ void layoutCategories(const QList<YTCategory> &categories);
+ void selectWorldwideRegion();
+ void selectLocalRegion();
+
+private:
+ void addVideoSourceWidget(VideoSource *videoSource);
+ QList<YTStandardFeed*> getMainFeeds();
+ YTStandardFeed* buildStardardFeed(QString feedId, QString label);
+ QGridLayout *layout;
+
+};
+
+#endif // CATEGORIESVIEW_H
Q_OBJECT
public:
+ Suggester(QObject *parent = 0) : QObject(parent) { }
virtual void suggest(QString query) = 0;
signals:
+++ /dev/null
-#include <QPainter>
-#include <QPaintEvent>
-#include <QList>
-#include <QtGui>
-
-#include "thblackbar.h"
-#include "../fontutils.h"
-
-/* ============================================================================
- * PRIVATE Class
- */
-class THBlackBar::Private {
- public:
- QList<QAction *> actionList;
- QAction *checkedAction;
- QAction *hoveredAction;
-};
-
-/* ============================================================================
- * PUBLIC Constructor/Destructors
- */
-THBlackBar::THBlackBar (QWidget *parent)
- : QWidget(parent), d(new THBlackBar::Private)
-{
- // Setup Widget Options
- setMouseTracking(true);
-
- // Setup Members
- d->hoveredAction = NULL;
- d->checkedAction = NULL;
-}
-
-THBlackBar::~THBlackBar() {
- delete d;
-}
-
-/* ============================================================================
- * PUBLIC Methods
- */
-QAction *THBlackBar::addAction (QAction *action) {
- action->setCheckable(true);
- d->actionList.append(action);
- return(action);
-}
-
-QAction *THBlackBar::addAction (const QString& text) {
- QAction *action = new QAction(text, this);
- action->setCheckable(true);
- d->actionList.append(action);
- return(action);
-}
-
-void THBlackBar::setCheckedAction(int index) {
- if (d->checkedAction)
- d->checkedAction->setChecked(false);
- d->checkedAction = d->actionList.at(index);
- d->checkedAction->setChecked(true);
- update();
-}
-
-QSize THBlackBar::minimumSizeHint (void) const {
- int itemsWidth = calculateButtonWidth() * d->actionList.size();
- return(QSize(100 + itemsWidth, 32));
-}
-
-/* ============================================================================
- * PROTECTED Methods
- */
-void THBlackBar::paintEvent (QPaintEvent *event) {
- int height = rect().height();
- int width = rect().width();
- // int mh = (height / 2);
-
- // THPainter p(this);
- QPainter p(this);
-
- /*
- // Draw Background
- QLinearGradient linearGradUp(QPointF(0, 0), QPointF(0, mh));
- linearGradUp.setColorAt(0, QColor(0x97, 0x97, 0x97));
- linearGradUp.setColorAt(1, QColor(0x4d, 0x4d, 0x4d));
- p.fillRect(0, 0, width, mh, QBrush(linearGradUp));
-
- QLinearGradient linearGradDw(QPointF(0, mh), QPointF(0, height));
- linearGradDw.setColorAt(0, QColor(0x3a, 0x3a, 0x3a));
- linearGradDw.setColorAt(1, QColor(0x42, 0x42, 0x42));
- p.fillRect(0, mh, width, mh, QBrush(linearGradDw));
- */
-
- // Calculate Buttons Size & Location
- int buttonWidth = width / d->actionList.size(); // calculateButtonWidth();
- // int buttonsWidth = width; // buttonWidth * d->actionList.size();
- int buttonsX = 0; // (width / 2) - (buttonsWidth / 2);
-
- // Draw Buttons
- // p.translate(0, 4);
- QRect rect(buttonsX, 0, buttonWidth, height);
- foreach (QAction *action, d->actionList) {
- drawButton(&p, rect, action);
- rect.moveLeft(rect.x() + rect.width());
- }
- // p.translate(0, -4);
-
- // Draw Buttons Shadow
- // p.fillRect(buttonsX, height - 4, buttonsWidth, 1, QColor(0x6d, 0x6d, 0x6d));
-
- p.end();
-}
-
-void THBlackBar::mouseMoveEvent (QMouseEvent *event) {
- QWidget::mouseMoveEvent(event);
-
- QAction *action = hoveredAction(event->pos());
-
- if (action == NULL && d->hoveredAction != NULL) {
- // d->hoveredAction->hover(false);
- d->hoveredAction = NULL;
- update();
- } else if (action != NULL) {
- d->hoveredAction = action;
- action->hover();
- update();
-
- // status tip
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) mainWindow->statusBar()->showMessage(action->statusTip());
- }
-}
-
-void THBlackBar::mousePressEvent (QMouseEvent *event) {
- QWidget::mousePressEvent(event);
-
- if (d->hoveredAction != NULL) {
-
- if (d->checkedAction != NULL) {
- // already checked
- if (d->checkedAction == d->hoveredAction) return;
- d->checkedAction->setChecked(false);
- }
-
- d->checkedAction = d->hoveredAction;
- d->hoveredAction->setChecked(true);
- d->hoveredAction->trigger();
-
- update();
- }
-}
-
-void THBlackBar::leaveEvent(QEvent *event) {
- // status tip
- QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
- if (mainWindow) mainWindow->statusBar()->clearMessage();
-}
-
-QAction *THBlackBar::hoveredAction (const QPoint& pos) const {
- if (pos.y() <= 0 || pos.y() >= height())
- return(NULL);
-
- /*
- int buttonWidth = calculateButtonWidth();
- int buttonsWidth = buttonWidth * d->actionList.size();
- int buttonsX = (width() / 2) - (buttonsWidth / 2);
- */
-
- int buttonWidth = width() / d->actionList.size(); // calculateButtonWidth();
- int buttonsWidth = width(); // buttonWidth * d->actionList.size();
- int buttonsX = 0; // (width / 2) - (buttonsWidth / 2);
-
- if (pos.x() <= buttonsX || pos.x() >= (buttonsX + buttonsWidth))
- return(NULL);
-
- int buttonIndex = (pos.x() - buttonsX) / buttonWidth;
-
- if (buttonIndex >= d->actionList.size())
- return(NULL);
- return(d->actionList[buttonIndex]);
-}
-
-int THBlackBar::calculateButtonWidth (void) const {
- QFont smallerBoldFont = FontUtils::smallBold();
- QFontMetrics fontMetrics(smallerBoldFont);
- int tmpItemWidth, itemWidth = 0;
- foreach (QAction *action, d->actionList) {
- tmpItemWidth = fontMetrics.width(action->text());
- if (itemWidth < tmpItemWidth) itemWidth = tmpItemWidth;
- }
- return itemWidth;
-}
-
-
-/* ============================================================================
- * PRIVATE Methods
- */
-void THBlackBar::drawUnselectedButton ( QPainter *painter,
- const QRect& rect,
- const QAction *action)
-{
- QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, rect.height() / 2));
- linearGrad.setColorAt(0, QColor(0x8e, 0x8e, 0x8e));
- linearGrad.setColorAt(1, QColor(0x5c, 0x5c, 0x5c));
- /*
- QPalette palette;
- linearGrad.setColorAt(0, palette.color(QPalette::Dark));
- linearGrad.setColorAt(1, palette.color(QPalette::Midlight));
-*/
- drawButton(painter, rect, linearGrad, QColor(0x41, 0x41, 0x41), action);
- // drawButton(painter, rect, linearGrad, palette.color(QPalette::Shadow), action);
-}
-
-void THBlackBar::drawSelectedButton ( QPainter *painter,
- const QRect& rect,
- const QAction *action)
-{
- QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, rect.height() / 2));
- linearGrad.setColorAt(0, QColor(0x6d, 0x6d, 0x6d));
- linearGrad.setColorAt(1, QColor(0x25, 0x25, 0x25));
- drawButton(painter, rect, linearGrad, QColor(0x00, 0x00, 0x00), action);
-}
-
-void THBlackBar::drawButton ( QPainter *painter,
- const QRect& rect,
- const QAction *action)
-{
- if (action->isChecked())
- drawSelectedButton(painter, rect, action);
- else
- drawUnselectedButton(painter, rect, action);
-}
-
-void THBlackBar::drawButton ( QPainter *painter,
- const QRect& rect,
- const QLinearGradient& gradient,
- const QColor& color,
- const QAction *action)
-{
- painter->save();
-
- int height = rect.height();
- int width = rect.width();
- int mh = (height / 2);
-
- painter->translate(rect.x(), rect.y());
- painter->setPen(QColor(0x28, 0x28, 0x28));
-
- painter->fillRect(0, 0, width, mh, QBrush(gradient));
- painter->fillRect(0, mh, width, mh, color);
-#if defined(APP_MAC) | defined(APP_WIN)
- painter->drawRect(-1, -1, width+1, height);
-#else
- painter->drawRect(0, 0, width, height);
-#endif
- QFont smallerBoldFont = FontUtils::smallBold();
- painter->setFont(smallerBoldFont);
- painter->setPen(QPen(QColor(0xff, 0xff, 0xff), 1));
- painter->drawText(0, 1, width, height, Qt::AlignCenter, action->text());
-
- painter->restore();
-}
-
+++ /dev/null
-#ifndef _THBLACKBAR_H_
-#define _THBLACKBAR_H_
-
-#include <QWidget>
-#include <QAction>
-
-class THBlackBar : public QWidget {
-
- Q_OBJECT
-
- public:
- THBlackBar (QWidget *parent = 0);
- ~THBlackBar();
-
- public:
- QAction *addAction (QAction *action);
- QAction *addAction (const QString& text);
- void setCheckedAction(int index);
-
- QSize minimumSizeHint (void) const;
-
- protected:
- void paintEvent (QPaintEvent *event);
-
- void mouseMoveEvent (QMouseEvent *event);
- void mousePressEvent (QMouseEvent *event);
- void leaveEvent(QEvent *event);
-
- private:
- void drawUnselectedButton ( QPainter *painter,
- const QRect& rect,
- const QAction *action);
- void drawSelectedButton ( QPainter *painter,
- const QRect& rect,
- const QAction *action);
- void drawButton ( QPainter *painter,
- const QRect& rect,
- const QAction *action);
- void drawButton ( QPainter *painter,
- const QRect& rect,
- const QLinearGradient& gradient,
- const QColor& color,
- const QAction *action);
-
- QAction *hoveredAction (const QPoint& pos) const;
- int calculateButtonWidth (void) const;
-
- private:
- class Private;
- Private *d;
-};
-
-#endif /* !_THBLACKBAR_H_ */
-
+++ /dev/null
-DEPENDPATH += $$PWD
-INCLUDEPATH += $$PWD
-HEADERS += thblackbar.h
-SOURCES += thblackbar.cpp
#include "updatechecker.h"
#include "networkaccess.h"
#include "constants.h"
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
namespace The {
NetworkAccess* http();
#ifdef APP_WIN
updateUrl.addQueryItem("os", "win");
#endif
-#ifdef APP_DEMO
- updateUrl.addQueryItem("t", "demo");
+#ifdef APP_ACTIVATION
+ QString t = "demo";
+ if (Activation::instance().isActivated()) t = "active";
+ updateUrl.addQueryItem("t", t);
#endif
#ifdef APP_MAC_STORE
updateUrl.addQueryItem("store", "mac");
while (!atEnd()) {
readNext();
if (isStartElement()) {
- if (name() == "release") {
+ if (name() == QLatin1String("release")) {
while (!atEnd()) {
readNext();
- if (isStartElement() && name() == "version") {
+ if (isStartElement() && name() == QLatin1String("version")) {
QString remoteVersion = readElementText();
qDebug() << remoteVersion << QString(Constants::VERSION);
m_needUpdate = remoteVersion != QString(Constants::VERSION);
--- /dev/null
+#include "userview.h"
+
+UserView::UserView(QWidget *parent) : QWidget(parent) {
+ layout = new QGridLayout(this);
+}
--- /dev/null
+#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
--- /dev/null
+#include "utils.h"
+#ifndef Q_WS_X11
+#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::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
+ return Extra::getIcon(name);
+#endif
+}
+
+QIcon Utils::icon(const QStringList &names) {
+ QIcon icon;
+ foreach (QString name, names) {
+ icon = getIcon(name);
+ if (!icon.availableSizes().isEmpty()) break;
+ }
+ return icon;
+}
--- /dev/null
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <QtGui>
+
+class Utils {
+
+public:
+ static QIcon icon(const QString &name);
+ static QIcon icon(const QStringList &names);
+
+private:
+ Utils() { }
+
+};
+
+#endif // UTILS_H
cloneVideo->m_title = m_title;
cloneVideo->m_description = m_description;
cloneVideo->m_author = m_author;
+ cloneVideo->m_authorUri = m_authorUri;
cloneVideo->m_webpage = m_webpage;
cloneVideo->m_streamUrl = m_streamUrl;
cloneVideo->m_thumbnail = m_thumbnail;
- cloneVideo->m_thumbnailUrls = m_thumbnailUrls;
+ cloneVideo->m_thumbnailUrl = m_thumbnailUrl;
+ cloneVideo->m_mediumThumbnailUrl = m_mediumThumbnailUrl;
cloneVideo->m_duration = m_duration;
cloneVideo->m_published = m_published;
cloneVideo->m_viewCount = m_viewCount;
return cloneVideo;
}
-void Video::preloadThumbnail() {
- if (m_thumbnailUrls.isEmpty()) return;
- QObject *reply = The::http()->get(m_thumbnailUrls.first());
+void Video::setWebpage(QUrl webpage) {
+ m_webpage = webpage;
+
+ // Get Video ID
+ // youtube-dl line 428
+ // QRegExp re("^((?:http://)?(?:\\w+\\.)?youtube\\.com/(?:(?:v/)|(?:(?:watch(?:\\.php)?)?\\?(?:.+&)?v=)))?([0-9A-Za-z_-]+)(?(1).+)?$");
+ 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());
+ // emit errorStreamUrl(QString("Cannot get video id for %1").arg(m_webpage.toString()));
+ // loadingStreamUrl = false;
+ return;
+ }
+ videoId = re.cap(1);
+}
+
+void Video::loadThumbnail() {
+ QObject *reply = The::http()->get(m_thumbnailUrl);
connect(reply, SIGNAL(data(QByteArray)), SLOT(setThumbnail(QByteArray)));
}
void Video::setThumbnail(QByteArray bytes) {
- m_thumbnail = QImage::fromData(bytes);
+ m_thumbnail.loadFromData(bytes);
+ m_thumbnail = m_thumbnail.scaled(160, 90);
emit gotThumbnail();
}
-const QImage Video::thumbnail() const {
- return m_thumbnail;
+void Video::loadMediumThumbnail() {
+ if (m_mediumThumbnailUrl.isEmpty()) return;
+ QObject *reply = The::http()->get(m_mediumThumbnailUrl);
+ connect(reply, SIGNAL(data(QByteArray)), SIGNAL(gotMediumThumbnail(QByteArray)));
}
void Video::loadStreamUrl() {
loadingStreamUrl = true;
// https://develop.participatoryculture.org/trac/democracy/browser/trunk/tv/portable/flashscraper.py
-
- // Get Video ID
- // youtube-dl line 428
- // QRegExp re("^((?:http://)?(?:\\w+\\.)?youtube\\.com/(?:(?:v/)|(?:(?:watch(?:\\.php)?)?\\?(?:.+&)?v=)))?([0-9A-Za-z_-]+)(?(1).+)?$");
- QRegExp re("^http://www\\.youtube\\.com/watch\\?v=([0-9A-Za-z_-]+).*");
- bool match = re.exactMatch(m_webpage.toString());
- if (!match || re.numCaptures() < 1) {
- emit errorStreamUrl(QString("Cannot get video id for %1").arg(m_webpage.toString()));
- loadingStreamUrl = false;
- return;
- }
- videoId = re.cap(1);
-
getVideoInfo();
-
}
void Video::getVideoInfo() {
// see you in gotHeadHeaders()
}
+
+
+QString Video::formattedDuration() const {
+ QString format = m_duration > 3600 ? "h:mm:ss" : "m:ss";
+ return QTime().addSecs(m_duration).toString(format);
+}
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 QUrl webpage() const { return m_webpage; }
- void setWebpage( QUrl webpage ) { m_webpage = webpage; }
+ void setWebpage(QUrl webpage);
+
+ void loadThumbnail();
+ const QPixmap & thumbnail() const { return m_thumbnail; }
- QList<QUrl> thumbnailUrls() const { return m_thumbnailUrls; }
- void addThumbnailUrl(QUrl url) {
- m_thumbnailUrls << url;
- }
+ QString thumbnailUrl() { return m_thumbnailUrl; }
+ void setThumbnailUrl(QString url) { m_thumbnailUrl = url; }
- void preloadThumbnail();
- const QImage thumbnail() const;
+ void loadMediumThumbnail();
+ QString mediumThumbnailUrl() { return m_mediumThumbnailUrl; }
+ void setMediumThumbnailUrl(QString url) { m_mediumThumbnailUrl = url; }
int duration() const { return m_duration; }
void setDuration( int duration ) { m_duration = duration; }
+ QString formattedDuration() const;
int viewCount() const { return m_viewCount; }
void setViewCount( int viewCount ) { m_viewCount = viewCount; }
void loadStreamUrl();
QUrl getStreamUrl() { return m_streamUrl; }
- QString id() { return videoId; }
-
-public slots:
- void setThumbnail(QByteArray bytes);
+ QString id() const { return videoId; }
signals:
void gotThumbnail();
+ void gotMediumThumbnail(QByteArray bytes);
void gotStreamUrl(QUrl streamUrl);
void errorStreamUrl(QString message);
private slots:
+ void setThumbnail(QByteArray bytes);
void gotVideoInfo(QByteArray);
void errorVideoInfo(QNetworkReply*);
void scrapeWebPage(QByteArray);
QString m_title;
QString m_description;
QString m_author;
+ QString m_authorUri;
QUrl m_webpage;
QUrl m_streamUrl;
- QImage m_thumbnail;
- QList<QUrl> m_thumbnailUrls;
+ QPixmap m_thumbnail;
+ QString m_thumbnailUrl;
+ QString m_mediumThumbnailUrl;
int m_duration;
QDateTime m_published;
int m_viewCount;
- // The YouTube video id
- // This is needed by the gotVideoInfo callback
QString videoId;
-
QString videoToken;
int definitionCode;
snapshotPreview = new QLabel(this);
stackedLayout->addWidget(snapshotPreview);
- setLayout(vLayout);
- setAcceptDrops(true);
-
+ setAcceptDrops(true);
setMouseTracking(true);
}
#include <QWidget>
#include "video.h"
#include "loadingwidget.h"
-#include "ListModel.h"
+#include "playlistmodel.h"
class VideoAreaWidget : public QWidget {
Q_OBJECT
public:
- VideoAreaWidget(QWidget *parent);
+ VideoAreaWidget(QWidget *parent = 0);
void setVideoWidget(QWidget *videoWidget);
void setLoadingWidget(LoadingWidget *loadingWidget);
void showLoading(Video* video);
void showVideo();
void showError(QString message);
void clear();
- void setListModel(ListModel *listModel) {
+ void setListModel(PlaylistModel *listModel) {
this->listModel = listModel;
}
void showSnapshotPreview(QPixmap pixmap);
QStackedLayout *stackedLayout;
QWidget *videoWidget;
LoadingWidget *loadingWidget;
- ListModel *listModel;
+ PlaylistModel *listModel;
QLabel *messageLabel;
QLabel *snapshotPreview;
}
bool VideoMimeData::hasFormat( const QString &mimeType ) const {
- return mimeType == "application/x-minitube-video";
+ return mimeType == QLatin1String("application/x-minitube-video");
}
--- /dev/null
+#include "videosource.h"
+
+void VideoSource::setParam(QString name, QVariant value) {
+ bool success = setProperty(name.toUtf8(), value);
+ if (!success) qWarning() << "Failed to set property" << name << value.toString();
+}
--- /dev/null
+#ifndef VIDEOSOURCE_H
+#define VIDEOSOURCE_H
+
+#include <QtCore>
+
+class Video;
+
+class VideoSource : public QObject {
+
+ Q_OBJECT
+
+public:
+ VideoSource(QObject *parent = 0) : QObject(parent) { }
+ virtual void loadVideos(int max, int skip) = 0;
+ virtual void abort() = 0;
+ virtual const QStringList & getSuggestions() = 0;
+ virtual QString getName() = 0;
+
+public slots:
+ void setParam(QString name, QVariant value);
+
+signals:
+ void gotVideos(QList<Video*> videos);
+ void finished(int total);
+ void error(QString message);
+ void nameChanged(QString name);
+
+};
+
+#endif // VIDEOSOURCE_H
--- /dev/null
+#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) {
+
+ 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);
+}
+
+void VideoSourceWidget::activate() {
+ emit activated(videoSource);
+}
+
+void VideoSourceWidget::previewVideo(QList<Video*> videos) {
+ videoSource->disconnect();
+ if (videos.isEmpty()) return;
+ video = videos.first();
+ connect(video, SIGNAL(gotMediumThumbnail(QByteArray)),
+ SLOT(setPixmapData(QByteArray)), Qt::UniqueConnection);
+ video->loadMediumThumbnail();
+}
+
+void VideoSourceWidget::setPixmapData(QByteArray bytes) {
+ video->deleteLater();
+ video = 0;
+ pixmap.loadFromData(bytes);
+ update();
+}
+
+QPixmap VideoSourceWidget::playPixmap() {
+ const int s = height() / 2;
+ const int padding = s / 8;
+ QPixmap playIcon = QPixmap(s, s);
+ playIcon.fill(Qt::transparent);
+ QPainter painter(&playIcon);
+ QPolygon polygon;
+ polygon << QPoint(padding, padding)
+ << QPoint(s - padding, s / 2)
+ << QPoint(padding, s - padding);
+ painter.setRenderHints(QPainter::Antialiasing, true);
+
+ // QColor color = pressed ? Qt::black : Qt::white;
+ QColor color = Qt::white;
+ painter.setBrush(color);
+ QPen pen;
+ pen.setColor(color);
+ pen.setWidth(10);
+ pen.setJoinStyle(Qt::RoundJoin);
+ pen.setCapStyle(Qt::RoundCap);
+ painter.setPen(pen);
+ painter.drawPolygon(polygon);
+ return playIcon;
+}
+
+void VideoSourceWidget::paintEvent(QPaintEvent *) {
+ if (pixmap.isNull()) return;
+
+ QPainter p(this);
+
+ const int w = width();
+ const int h = height();
+
+ int xOffset = 0;
+ int xOrigin = 0;
+ int wDiff = pixmap.width() - w;
+ if (wDiff > 0) xOffset = wDiff / 2;
+ else xOrigin = -wDiff / 2;
+ int yOffset = 0;
+ int yOrigin = 0;
+ int hDiff = pixmap.height() - h;
+ if (hDiff > 0) yOffset = hDiff / 4;
+ else yOrigin = -hDiff / 2;
+ p.drawPixmap(xOrigin, yOrigin, pixmap, xOffset, yOffset, w, h);
+
+ if (hovered) {
+ QPixmap play = playPixmap();
+ p.save();
+ p.setOpacity(.5);
+ p.drawPixmap(
+ (w - play.width()) / 2,
+ (h * 2/3 - play.height()) / 2,
+ play
+ );
+ p.restore();
+ }
+
+ QRect nameBox = rect();
+ nameBox.adjust(0, 0, 0, -h*2/3);
+ nameBox.translate(0, h - nameBox.height());
+ p.save();
+ p.setPen(Qt::NoPen);
+ p.setBrush(QColor(0, 0, 0, 128));
+ p.drawRect(nameBox);
+ p.restore();
+
+ QString name = videoSource->getName();
+ bool tooBig = false;
+ p.save();
+ p.setFont(FontUtils::medium());
+ QRect textBox = p.boundingRect(nameBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+ if (textBox.height() > nameBox.height()) {
+ p.setFont(font());
+ textBox = p.boundingRect(nameBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+ if (textBox.height() > nameBox.height()) {
+ p.setClipRect(nameBox);
+ tooBig = true;
+ }
+ }
+ p.setPen(Qt::white);
+ if (tooBig)
+ p.drawText(nameBox, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, name);
+ else
+ p.drawText(textBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+ p.restore();
+
+ if (hasFocus()) {
+ p.save();
+ QPen pen;
+ pen.setBrush(palette().highlight());
+ pen.setWidth(2);
+ p.setPen(pen);
+ p.drawRect(rect());
+ 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);
+}
--- /dev/null
+#ifndef VIDEOSOURCEWIDGET_H
+#define VIDEOSOURCEWIDGET_H
+
+#include <QtGui>
+
+class Video;
+class VideoSource;
+
+class VideoSourceWidget : public QWidget {
+
+ Q_OBJECT
+
+public:
+ VideoSourceWidget(VideoSource *videoSource, QWidget *parent = 0);
+
+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);
+
+private slots:
+ void activate();
+ void previewVideo(QList<Video*> videos);
+ void setPixmapData(QByteArray bytes);
+
+private:
+ QPixmap playPixmap();
+ VideoSource *videoSource;
+ QPixmap pixmap;
+ Video *video;
+
+ bool hovered;
+ bool pressed;
+};
+
+#endif // VIDEOSOURCEWIDGET_H
--- /dev/null
+#ifndef VIEW_H
+#define VIEW_H
+
+class View {
+
+public:
+ virtual QHash<QString, QVariant> metadata() { return QHash<QString, QVariant>(); }
+ virtual void appear() {}
+ virtual void disappear() {}
+
+};
+
+#endif // VIEW_H
+++ /dev/null
-#include "youtubesearch.h"
-#include "youtubestreamreader.h"
-#include "constants.h"
-#include "networkaccess.h"
-
-namespace The {
- NetworkAccess* http();
-}
-
-YouTubeSearch::YouTubeSearch() : QObject() {}
-
-void YouTubeSearch::search(SearchParams *searchParams, int max, int skip) {
- this->abortFlag = false;
-
- QUrl url("http://gdata.youtube.com/feeds/api/videos/");
- url.addQueryItem("v", "2");
-
- url.addQueryItem("max-results", QString::number(max));
- url.addQueryItem("start-index", QString::number(skip));
-
- if (!searchParams->keywords().isEmpty()) {
- if (searchParams->keywords().startsWith("http://") ||
- searchParams->keywords().startsWith("https://")) {
- url.addQueryItem("q", YouTubeSearch::videoIdFromUrl(searchParams->keywords()));
- } else url.addQueryItem("q", searchParams->keywords());
- }
-
- if (!searchParams->author().isEmpty())
- url.addQueryItem("author", searchParams->author());
-
- switch (searchParams->sortBy()) {
- case SearchParams::SortByNewest:
- url.addQueryItem("orderby", "published");
- break;
- case SearchParams::SortByViewCount:
- url.addQueryItem("orderby", "viewCount");
- break;
- case SearchParams::SortByRating:
- url.addQueryItem("orderby", "rating");
- break;
- }
-
- switch (searchParams->duration()) {
- case SearchParams::DurationShort:
- url.addQueryItem("duration", "short");
- break;
- case SearchParams::DurationMedium:
- url.addQueryItem("duration", "medium");
- break;
- case SearchParams::DurationLong:
- url.addQueryItem("duration", "long");
- break;
- }
-
- switch (searchParams->time()) {
- case SearchParams::TimeToday:
- url.addQueryItem("time", "today");
- break;
- case SearchParams::TimeWeek:
- url.addQueryItem("time", "this_week");
- break;
- case SearchParams::TimeMonth:
- url.addQueryItem("time", "this_month");
- break;
- }
-
- switch (searchParams->quality()) {
- case SearchParams::QualityHD:
- url.addQueryItem("hd", "true");
- break;
- }
-
- QObject *reply = The::http()->get(url);
- connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
- connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(error(QNetworkReply*)));
-
-}
-
-void YouTubeSearch::error(QNetworkReply *reply) {
- emit error(reply->errorString());
-}
-
-void YouTubeSearch::parseResults(QByteArray data) {
-
- YouTubeStreamReader reader;
- if (!reader.read(data)) {
- qDebug() << "Error parsing XML";
- }
- videos = reader.getVideos();
- suggestions = reader.getSuggestions();
-
- foreach (Video *video, videos) {
- // send it to the model
- emit gotVideo(video);
- }
-
- foreach (Video *video, videos) {
- // preload the thumb
- if (abortFlag) return;
- video->preloadThumbnail();
- }
-
- emit finished(videos.size());
-}
-
-QList<Video*> YouTubeSearch::getResults() {
- return videos;
-}
-
-const QStringList & YouTubeSearch::getSuggestions() const {
- return suggestions;
-}
-
-void YouTubeSearch::abort() {
- this->abortFlag = true;
-}
-
-QString YouTubeSearch::videoIdFromUrl(QString url) {
- QRegExp re = QRegExp("^.*\\?v=([^&]+).*$");
- if (re.exactMatch(url)) {
- QString videoId = re.cap(1);
- videoId.remove('-');
- return videoId;
- }
- return QString();
-}
+++ /dev/null
-#ifndef YOUTUBESEARCH_H
-#define YOUTUBESEARCH_H
-
-#include "video.h"
-#include "searchparams.h"
-
-class YouTubeSearch : public QObject {
-
- Q_OBJECT
-
-public:
- YouTubeSearch();
- void search(SearchParams *searchParams, int max, int skip);
- void abort();
- QList<Video*> getResults();
- const QStringList & getSuggestions() const;
- static QString videoIdFromUrl(QString url);
-
-signals:
- void gotVideo(Video*);
- void finished(int total);
- void error(QString message);
-
-private slots:
- void parseResults(QByteArray data);
- void error(QNetworkReply *reply);
-
-private:
-
- QList<Video*> videos;
- QStringList suggestions;
-
- bool abortFlag;
-
-};
-
-#endif // YOUTUBESEARCH_H
+++ /dev/null
-#include "youtubestreamreader.h"
-#include <QtGui>
-
-
-YouTubeStreamReader::YouTubeStreamReader() {
-
-}
-
-bool YouTubeStreamReader::read(QByteArray data) {
- addData(data);
-
- while (!atEnd()) {
- readNext();
- if (isStartElement()) {
- if (name() == "feed") {
- while (!atEnd()) {
- readNext();
- if (isStartElement() && name() == "entry") {
- readEntry();
- } else if (name() == "link"
- && attributes().value("rel").toString()
- == "http://schemas.google.com/g/2006#spellcorrection") {
- suggestions << attributes().value("title").toString();
- }
- }
- }
- }
- }
-
- return !error();
-}
-
-void YouTubeStreamReader::readMediaGroup() {
-
-}
-
-void YouTubeStreamReader::readEntry() {
- Video* video = new Video();
- // qDebug(" *** ENTRY ***");
-
- while (!atEnd()) {
- readNext();
-
- /*
- qDebug() << name();
- QXmlStreamAttribute attribute;
- foreach (attribute, attributes())
- qDebug() << attribute.name() << ":" << attribute.value();
- */
-
- if (isEndElement() && name() == "entry") break;
- if (isStartElement()) {
-
- if (name() == "link"
- && attributes().value("rel").toString() == "alternate"
- && attributes().value("type").toString() == "text/html"
- ) {
- QString webpage = attributes().value("href").toString();
- webpage.remove("&feature=youtube_gdata");
- // qDebug() << "Webpage: " << webpage;
- video->setWebpage(QUrl(webpage));
-
- } else if (name() == "author") {
- readNext();
- if (name() == "name") {
- QString author = readElementText();
- // qDebug() << "Author: " << author;
- video->setAuthor(author);
- }
- } else if (name() == "published") {
- video->setPublished(QDateTime::fromString(readElementText(), Qt::ISODate));
- } else if (namespaceUri() == "http://gdata.youtube.com/schemas/2007" && name() == "statistics") {
-
- QString viewCount = attributes().value("viewCount").toString();
- // qDebug() << "viewCount: " << viewCount;
- video->setViewCount(viewCount.toInt());
- }
- else if (namespaceUri() == "http://search.yahoo.com/mrss/" && name() == "group") {
-
- // read media group
- while (!atEnd()) {
- readNext();
- if (isEndElement() && name() == "group") break;
- if (isStartElement()) {
- if (name() == "thumbnail") {
- // qDebug() << "Thumb: " << attributes().value("url").toString();
- // video->thumbnailUrls() << QUrl(attributes().value("url").toString());
- video->addThumbnailUrl(QUrl(attributes().value("url").toString()));
- }
- else if (name() == "title") {
- QString title = readElementText();
- // qDebug() << "Title: " << title;
- video->setTitle(title);
- }
- else if (name() == "description") {
- QString desc = readElementText();
- // qDebug() << "Description: " << desc;
- video->setDescription(desc);
- }
- else if (name() == "duration") {
- QString duration = attributes().value("seconds").toString();
- // qDebug() << "Duration: " << duration;
- video->setDuration(duration.toInt());
- }
- }
- }
- }
- }
- }
-
- videos.append(video);
-
-}
-
-QList<Video*> YouTubeStreamReader::getVideos() {
- return videos;
-}
-
-const QStringList & YouTubeStreamReader::getSuggestions() const {
- return suggestions;
-}
+++ /dev/null
-#ifndef YOUTUBESTREAMREADER_H
-#define YOUTUBESTREAMREADER_H
-
-#include <QXmlStreamReader>
-#include <QBuffer>
-#include "video.h"
-
-class YouTubeStreamReader : public QXmlStreamReader
-{
-public:
- YouTubeStreamReader();
- bool read(QByteArray data);
- QList<Video*> getVideos();
- const QStringList & getSuggestions() const;
-
-private:
- void readMediaGroup();
- void readEntry();
- QList<Video*> videos;
- QStringList suggestions;
-};
-
-#endif // YOUTUBESTREAMREADER_H
+++ /dev/null
-#include "youtubesuggest.h"
-#include <QtXml>
-#include "networkaccess.h"
-
-#define GSUGGEST_URL "http://suggestqueries.google.com/complete/search?ds=yt&output=toolbar&hl=%1&q=%2"
-
-namespace The {
- NetworkAccess* http();
-}
-
-YouTubeSuggest::YouTubeSuggest(QObject *parent) : Suggester() {
-
-}
-
-void YouTubeSuggest::suggest(QString query) {
- QString locale = QLocale::system().name().replace("_", "-");
- // case for system locales such as "C"
- if (locale.length() < 2) {
- locale = "en-US";
- }
-
- QString url = QString(GSUGGEST_URL).arg(locale, query);
-
- QObject *reply = The::http()->get(url);
- connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
-}
-
-void YouTubeSuggest::handleNetworkData(QByteArray response) {
- QStringList choices;
-
- QXmlStreamReader xml(response);
- while (!xml.atEnd()) {
- xml.readNext();
- if (xml.tokenType() == QXmlStreamReader::StartElement) {
- if (xml.name() == "suggestion") {
- QStringRef str = xml.attributes().value("data");
- choices << str.toString();
- }
- }
- }
- emit ready(choices);
-}
+++ /dev/null
-#ifndef YOUTUBESUGGEST_H
-#define YOUTUBESUGGEST_H
-
-#include <QtCore>
-
-#include "suggester.h"
-
-class YouTubeSuggest : public Suggester {
-
- Q_OBJECT
-
-public:
- YouTubeSuggest(QObject *parent = 0);
- void suggest(QString query);
-
-signals:
- void ready(QStringList);
-
-private slots:
- void handleNetworkData(QByteArray response);
-
-};
-
-#endif // YOUTUBESUGGEST_H
--- /dev/null
+#include "ytcategories.h"
+#include "networkaccess.h"
+#include <QtXml>
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTCategories::YTCategories(QObject *parent) : QObject(parent) { }
+
+void YTCategories::loadCategories(QString language) {
+ if (language.isEmpty())
+ language = QLocale::system().uiLanguages().first();
+ lastLanguage = language;
+
+ QString url = "http://gdata.youtube.com/schemas/2007/categories.cat?hl=" + language;
+ QObject *reply = The::http()->get(url);
+ connect(reply, SIGNAL(data(QByteArray)), SLOT(parseCategories(QByteArray)));
+ connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTCategories::parseCategories(QByteArray bytes) {
+ QList<YTCategory> categories;
+
+ QXmlStreamReader xml(bytes);
+ while (!xml.atEnd()) {
+ xml.readNext();
+ if (xml.isStartElement() && xml.name() == QLatin1String("category")) {
+ QString term = xml.attributes().value("term").toString();
+ QString label = xml.attributes().value("label").toString();
+ while(xml.readNextStartElement())
+ if (xml.name() == QLatin1String("assignable")) {
+ YTCategory category;
+ category.term = term;
+ category.label = label;
+ categories << category;
+ } else xml.skipCurrentElement();
+ }
+ }
+
+ if (xml.hasError()) {
+ emit error(xml.errorString());
+ return;
+ }
+
+ emit categoriesLoaded(categories);
+}
+
+void YTCategories::requestError(QNetworkReply *reply) {
+ if (lastLanguage != "en") loadCategories("en");
+ else emit error(reply->errorString());
+}
--- /dev/null
+#ifndef YTCATEGORIES_H
+#define YTCATEGORIES_H
+
+#include <QtNetwork>
+
+struct YTCategory {
+ QString term;
+ QString label;
+};
+
+class YTCategories : public QObject {
+
+ Q_OBJECT
+
+public:
+ YTCategories(QObject *parent = 0);
+ void loadCategories(QString language = QString());
+
+signals:
+ void categoriesLoaded(const QList<YTCategory> &);
+ void error(QString message);
+
+private slots:
+ void parseCategories(QByteArray bytes);
+ void requestError(QNetworkReply *reply);
+
+private:
+ QString lastLanguage;
+
+};
+
+#endif // YTCATEGORIES_H
--- /dev/null
+#include "ytfeedreader.h"
+#include "video.h"
+
+YTFeedReader::YTFeedReader(const QByteArray &bytes) : QXmlStreamReader(bytes) {
+ while (!atEnd()) {
+ readNext();
+ if (isStartElement() && name() == QLatin1String("entry")) {
+ readEntry();
+ } else if (name() == QLatin1String("link")
+ && attributes().value("rel").toString()
+ == QLatin1String("http://schemas.google.com/g/2006#spellcorrection")) {
+ suggestions << attributes().value("title").toString();
+ }
+ }
+}
+
+void YTFeedReader::readEntry() {
+ Video* video = new Video();
+
+ while (!atEnd()) {
+ readNext();
+
+ /*
+ qDebug() << name();
+ QXmlStreamAttribute attribute;
+ foreach (attribute, attributes())
+ qDebug() << attribute.name() << ":" << attribute.value();
+ */
+
+ if (isEndElement() && name() == QLatin1String("entry")) break;
+ if (isStartElement()) {
+
+ if (name() == QLatin1String("link")
+ && attributes().value("rel").toString() == QLatin1String("alternate")
+ && attributes().value("type").toString() == QLatin1String("text/html")
+ ) {
+ QString webpage = attributes().value("href").toString();
+ webpage.remove("&feature=youtube_gdata");
+ video->setWebpage(QUrl(webpage));
+ } else if (name() == QLatin1String("author")) {
+ while(readNextStartElement())
+ 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 skipCurrentElement();
+ } else if (name() == QLatin1String("published")) {
+ video->setPublished(QDateTime::fromString(readElementText(), Qt::ISODate));
+ } else if (namespaceUri() == QLatin1String("http://gdata.youtube.com/schemas/2007")
+ && name() == QLatin1String("statistics")) {
+ QString viewCount = attributes().value("viewCount").toString();
+ video->setViewCount(viewCount.toInt());
+ }
+ else if (namespaceUri() == QLatin1String("http://search.yahoo.com/mrss/")
+ && name() == QLatin1String("group")) {
+
+ // read media group
+ while (!atEnd()) {
+ readNext();
+ if (isEndElement() && name() == QLatin1String("group")) break;
+ if (isStartElement()) {
+ if (name() == QLatin1String("thumbnail")) {
+ // qDebug() << "Thumb: " << attributes().value("url").toString();
+ QStringRef name = attributes().value("yt:name");
+ if (name == QLatin1String("mqdefault"))
+ video->setThumbnailUrl(
+ attributes().value("url").toString());
+ else if (name == QLatin1String("hqdefault"))
+ video->setMediumThumbnailUrl(
+ attributes().value("url").toString());
+ }
+ else if (name() == QLatin1String("title")) {
+ QString title = readElementText();
+ // qDebug() << "Title: " << title;
+ video->setTitle(title);
+ }
+ else if (name() == QLatin1String("description")) {
+ QString desc = readElementText();
+ // qDebug() << "Description: " << desc;
+ video->setDescription(desc);
+ }
+ else if (name() == QLatin1String("duration")) {
+ QString duration = attributes().value("seconds").toString();
+ // qDebug() << "Duration: " << duration;
+ video->setDuration(duration.toInt());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ videos.append(video);
+
+}
+
+const QList<Video *> &YTFeedReader::getVideos() {
+ return videos;
+}
+
+const QStringList & YTFeedReader::getSuggestions() const {
+ return suggestions;
+}
--- /dev/null
+#ifndef YTFEEDREADER_H
+#define YTFEEDREADER_H
+
+#include <QtXml>
+
+class Video;
+
+class YTFeedReader : public QXmlStreamReader {
+
+public:
+ YTFeedReader(const QByteArray &bytes);
+ const QList<Video*> & getVideos();
+ const QStringList & getSuggestions() const;
+
+private:
+ void readEntry();
+ QList<Video*> videos;
+ QStringList suggestions;
+};
+
+#endif // YTFEEDREADER_H
--- /dev/null
+#include "ytregions.h"
+
+YTRegions::YTRegions() : QObject() { }
+
+const QList<YTRegion> & YTRegions::list() {
+ static QList<YTRegion> list;
+ if (list.isEmpty()) {
+ list << r(tr("Algeria"), "DZ")
+ << r(tr("Argentina"), "AR")
+ << r(tr("Australia"), "AU")
+ << r(tr("Belgium"), "BE")
+ << r(tr("Brazil"), "BR")
+ << r(tr("Canada"), "CA")
+ << r(tr("Chile"), "CL")
+ << r(tr("Colombia"), "CO")
+ << r(tr("Czech Republic"), "CZ")
+ << r(tr("Egypt"), "EG")
+ << r(tr("France"), "FR")
+ << r(tr("Germany"), "DE")
+ << r(tr("Ghana"), "GH")
+ << r(tr("Greece"), "GR")
+ << r(tr("Hong Kong"), "HK")
+ << r(tr("Hungary"), "HU")
+ << r(tr("India"), "IN")
+ << r(tr("Indonesia"), "ID")
+ << r(tr("Ireland"), "IE")
+ << r(tr("Israel"), "IL")
+ << r(tr("Italy"), "IT")
+ << r(tr("Japan"), "JP")
+ << r(tr("Jordan"), "JO")
+ << r(tr("Kenya"), "KE")
+ << r(tr("Malaysia"), "MY")
+ << r(tr("Mexico"), "MX")
+ << r(tr("Morocco"), "MA")
+ << r(tr("Netherlands"), "NL")
+ << r(tr("New Zealand"), "NZ")
+ << r(tr("Nigeria"), "NG")
+ << r(tr("Peru"), "PE")
+ << r(tr("Philippines"), "PH")
+ << r(tr("Poland"), "PL")
+ << r(tr("Russia"), "RU")
+ << r(tr("Saudi Arabia"), "SA")
+ << r(tr("Singapore"), "SG")
+ << r(tr("South Africa"), "ZA")
+ << r(tr("South Korea"), "KR")
+ << r(tr("Spain"), "ES")
+ << r(tr("Sweden"), "SE")
+ << r(tr("Taiwan"), "TW")
+ << r(tr("Tunisia"), "TN")
+ << r(tr("Turkey"), "TR")
+ << r(tr("Uganda"), "UG")
+ << r(tr("United Arab Emirates"), "AE")
+ << r(tr("United Kingdom"), "GB")
+ << r(tr("Yemen"), "YE");
+/*
+ list << r(QLocale::Algeria, "DZ")
+ << r(QLocale::Argentina, "AR")
+ << r(QLocale::Australia, "AU")
+ << r(QLocale::Belgium, "BE")
+ << r(QLocale::Brazil, "BR")
+ << r(QLocale::Canada, "CA")
+ << r(QLocale::Chile, "CL")
+ << r(QLocale::Colombia, "CO")
+ << r(QLocale::CzechRepublic, "CZ")
+ << r(QLocale::Egypt, "EG")
+ << r(QLocale::France, "FR")
+ << r(QLocale::Germany, "DE")
+ << r(QLocale::Ghana, "GH")
+ << r(QLocale::Greece, "GR")
+ << r(QLocale::HongKong, "HK")
+ << r(QLocale::Hungary, "HU")
+ << r(QLocale::India, "IN")
+ << r(QLocale::Indonesia, "ID")
+ << r(QLocale::Ireland, "IE")
+ << r(QLocale::Israel, "IL")
+ << r(QLocale::Italy, "IT")
+ << r(QLocale::Japan, "JP")
+ << r(QLocale::Jordan, "JO")
+ << r(QLocale::Kenya, "KE")
+ << r(QLocale::Malaysia, "MY")
+ << r(QLocale::Mexico, "MX")
+ << r(QLocale::Morocco, "MA")
+ << r(QLocale::Netherlands, "NL")
+ << r(QLocale::NewZealand, "NZ")
+ << r(QLocale::Nigeria, "NG")
+ << r(QLocale::Peru, "PE")
+ << r(QLocale::Philippines, "PH")
+ << r(QLocale::Poland, "PL")
+ << r(QLocale::RussianFederation, "RU")
+ << r(QLocale::SaudiArabia, "SA")
+ << r(QLocale::Singapore, "SG")
+ << r(QLocale::SouthAfrica, "ZA")
+ << r(QLocale::RepublicOfKorea, "KR")
+ << r(QLocale::Spain, "ES")
+ << r(QLocale::Sweden, "SE")
+ << r(QLocale::Taiwan, "TW")
+ << r(QLocale::Tunisia, "TN")
+ << r(QLocale::Turkey, "TR")
+ << r(QLocale::Uganda, "UG")
+ << r(QLocale::UnitedArabEmirates, "AE")
+ << r(QLocale::UnitedKingdom, "GB")
+ << r(QLocale::Yemen, "YE");
+ */
+ qSort(list);
+ }
+ return list;
+}
+
+YTRegion YTRegions::r(QString name, QString id) {
+ YTRegion r = {id, name};
+ return r;
+}
+
+const YTRegion & YTRegions::localRegion() {
+ static YTRegion region;
+ if (region.name.isEmpty()) {
+ QString country = QLocale::system().name().right(2);
+ foreach (YTRegion r, list())
+ if (r.id == country) {
+ region = r;
+ break;
+ } // else qDebug() << r.id << country;
+ }
+ return region;
+}
+
+const YTRegion & YTRegions::worldwideRegion() {
+ static YTRegion region = {"", tr("Worldwide")};
+ return region;
+}
+
+void YTRegions::setRegion(QString regionId) {
+ QSettings settings;
+ settings.setValue("regionId", regionId);
+}
+
+QString YTRegions::currentRegionId() {
+ QSettings settings;
+ return settings.value("regionId").toString();
+}
+
+YTRegion YTRegions::currentRegion() {
+ return regionById(currentRegionId());
+}
+
+YTRegion YTRegions::regionById(QString id) {
+ if (id.isEmpty()) return worldwideRegion();
+ YTRegion region;
+ foreach (YTRegion r, list())
+ if (r.id == id) {
+ region = r;
+ break;
+ }
+ if (region.name.isEmpty()) return worldwideRegion();
+ return region;
+}
+
+QIcon YTRegions::iconForRegionId(QString regionId) {
+ if (regionId.isEmpty()) return QIcon(":images/worldwide.png");
+ return QIcon(":flags/" + regionId.toLower() + ".png");
+}
--- /dev/null
+#ifndef YTREGIONS_H
+#define YTREGIONS_H
+
+#include <QtGui>
+
+struct YTRegion {
+ QString id;
+ QString name;
+ bool operator<(const YTRegion &other) const {
+ return name < other.name;
+ }
+};
+
+class YTRegions : public QObject {
+
+public:
+ static const QList<YTRegion> & list();
+ static const YTRegion & localRegion();
+ static const YTRegion & worldwideRegion();
+ static void setRegion(QString regionId);
+ static QString currentRegionId();
+ static YTRegion currentRegion();
+ static QIcon iconForRegionId(QString regionId);
+
+private:
+ static YTRegion r(QString name, QString id);
+ static YTRegion regionById(QString id);
+ YTRegions();
+
+};
+
+#endif // YTREGIONS_H
--- /dev/null
+#include "ytsearch.h"
+#include "ytfeedreader.h"
+#include "constants.h"
+#include "networkaccess.h"
+#include "searchparams.h"
+#include "video.h"
+
+namespace The {
+ NetworkAccess* http();
+}
+
+YTSearch::YTSearch(SearchParams *searchParams, QObject *parent) :
+ VideoSource(parent),
+ searchParams(searchParams) {
+ searchParams->setParent(this);
+}
+
+void YTSearch::loadVideos(int max, int skip) {
+ aborted = false;
+
+ QUrl url("http://gdata.youtube.com/feeds/api/videos/");
+ url.addQueryItem("v", "2");
+
+ url.addQueryItem("max-results", QString::number(max));
+ url.addQueryItem("start-index", QString::number(skip));
+
+ if (!searchParams->keywords().isEmpty()) {
+ if (searchParams->keywords().startsWith("http://") ||
+ searchParams->keywords().startsWith("https://")) {
+ url.addQueryItem("q", YTSearch::videoIdFromUrl(searchParams->keywords()));
+ } else url.addQueryItem("q", searchParams->keywords());
+ }
+
+ if (!searchParams->author().isEmpty())
+ url.addQueryItem("author", searchParams->author());
+
+ switch (searchParams->sortBy()) {
+ case SearchParams::SortByNewest:
+ url.addQueryItem("orderby", "published");
+ break;
+ case SearchParams::SortByViewCount:
+ url.addQueryItem("orderby", "viewCount");
+ break;
+ case SearchParams::SortByRating:
+ url.addQueryItem("orderby", "rating");
+ break;
+ }
+
+ switch (searchParams->duration()) {
+ case SearchParams::DurationShort:
+ url.addQueryItem("duration", "short");
+ break;
+ case SearchParams::DurationMedium:
+ url.addQueryItem("duration", "medium");
+ break;
+ case SearchParams::DurationLong:
+ url.addQueryItem("duration", "long");
+ break;
+ }
+
+ switch (searchParams->time()) {
+ case SearchParams::TimeToday:
+ url.addQueryItem("time", "today");
+ break;
+ case SearchParams::TimeWeek:
+ url.addQueryItem("time", "this_week");
+ break;
+ case SearchParams::TimeMonth:
+ url.addQueryItem("time", "this_month");
+ break;
+ }
+
+ switch (searchParams->quality()) {
+ case SearchParams::QualityHD:
+ url.addQueryItem("hd", "true");
+ break;
+ }
+
+ QObject *reply = The::http()->get(url);
+ connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
+ connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTSearch::abort() {
+ aborted = true;
+}
+
+const QStringList & YTSearch::getSuggestions() {
+ return suggestions;
+}
+
+QString YTSearch::getName() {
+ if (!name.isEmpty()) return name;
+ if (!searchParams->keywords().isEmpty()) return searchParams->keywords();
+ return QString();
+}
+
+void YTSearch::parseResults(QByteArray data) {
+ if (aborted) return;
+
+ YTFeedReader reader(data);
+ QList<Video*> videos = reader.getVideos();
+ suggestions = reader.getSuggestions();
+
+ if (name.isEmpty() && !searchParams->author().isEmpty()) {
+ if (videos.isEmpty()) name = searchParams->author();
+ else name = videos.first()->author();
+ emit nameChanged(name);
+ }
+
+ emit gotVideos(videos);
+ emit finished(videos.size());
+}
+
+void YTSearch::requestError(QNetworkReply *reply) {
+ emit error(reply->errorString());
+}
+
+QString YTSearch::videoIdFromUrl(QString url) {
+ QRegExp re = QRegExp("^.*[\\?&]v=([^&#]+).*$");
+ if (re.exactMatch(url)) return re.cap(1);
+ re = QRegExp("^.*://.*/([^&#\\?]+).*$");
+ if (re.exactMatch(url)) return re.cap(1);
+ return QString();
+}
--- /dev/null
+#ifndef YTSEARCH_H
+#define YTSEARCH_H
+
+#include <QtNetwork>
+#include "videosource.h"
+
+class SearchParams;
+class Video;
+
+class YTSearch : public VideoSource {
+
+ Q_OBJECT
+
+public:
+ YTSearch(SearchParams *params, QObject *parent = 0);
+ void loadVideos(int max, int skip);
+ virtual void abort();
+ virtual const QStringList & getSuggestions();
+ static QString videoIdFromUrl(QString url);
+ QString getName();
+ SearchParams* getSearchParams() const { return searchParams; }
+
+ bool operator==(const YTSearch &other) const {
+ return searchParams == other.getSearchParams();
+ }
+
+private slots:
+ void parseResults(QByteArray data);
+ void requestError(QNetworkReply *reply);
+
+private:
+ SearchParams *searchParams;
+ bool aborted;
+ QStringList suggestions;
+ QString name;
+};
+
+#endif // YTSEARCH_H
--- /dev/null
+#include "ytsinglevideosource.h"
+#include <QtXml>
+#include "networkaccess.h"
+#include "video.h"
+#include "ytfeedreader.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTSingleVideoSource::YTSingleVideoSource(QObject *parent) : VideoSource(parent) {
+ skip = 0;
+ max = 0;
+}
+
+void YTSingleVideoSource::loadVideos(int max, int skip) {
+ aborted = false;
+ this->skip = skip;
+ this->max = max;
+
+ QString s;
+ if (skip == 1) s = "http://gdata.youtube.com/feeds/api/videos/" + videoId;
+ else s = QString("http://gdata.youtube.com/feeds/api/videos/%1/related").arg(videoId);
+ QUrl url(s);
+ url.addQueryItem("v", "2");
+
+ if (skip != 1) {
+ url.addQueryItem("max-results", QString::number(max));
+ url.addQueryItem("start-index", QString::number(skip-1));
+ }
+
+ QObject *reply = The::http()->get(url);
+ connect(reply, SIGNAL(data(QByteArray)), SLOT(parse(QByteArray)));
+ connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTSingleVideoSource::abort() {
+ aborted = true;
+}
+
+const QStringList & YTSingleVideoSource::getSuggestions() {
+ QStringList *l = new QStringList();
+ return *l;
+}
+
+QString YTSingleVideoSource::getName() {
+ return name;
+}
+
+void YTSingleVideoSource::parse(QByteArray data) {
+ if (aborted) return;
+
+ YTFeedReader reader(data);
+ QList<Video*> videos = reader.getVideos();
+
+ if (name.isEmpty() && !videos.isEmpty() && skip == 1) {
+ name = videos.first()->title();
+ emit nameChanged(name);
+ }
+
+ emit gotVideos(videos);
+
+ if (skip == 1) loadVideos(max - 1, 2);
+ else if (skip == 2) emit finished(videos.size() + 1);
+ else emit finished(videos.size());
+}
+
+void YTSingleVideoSource::requestError(QNetworkReply *reply) {
+ emit error(reply->errorString());
+}
--- /dev/null
+#ifndef YTSINGLEVIDEOSOURCE_H
+#define YTSINGLEVIDEOSOURCE_H
+
+#include <QtNetwork>
+#include "videosource.h"
+
+class YTSingleVideoSource : public VideoSource {
+
+ Q_OBJECT
+
+public:
+ YTSingleVideoSource(QObject *parent = 0);
+ void loadVideos(int max, int skip);
+ void abort();
+ const QStringList & getSuggestions();
+ QString getName();
+
+ void setVideoId(QString videoId) { this->videoId = videoId; }
+
+private slots:
+ void parse(QByteArray data);
+ void requestError(QNetworkReply *reply);
+
+private:
+ QString videoId;
+ bool aborted;
+ int skip;
+ int max;
+ QString name;
+};
+
+#endif // YTSINGLEVIDEOSOURCE_H
--- /dev/null
+#include "ytstandardfeed.h"
+#include <QtXml>
+#include "networkaccess.h"
+#include "video.h"
+#include "ytfeedreader.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTStandardFeed::YTStandardFeed(QObject *parent)
+ : VideoSource(parent),
+ aborted(false) { }
+
+void YTStandardFeed::loadVideos(int max, int skip) {
+ aborted = false;
+
+ QString s = "http://gdata.youtube.com/feeds/api/standardfeeds/";
+ if (!regionId.isEmpty()) s += regionId + "/";
+ s += feedId;
+ if (!category.isEmpty()) s += "_" + category;
+
+ QUrl url(s);
+ url.addQueryItem("v", "2");
+
+ if (feedId != "most_shared")
+ url.addQueryItem("time", "today");
+
+ url.addQueryItem("max-results", QString::number(max));
+ url.addQueryItem("start-index", QString::number(skip));
+
+ QObject *reply = The::http()->get(url);
+ connect(reply, SIGNAL(data(QByteArray)), SLOT(parse(QByteArray)));
+ connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTStandardFeed::abort() {
+ aborted = true;
+}
+
+const QStringList & YTStandardFeed::getSuggestions() {
+ QStringList *l = new QStringList();
+ return *l;
+}
+
+void YTStandardFeed::parse(QByteArray data) {
+ if (aborted) return;
+
+ YTFeedReader reader(data);
+ QList<Video*> videos = reader.getVideos();
+
+ emit gotVideos(videos);
+ emit finished(videos.size());
+}
+
+void YTStandardFeed::requestError(QNetworkReply *reply) {
+ emit error(reply->errorString());
+}
--- /dev/null
+#ifndef YTSTANDARDFEED_H
+#define YTSTANDARDFEED_H
+
+#include <QtNetwork>
+#include "videosource.h"
+
+class YTStandardFeed : public VideoSource {
+
+ Q_OBJECT
+
+public:
+ YTStandardFeed(QObject *parent = 0);
+
+ QString getFeedId() { return feedId; }
+ void setFeedId(QString feedId) { this->feedId = feedId; }
+
+ QString getRegionId() { return regionId; }
+ void setRegionId(QString regionId) { this->regionId = regionId; }
+
+ QString getCategory() { return category; }
+ void setCategory(QString category) { this->category = category; }
+
+ QString getLabel() { return label; }
+ void setLabel(QString label) { this->label = label; }
+
+ void loadVideos(int max, int skip);
+ void abort();
+ const QStringList & getSuggestions();
+ QString getName() { return label; }
+
+private slots:
+ void parse(QByteArray data);
+ void requestError(QNetworkReply *reply);
+
+private:
+ QString feedId;
+ QString regionId;
+ QString category;
+ QString label;
+ bool aborted;
+};
+
+#endif // YTSTANDARDFEED_H
--- /dev/null
+#include "ytsuggester.h"
+#include <QtXml>
+#include "networkaccess.h"
+
+#define GSUGGEST_URL "http://suggestqueries.google.com/complete/search?ds=yt&output=toolbar&hl=%1&q=%2"
+
+namespace The {
+ NetworkAccess* http();
+}
+
+YTSuggester::YTSuggester(QObject *parent) : Suggester(parent) {
+
+}
+
+void YTSuggester::suggest(QString query) {
+ if (query.startsWith("http")) return;
+
+#if QT_VERSION >= 0x040800
+ QString locale = QLocale::system().uiLanguages().first();
+#else
+ QString locale = QLocale::system().name().replace("_", "-");
+#endif
+
+ // case for system locales such as "C"
+ if (locale.length() < 2) {
+ locale = "en-US";
+ }
+
+ QString url = QString(GSUGGEST_URL).arg(locale, query);
+
+ QObject *reply = The::http()->get(url);
+ connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
+}
+
+void YTSuggester::handleNetworkData(QByteArray response) {
+ QStringList choices;
+
+ QXmlStreamReader xml(response);
+ while (!xml.atEnd()) {
+ xml.readNext();
+ if (xml.tokenType() == QXmlStreamReader::StartElement) {
+ if (xml.name() == QLatin1String("suggestion")) {
+ QStringRef str = xml.attributes().value("data");
+ choices << str.toString();
+ }
+ }
+ }
+ emit ready(choices);
+}
--- /dev/null
+#ifndef YTSUGGESTER_H
+#define YTSUGGESTER_H
+
+#include <QtCore>
+#include "suggester.h"
+
+class YTSuggester : public Suggester {
+
+ Q_OBJECT
+
+public:
+ YTSuggester(QObject *parent = 0);
+ void suggest(QString query);
+
+signals:
+ void ready(QStringList);
+
+private slots:
+ void handleNetworkData(QByteArray response);
+
+};
+
+#endif // YTSUGGESTER_H
--- /dev/null
+/* statusbar */
+
+QStatusBar QToolBar {
+ padding:0;
+ spacing:0;
+ margin:0;
+ border:0;
+}
+
+QStatusBar QToolButton::menu-indicator {
+ image: none;
+}
+
+/* Regions */
+
+RegionsView QPushButton[regionId] {
+ margin: 5px;
+ padding: 10px;
+ text-align: left;
+ vertical-align: middle;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 10px;
+}
+
+RegionsView QPushButton[regionId=""] {
+ font-weight: bold;
+}
+
+RegionsView QPushButton[regionId]:hover {
+ border: 1px solid rgba(0,0,0,32);
+ background: rgba(0,0,0,16);
+}
+
+RegionsView QPushButton[regionId]:focus {
+ border: 1px solid palette(highlight);
+ background: rgba(0,0,0,16);
+}
+
+RegionsView QPushButton[regionId]:checked {
+ color: #fff;
+ border: 1px solid rgba(0,0,0,64);
+ background: qradialgradient(cx: 0.5, cy: 0,
+ fx: 0.5, fy: 0,
+ radius: 1.35, stop: 0 rgba(0,0,0,128), stop: 1 rgba(0,0,0,64));
+}
+
+/* Sidebar */
+
+SidebarHeader {
+ background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+ stop: 0 #262626, stop: 1 #3c3c3c);
+ padding: 0;
+ margin: 0;
+ spacing: 0;
+ border-bottom: 1px solid black;
+}
+
+SidebarHeader QToolButton {
+ border: 0;
+ padding: 0;
+ margin: 0;
+ spacing: 0;
+ height: 20;
+ width: 24;
+}
+
+SidebarHeader QPushButton {
+ background: transparent;
+ color: #fff;
+ text-align: center;
+}
+
+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);
+}