From e5ab28f93dda6e878973f57276db5edab68d13bc Mon Sep 17 00:00:00 2001 From: Jakob Haufe Date: Sun, 7 Jun 2015 03:10:01 +0200 Subject: [PATCH] Imported Upstream version 2.4 --- .gitignore | 2 + CHANGES | 13 + INSTALL => README.md | 50 +- locale/ca.ts | 12 +- locale/da.ts | 14 +- locale/el.ts | 24 +- locale/fi.ts | 12 +- locale/he_IL.ts | 100 +- locale/hu.ts | 62 +- locale/ja_JP.ts | 290 +++--- locale/ko_KR.ts | 1614 +++++++++++++++++++++++++++++ locale/ky.ts | 24 +- locale/pl_PL.ts | 2 +- locale/pt.ts | 14 +- locale/pt_BR.ts | 20 +- locale/sv_SE.ts | 16 +- locale/th.ts | 1614 +++++++++++++++++++++++++++++ minitube.pro | 23 +- src/aboutview.cpp | 2 +- src/aggregatevideosource.cpp | 17 +- src/aggregatevideosource.h | 4 +- src/channelaggregator.cpp | 108 +- src/channelaggregator.h | 12 +- src/channelitemdelegate.cpp | 16 +- src/channelmodel.cpp | 36 +- src/channelmodel.h | 8 +- src/channelsitemdelegate.cpp | 152 +++ src/channelsitemdelegate.h | 24 + src/channelsmodel.cpp | 90 ++ src/channelsmodel.h | 45 + src/channelsuggest.cpp | 11 +- src/channelsview.cpp | 275 +++++ src/channelsview.h | 64 ++ src/channelview.cpp | 28 +- src/channelwidget.cpp | 85 ++ src/channelwidget.h | 35 + src/database.cpp | 48 +- src/database.h | 2 + src/datautils.cpp | 57 + src/datautils.h | 3 + src/diskcache.cpp | 17 +- src/diskcache.h | 1 + src/jsfunctions.cpp | 86 +- src/jsfunctions.h | 17 +- src/main.cpp | 63 +- src/mainwindow.cpp | 64 +- src/mediaview.cpp | 54 +- src/networkaccess.cpp | 2 +- src/paginatedvideosource.cpp | 170 +++ src/paginatedvideosource.h | 59 ++ src/painterutils.cpp | 2 +- src/playlistitemdelegate.cpp | 9 +- src/playlistmodel.cpp | 80 +- src/playlistmodel.h | 10 +- src/playlistview.cpp | 3 +- src/searchparams.cpp | 1 + src/searchparams.h | 14 +- src/searchview.cpp | 27 +- src/searchview.h | 2 +- src/snapshotsettings.cpp | 8 +- src/standardfeedsview.cpp | 10 +- src/suggester.h | 6 +- src/video.cpp | 93 +- src/video.h | 28 +- src/videosource.h | 3 +- src/yt3.cpp | 119 +++ src/yt3.h | 32 + src/yt3listparser.cpp | 76 ++ src/yt3listparser.h | 25 + src/ytcategories.cpp | 69 +- src/{ytuser.cpp => ytchannel.cpp} | 179 ++-- src/{ytuser.h => ytchannel.h} | 34 +- src/ytfeedreader.cpp | 6 +- src/ytfeedreader.h | 2 +- src/ytsearch.cpp | 289 ++++-- src/ytsearch.h | 17 +- src/ytsinglevideosource.cpp | 157 ++- src/ytsinglevideosource.h | 12 +- src/ytstandardfeed.cpp | 115 +- src/ytstandardfeed.h | 8 +- src/ytsuggester.cpp | 9 +- 81 files changed, 6098 insertions(+), 908 deletions(-) rename INSTALL => README.md (51%) create mode 100644 locale/ko_KR.ts create mode 100644 locale/th.ts create mode 100644 src/channelsitemdelegate.cpp create mode 100644 src/channelsitemdelegate.h create mode 100644 src/channelsmodel.cpp create mode 100644 src/channelsmodel.h create mode 100644 src/channelsview.cpp create mode 100644 src/channelsview.h create mode 100644 src/channelwidget.cpp create mode 100644 src/channelwidget.h create mode 100644 src/paginatedvideosource.cpp create mode 100644 src/paginatedvideosource.h create mode 100644 src/yt3.cpp create mode 100644 src/yt3.h create mode 100644 src/yt3listparser.cpp create mode 100644 src/yt3listparser.h rename src/{ytuser.cpp => ytchannel.cpp} (67%) rename src/{ytuser.h => ytchannel.h} (75%) diff --git a/.gitignore b/.gitignore index c645b5d..bb53302 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ local/ .tx android qtc_packaging +debian + diff --git a/CHANGES b/CHANGES index e135e4c..49ec395 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,15 @@ +2.4 +- Now using YouTube APIs version 3 +- Now using HTTPS everywhere for better privacy and security +- Minitube now automatically loads more videos in the playlist for even less clicking +- Updated media engine to LibVLC 2.2.0 on Mac & Windows +- Fixed subscriptions sorting +- Fixed toolbar style on Ubuntu +- New and updated translations + +2.3.1 +- Fix playback problems with some videos + 2.3 - Take video snapshots at full resolution - Faster and more reliable seeking @@ -5,6 +17,7 @@ - Slide transition in playlist navigation - Make the volume handle red when volume is zero - Enhancements to the search suggestions +- Style refresh to make Minitube feel at home on OS X Yosemite and Windows 8 - The Mac version is now 64bit and uses the VLC engine to play videos - Fixed minor style issues with Mac OS X Yosemite 10.10 - Restored compatibility with Mac OS X Snow Leopard 10.6 diff --git a/INSTALL b/README.md similarity index 51% rename from INSTALL rename to README.md index 169bf90..0d8ac19 100644 --- a/INSTALL +++ b/README.md @@ -1,21 +1,46 @@ -# Build instructions +# Minitube +Minitube is a YouTube desktop application. It is written in C++ using the Qt framework. Contributing is welcome, especially in the Linux desktop integration area. -## Prerequisites -To compile Minitube you need at least Qt 4.5, Qt >= 4.6 is recommended. -The following Qt modules are needed: core, gui, network, sql, script, xml, dbus, phonon +## Traslating Minitube to your language +Minitube translations are done at https://www.transifex.com/projects/p/minitube/ +Just register and apply for a language team. Please don't request translation merges on GitHub. -On a Debian or Ubuntu system type: -sudo apt-get install build-essential qt4-dev-tools libphonon-dev +## Building +To compile Minitube you need at least Qt 4.8. The following Qt modules are needed: +core, gui, network, sql (using the Sqlite plugin), script, dbus, phonon -## Compiling +On a Debian or Ubuntu system, type: + + $ sudo apt-get install build-essential qt4-dev-tools libphonon-dev + +### Google API Key + +Google is now requiring an API key in order to access YouTube Data web services. +Create a "Browser Key" at https://console.developers.google.com + +The key must be specified at compile time as shown below. +Alternatively Minitube can read an API key from the GOOGLE_API_KEY environment variable. + +### Compiling Run: - $ qmake + + $ qmake -DAPP_GOOGLE_API_KEY="YouAPIKeyHere" + and then: + $ make + Beware of the Qt3 or Qt5 version of qmake! If things go wrong try running qmake-qt4 instead. -## Running -./build/target/minitube +### Running + + $ ./build/target/minitube + +### Installing on Linux + + $ sudo make install + +This is for packagers. End users should not install applications in this way. ## A word about Phonon on Linux To be able to actually watch videos you need a working Phonon setup. @@ -24,11 +49,6 @@ Please don't contact me about this, ask for help on your distribution support ch These days Minitube is tested with the VLC backend only. Please don't report bugs with other backends as they're not supported. -## Installing on Linux -Run: - $ sudo make install -This is for packagers. End users should not install applications in this way. - ## Legal Stuff Copyright (C) Flavio Tordini diff --git a/locale/ca.ts b/locale/ca.ts index 859749b..93e7e2f 100644 --- a/locale/ca.ts +++ b/locale/ca.ts @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + La versió completa permet visualitzar videos sense interrupcions. @@ -216,12 +216,12 @@ Mark as Watched - + Marca com a Visualitzat Unsubscribe - + Donar-se de baixa @@ -655,7 +655,7 @@ Take &Snapshot - + Pren &Instantània @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Instantània desada a %1 Snapshots location changed. - + La ubicació de les instantànies ha canviat. diff --git a/locale/da.ts b/locale/da.ts index 7d2aa40..5368e1a 100644 --- a/locale/da.ts +++ b/locale/da.ts @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + Den fulde version giver dig mulighed for, at se videoer uden afbrydelser. @@ -216,12 +216,12 @@ Mark as Watched - + Marker som set Unsubscribe - + Afmeld @@ -655,7 +655,7 @@ Take &Snapshot - + Tag $Skærmbillede @@ -725,7 +725,7 @@ &Love %1? Rate it! - + %Vild med %1? Bedøm det! @@ -1340,12 +1340,12 @@ Kopiér &URL'en til videostrømmen Snapshot saved to %1 - + Skærmbillede gemt på %1 Snapshots location changed. - + Lokation for skærmbilleder ændret. diff --git a/locale/el.ts b/locale/el.ts index 5c4e94a..2e0a743 100644 --- a/locale/el.ts +++ b/locale/el.ts @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + Η πλήρης έκδοση σας επιτρέπει να παρακολουθήσετε βίντεο χωρίς διακοπές. @@ -216,17 +216,17 @@ Mark as Watched - + Σήμανση ως Παρακολουθημένο Unsubscribe - + Κατάργηση εγγραφής There are no updated subscriptions at this time. - Δεν υπάρχουν ενημερωμένες συνδρομές αυτήν την στιγμή. + Δεν υπάρχουν ενημερωμένες συδρομές αυτήν την στιγμή. @@ -466,7 +466,7 @@ Channel subscriptions - Συνδρομές σε κανάλια + Συδρομές σε κανάλια @@ -655,12 +655,12 @@ Take &Snapshot - + Λήψη &Στιγμιότυπου &Subscribe to Channel - &Συδρομή στο Κανάλι + &Εγγραφή στο Κανάλι @@ -725,7 +725,7 @@ &Love %1? Rate it! - + &Λατρεύετε το %1? Βαθμολογήστε το! @@ -987,12 +987,12 @@ Unsubscribe from %1 - Κατάργηση συνδρομής στο %1 + Κατάργηση εγγραφής στο %1 Subscribe to %1 - Συνδρομή στο %1 + Εγγραφή στο %1 @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Το στιγμιότυπο αποθηκεύτηκε σε %1 Snapshots location changed. - + Η τοποθεσία για στιγμιότυπα άλλαξε. diff --git a/locale/fi.ts b/locale/fi.ts index 5d2e2e7..bac158b 100644 --- a/locale/fi.ts +++ b/locale/fi.ts @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + Täysversio mahdollistaa videoiden katselun ilman keskeytyksiä. @@ -216,12 +216,12 @@ Mark as Watched - + Merkitse katsotuksi Unsubscribe - + Lopeta tilaus @@ -655,7 +655,7 @@ Take &Snapshot - + Ota &tilannevedos @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Tilannevedos tallennettu polkuun %1 Snapshots location changed. - + Tilannevedoksien sijainti muutettu. diff --git a/locale/he_IL.ts b/locale/he_IL.ts index 87a1f00..361c5cc 100644 --- a/locale/he_IL.ts +++ b/locale/he_IL.ts @@ -65,7 +65,7 @@ About - על אודות + אודות @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + הגירסה המלאה מאפשרת לך לצפות בסרטון ללא הפרעות. @@ -140,7 +140,7 @@ By %1 - + על ידי %1 @@ -153,12 +153,12 @@ All Videos - + כל הסרטונים Unwatched Videos - + סרטונים שלא נצפו @@ -166,72 +166,72 @@ Mark all as watched - + סמנו את כולם כנצפו Show Updated - + הצג עדכונים Name - + שם Last Updated - + עודכן לאחרונה Last Added - + נוסף לאחרונה Last Watched - + נצפה לאחרונה Most Watched - + נצפה ביותר Sort by - + מיין לפי All Videos - + כל הסרטונים Unwatched Videos - + סרטונים שלא נצפו Mark as Watched - + סמן כנצפה Unsubscribe - + בטל מינוי There are no updated subscriptions at this time. - + אין עדכונים בערוצים שאתה מנוי עליהם כרגע. You have no subscriptions. Use the star symbol to subscribe to channels. - + אין לך מנויים. השתמש בסמל הכוכב על מנת להיות מנוי לערוצים. @@ -461,12 +461,12 @@ Subscriptions - + מנויים Channel subscriptions - + מנויים בערוצים @@ -655,17 +655,17 @@ Take &Snapshot - + קח צילום מסך &Subscribe to Channel - + הרשם כמנוי לערוץ Share the current video using %1 - שיתוף הווידאו הנוכחי דרך %1 + שיתוף הווידאו הנוכחי באמצעות %1 @@ -710,22 +710,22 @@ &Related Videos - + סרטונים דומים Watch videos related to the current one - + צפה בסרטונים הדומים לסרטון זה Open in &Browser... - + פתח בדפדפן &Love %1? Rate it! - + &אוהב את %1? דרג אותו! @@ -866,7 +866,7 @@ Make a &Donation - ה&גשת תרומה + &תרמו @@ -881,7 +881,7 @@ Choose your content location - + בחר את המיקום הנוכחי שלך @@ -934,7 +934,7 @@ You can now paste the YouTube link into another application - כעת ניתן להדביק את קישור ה־YouTube שלכם ליישום אחר + כעת ניתן להדביק את קישור ה־YouTube שלכם ביישום אחר @@ -987,12 +987,12 @@ Unsubscribe from %1 - + בטל מנוי מ %1 Subscribe to %1 - + מנוי ל %1 @@ -1010,12 +1010,12 @@ A new version of %1 is available! - + גירסה חדשה של %1 זמינה להורדה! %1 %2 is now available. You have %3. - + %1 %2 זמין כעת. לך יש %3. @@ -1056,47 +1056,47 @@ %1 of %2 (%3) — %4 - + %1 מתוך %2 (%3) — %4 Preparing - + מתכונן Failed - + נכשל Completed - + הושלם Stopped - + הופסק Stop downloading - + עצור הורדות Show in %1 - + הצג ב %1 Open parent folder - + פתח תיקיית מקור Restart downloading - + התחל הורדות מחדש @@ -1303,17 +1303,17 @@ &Back - + הקודם Forward to %1 - + העבר אל %1 Back to %1 - + חזור אל %1 @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + צילום מסך נשמר ב %1 Snapshots location changed. - + מיקום צילומי מסך שונה. @@ -1352,7 +1352,7 @@ Most Popular - + הכי פופולאריים diff --git a/locale/hu.ts b/locale/hu.ts index 070f7c0..15c3548 100644 --- a/locale/hu.ts +++ b/locale/hu.ts @@ -15,7 +15,7 @@ Licensed to: %1 - + Licensz tulajdonosa: %1 @@ -78,7 +78,7 @@ Enter your License Details - + Liszenszadatok megadása @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + A teljes verzió lehetőséget nyújt a videók megszakítás nélküli lejátszására. @@ -132,7 +132,7 @@ Buy License - + Liszensz megvásárlása @@ -140,7 +140,7 @@ By %1 - + %1 által @@ -158,7 +158,7 @@ Unwatched Videos - + Megnézetlen videók @@ -166,12 +166,12 @@ Mark all as watched - + Mind megjelölése megnézettként Show Updated - + Frissítések mutatása @@ -181,22 +181,22 @@ Last Updated - + Utoljára frissítve Last Added - + Utoljára hozzáadva Last Watched - + Utoljára megnézve Most Watched - + Legtöbbször megnézett @@ -211,22 +211,22 @@ Unwatched Videos - + Megnézetlen videók Mark as Watched - + Megjelölés megnézettként Unsubscribe - + Leiratkozás There are no updated subscriptions at this time. - + Nincs frissítés a feliratkozott csatornákon. @@ -315,7 +315,7 @@ %1 downloaded in %2 - + %1 letöltve ide: %2 @@ -655,12 +655,12 @@ Take &Snapshot - + &Snapshot készítése &Subscribe to Channel - + &Subscribe a csatornára @@ -705,7 +705,7 @@ More... - + Továbbiak... @@ -715,17 +715,17 @@ Watch videos related to the current one - + A jelenlegihez kapcsolódó videók megtekintése Open in &Browser... - + Megtekintés a következővel: &Love %1? Rate it! - + &Love %1? Értékeld! @@ -881,7 +881,7 @@ Choose your content location - + Válaszd ki a jelenlegi tartózkodási helyed @@ -987,12 +987,12 @@ Unsubscribe from %1 - + Leiratkozás az alábbi csatornáról: %1 Subscribe to %1 - + Feliratkozás az alábbi csatornára: %1 @@ -1010,7 +1010,7 @@ A new version of %1 is available! - + %1 új verziója elérhető! @@ -1025,7 +1025,7 @@ Skip This Version - + Verzió átugrása @@ -1109,7 +1109,7 @@ Show %1 More - + További %1 elem megjelenítése @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Pillanatkép mentve a %1 helyre Snapshots location changed. - + A pillanatképek mentési helye megváltozott. diff --git a/locale/ja_JP.ts b/locale/ja_JP.ts index 20107f7..ae68492 100644 --- a/locale/ja_JP.ts +++ b/locale/ja_JP.ts @@ -15,7 +15,7 @@ Licensed to: %1 - + ライセンス:1 @@ -25,27 +25,27 @@ Please <a href='%1'>donate</a> to support the continued development of %2. - + 継続的な開発を<a href='%1'>支援する</a>には%2に寄付してください。 You may want to try my other apps as well: - 私が作った他のアプリケーションにも興味がありますか。 + 私が作成した他のアプリケーションはこちら: %1, a YouTube music player - + %1はYoutube音楽プレイヤーです %1, a music player - %1, ミュージックプレイヤー + %1は音楽プレイヤーです Translate %1 to your native language using %2 - %2を使って、%1をあなたの母語に翻訳してください。 + %2を使って、%1をあなたの言語に翻訳してください @@ -65,7 +65,7 @@ About - プログラムについて + Minitubeについて @@ -78,7 +78,7 @@ Enter your License Details - + ライセンスコードを入力してください @@ -96,33 +96,33 @@ Please license %1 - + %1のライセンスを取得してください This demo has expired. - + 試用版の期限が切れました。 The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + 製品版では、快適に動画を視聴することができます。 Without a license, the application will expire in %1 days. - + 現在は、ライセンスがないため、このアプリケーションは%1日に期限切れとなります。 By purchasing the full version, you will also support the hard work I put into creating %1. - + あなたが製品版を購入することによって、%1の開発を支援することができます。 Use Demo - デモを使用 + 試用版を使用 @@ -140,12 +140,12 @@ By %1 - + %1による You have %n new video(s) - + %n件の新しい動画があります @@ -153,12 +153,12 @@ All Videos - + すべてのチャンネル Unwatched Videos - + 未視聴の動画 @@ -166,72 +166,72 @@ Mark all as watched - + 視聴済みの動画をマーク Show Updated - + 動画の更新を確認 Name - + 名前順 Last Updated - + 更新日が新しい順 Last Added - + 購読日が新しい順 Last Watched - + 視聴日が新しい順 Most Watched - + 視聴回数が多い順 Sort by - + 並び替え All Videos - + 全ての動画 Unwatched Videos - + 未視聴の動画 Mark as Watched - + 見たものをマーク Unsubscribe - + 購読を解除 There are no updated subscriptions at this time. - + 購読したチャンネルに更新はありません。 You have no subscriptions. Use the star symbol to subscribe to channels. - + 購読済みのものがありません。チャンネルを購読するには星マークをクリックします。 @@ -295,12 +295,12 @@ This is just the demo version of %1. - これは %1 の試用版です。 + これは%1 の試用版です。 It can only download videos shorter than %1 minutes so you can test the download functionality. - + 動画を%1分程度でダウンロードできる機能を試すことができます。 @@ -310,22 +310,22 @@ Get the full version - 製品版を入手する。 + 製品版を入手する %1 downloaded in %2 - + %1を%2にダウンロード中 Download finished - + ダウンロード完了 %n Download(s) - + %n件のダウンロード @@ -338,22 +338,22 @@ Choose the download location - + ダウンロード場所を選択 Download location changed. - + ダウンロード場所を変更しました。 Current downloads will still go in the previous location. - + 現在ダウンロードしているファイルは移動されます。 Downloading to: %1 - + %1にダウンロード中 @@ -370,7 +370,7 @@ Downloading update... - + アップデートをダウンロード中... @@ -446,27 +446,27 @@ Find videos and channels by keyword - + キーワードで動画とチャンネルを検索します Browse - + カテゴリ Browse videos by category - + カテゴリ別に動画を参照します Subscriptions - + 購読 Channel subscriptions - + 購読したチャンネルを視聴します @@ -487,22 +487,22 @@ &Stop - ストップ(&S) + 再生停止(&S) Stop playback and go back to the search view - 再生を停止させて、検索ビューに戻ります + 再生を停止し、検索画面に戻ります S&kip - スキップ(&k) + 次へ(&k) Skip to the next video - 次の動画へ + 次の動画へ進みます @@ -519,17 +519,17 @@ &Full Screen - フルスクリーン(&F) + フルスクリーンモード(&F) Go full screen - フルスクリーン + フルスクリーンモードで再生します Hide the playlist and the toolbar - プレイリストとツールバーを隠す + プレイリストとツールバーを隠します @@ -539,17 +539,17 @@ Copy the current video YouTube link to the clipboard - このビデオのYouTubeページへのリンクをクリップボードにコピーします + この動画のYouTubeページへのリンクをコピーします Copy the current video stream URL to the clipboard - + 現在の動画のURLをコピーします Find other video parts hopefully in the right order - + この動画の他のパートを検索します @@ -559,7 +559,7 @@ Remove the selected videos from the playlist - プレイリストから選択した動画を削除 + プレイリストから選択した動画を削除します @@ -584,7 +584,7 @@ Clear the search history. Cannot be undone. - 検索履歴を削除します。取り消しは出来ません。 + 検索履歴を消去します。取り消しは出来ません。 @@ -594,27 +594,27 @@ Bye - プログラムを終了 + Minitubeを終了します &Website - &Webページへ + ウェブサイト(&W) %1 on the Web - %1のWebページを開きます + %1のウェブサイトを開きます Please support the continued development of %1 - %1の開発をサポートしてください! + 寄付して%1の開発を助けます &About - プログラムについて(&A) + Minitubeについて(&A) @@ -624,12 +624,12 @@ Search - 検索 + 動画を検索します Mute volume - ミュートにする + ミュートにします @@ -640,7 +640,7 @@ Show details about video downloads - + 動画のダウンロードについての詳細を表示 @@ -655,17 +655,17 @@ Take &Snapshot - + スナップショットを撮る(&S) &Subscribe to Channel - + チャンネル購読(&S) Share the current video using %1 - + 現在の動画を%1で共有します @@ -685,22 +685,22 @@ &Float on Top - + 最前面に表示(&F) &Stop After This Video - + 再生終了後に停止(&S) &Report an Issue... - 問題点を報告(&R)... + 問題点を報告する(&R) &Refine Search... - + 絞り込み検索(&R) @@ -710,22 +710,22 @@ &Related Videos - + 関連動画(&R) Watch videos related to the current one - + 関連動画を検索します Open in &Browser... - + ブラウザで見る(&B) &Love %1? Rate it! - + %1を評価(&L) @@ -735,7 +735,7 @@ Buy %1... - %1 を購入... + %1を購入する @@ -770,7 +770,7 @@ Press %1 to raise the volume, %2 to lower it - 音量を上げるには%1を、下げるには%2を押してください + 音量を上げるには%1を、下げるには%2を押します @@ -781,12 +781,12 @@ Do you want to exit %1 with a download in progress? - + 進行中の%1のダウンロードを停止しますか? If you close %1 now, this download will be cancelled. - + あなたは今%1を停止した場合は、このダウンロードはキャンセルされます。 @@ -796,7 +796,7 @@ Wait for download to finish - + ダウンロードが完了するまでお待ちください @@ -806,7 +806,7 @@ %1 version %2 is now available. - %1 バージョン %2 が利用可能です + %1 バージョン %2 が利用可能です。 @@ -831,37 +831,37 @@ Go back to the previous track - 前の曲へ飛びます + 前の動画へ戻ります &Compact Mode - コンパクト モード(&C) + コンパクトモード(&C) Open the &YouTube Page - YouTube のページを開く(&Y) + YouTubeのページを開く(&Y) Copy the YouTube &Link - YouTube のリンクをコピー(&L) + YouTubeへのリンクをコピー(&L) Copy the Video Stream &URL - + 動画のURLをコピー(&U) Find Video &Parts - + 他のパートを探す(&P) &Clear Recent Searches - 最近の検索を消去(&C) + 検索履歴を消去(&C) @@ -871,17 +871,17 @@ &Manually Start Playing - + 手動で再生(&M) Manually start playing videos - + 動画の自動再生をしない Choose your content location - + コンテンツの地域を選択 @@ -891,7 +891,7 @@ Resume playback - 再生再開します + 再生を再開します @@ -906,17 +906,17 @@ Volume is muted - 音量OFFにしました + ミュートにしました Volume is unmuted - 音量ONにしました + ミュートを解除しました Maximum video definition set to %1 - + 最大画質を%1に設定する @@ -939,17 +939,17 @@ You can now paste the video stream URL into another application - + 他のアプリケーションに動画のURLを貼り付けることができます The link will be valid only for a limited time. - + リンクは制限時間内のみ有効です。 This is just the demo version of %1. - これは %1 の試用版です。 + これは%1 の試用版です。 @@ -965,44 +965,44 @@ of Used in video parts, as in '2 of 3' - + から part This is for video parts, as in 'Cool video - part 1' - + パート episode This is for video parts, as in 'Cool series - episode 1' - + エピソード Sent from %1 - + %1に送る Unsubscribe from %1 - + %1の購読を解除する Subscribe to %1 - + %1を購読する Get the full version - 製品版を入手する。 + 製品版を入手する Downloading %1 - + %1をダウンロード中 @@ -1010,32 +1010,32 @@ A new version of %1 is available! - + 新しいバージョンの%1があります! %1 %2 is now available. You have %3. - + %1 %2があります。あなたは%3です。 Would you like to download it now? - + 今すぐダウンロードしますか? Skip This Version - + このバージョンをスキップ Remind Me Later - このバージョンをスキップ + 後で通知 Install Update - + アップデートする @@ -1056,12 +1056,12 @@ %1 of %2 (%3) — %4 - + %1は%2(%3)%4 Preparing - + 準備中 @@ -1076,7 +1076,7 @@ Stopped - + 停止 @@ -1086,7 +1086,7 @@ Show in %1 - + %1を表示 @@ -1096,7 +1096,7 @@ Restart downloading - + ダウンロード再開 @@ -1109,7 +1109,7 @@ Show %1 More - さらに%1エントリ観る + さらに%1件表示 @@ -1132,7 +1132,7 @@ Relevance - + 関連性 @@ -1148,12 +1148,12 @@ Rating - + 評価 Anytime - + すべて @@ -1163,17 +1163,17 @@ 7 Days - 7日間 + 一週間以内 30 Days - 30日間 + 1ヶ月以内 Duration - + 再生時間 @@ -1184,17 +1184,17 @@ Short - + 短い Medium - + 普通 Long - + 長い @@ -1214,17 +1214,17 @@ Quality - 品質 + 画質 High Definition - + 高画質 720p or higher - + 720pか高画質 @@ -1253,33 +1253,33 @@ Welcome to <a href='%1'>%2</a>, - ようこそ<a href='%1'>%2</a>へ! + ようこそ<a href='%1'>%2</a>へ Get the full version - 製品版を入手する。 + 製品版を入手する Enter "Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos" - + キーワードを入力して a keyword - + 動画 a channel - + チャンネル to start watching videos. - + を検索する。 @@ -1321,7 +1321,7 @@ Refine Search - + 絞り込み検索 @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + %1にスナップショットを保存しました Snapshots location changed. - + スナップショットの場所を変更しました。 @@ -1352,7 +1352,7 @@ Most Popular - + とても人気 @@ -1360,7 +1360,7 @@ Cannot get video stream for %1 - + %1の動画を取得できませんでした diff --git a/locale/ko_KR.ts b/locale/ko_KR.ts new file mode 100644 index 0000000..6fb50fa --- /dev/null +++ b/locale/ko_KR.ts @@ -0,0 +1,1614 @@ + +UTF-8 + + AboutView + + + There's life outside the browser! + 브라우저 바깥에 생활이 존재 합니다! + + + + Version %1 + 버전 %1 + + + + Licensed to: %1 + 라이센스 소유자: %1 + + + + %1 is Free Software but its development takes precious time. + %1는 무료 프로그램이지만 개발에는 시간과 노력이 소요 됩니다. + + + + Please <a href='%1'>donate</a> to support the continued development of %2. + %2의 계속된 개발을 위해 <a href='%1'>기부</a>룰 해주요... + + + + You may want to try my other apps as well: + 저희의 다른 프로그램도 사용해 보세요" + + + + %1, a YouTube music player + %1, 유튜브 음악 재생기. + + + + %1, a music player + %1 음악 재생기 + + + + Translate %1 to your native language using %2 + %2을(를) 사용해서 %1를 사용자의 언어로 번역 하세요. + + + + Icon designed by %1. + 아이콘 디자인: %1 + + + + Released under the <a href='%1'>GNU General Public License</a> + <a href='%1'>GNU General Public License</a>하에 배포 됩니다. + + + + &Close + 닫기(&C) + + + + About + 프로그램 정보 + + + + What you always wanted to know about %1 and never dared to ask + %1에 대해 궁금한게 있으면 언제든 문의 하세요. + + + + ActivationDialog + + + Enter your License Details + 라이센스 정보 입력 + + + + &Email: + Email(&E) + + + + &Code: + 코드(&C) + + + + ActivationView + + + Please license %1 + %1을(를) 구입 하세요 + + + + This demo has expired. + 데모 만료! + + + + The full version allows you to watch videos without interruptions. + The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. + 구입 버전은 방해받지 않고 비디오를 감상 할수 있습니다. + + + + Without a license, the application will expire in %1 days. + 라이센스를 구입하지 않으면, %1일후 만료 됩니다. + + + + By purchasing the full version, you will also support the hard work I put into creating %1. + 구입하면, 제가 %1를 만드는데 드는 노력을 지원 합니다. + + + + Use Demo + 데모 사용 + + + + Enter License + 라이센스 입력 + + + + Buy License + 라이센스 구입 + + + + ChannelAggregator + + + By %1 + By %1 + + + + You have %n new video(s) + + + + + ChannelItemDelegate + + + All Videos + 모든 비디오 + + + + Unwatched Videos + 안 본 비디오 + + + + ChannelView + + + Mark all as watched + 모두 본 걸로 표시 + + + + Show Updated + 업데이트 표시 + + + + Name + 이름 + + + + Last Updated + 마지막 업데이트 + + + + Last Added + 마지막 추가 + + + + Last Watched + 마지막 시청 + + + + Most Watched + 가장 많이 시청 + + + + Sort by + 정렬 + + + + All Videos + 모든 비디오 + + + + Unwatched Videos + 안 본 비디오 + + + + Mark as Watched + 본 비디오로 마크 + + + + Unsubscribe + 구독 취소 + + + + There are no updated subscriptions at this time. + 현재 업데이트된 구독이 없습니다. + + + + You have no subscriptions. Use the star symbol to subscribe to channels. + 구독 항목이 없습니다. 채널을 구독 하려면 별 아이콘을 사용 하세요. + + + + ClearButton + + + Clear + 지우기 + + + + DownloadItem + + + bytes + 바이트 + + + + KB + KB + + + + MB + MB + + + + bytes/sec + 바이트/초 + + + + KB/sec + KB/초 + + + + MB/sec + MB/초 + + + + seconds + 초 + + + + minutes + 분 + + + + %4 %5 remaining + %4 %5 남음 + + + + DownloadManager + + + This is just the demo version of %1. + %1의 데모 버전 입니다. + + + + It can only download videos shorter than %1 minutes so you can test the download functionality. + 사용자가 다운로드 기능을 테스트 할수 있도록 %1보다 짧은 비디오만 다운로드 됩니다. + + + + Continue + 계속 + + + + Get the full version + 풀 버전 구입 + + + + %1 downloaded in %2 + %1 downloaded in %2 + + + + Download finished + 다운로드 완료 + + + + %n Download(s) + + + + + DownloadSettings + + + Change location... + 위치 변경... + + + + Choose the download location + 다운로드 위치 선택 + + + + Download location changed. + 다운로드 위치 변경됨 + + + + Current downloads will still go in the previous location. + 현재 다운로드는 이전 위치에 저장 됩니다. + + + + Downloading to: %1 + 다운로드 위치: %1 + + + + DownloadView + + + + Downloads + 다운로드 + + + + DownloadWidget + + + Downloading update... + 업데이트 다운로드... + + + + GlobalShortcuts + + + Play + 재생 + + + + Pause + 일시정지 + + + + Play/Pause + 재생/일시정지 + + + + Stop + 정지 + + + + Stop playing after current track + 현재 트랙 이후 정지 + + + + Next track + 다음 트랙 + + + + Previous track + 이전 트랙 + + + + Increase volume + 볼륨 키우기 + + + + Decrease volume + 볼륨 줄이기 + + + + Mute + 무음 + + + + Seek forward + 앞으로찾기 + + + + Seek backward + 뒤로찾기 + + + + HomeView + + + Search + 검색 + + + + Find videos and channels by keyword + 키워드로 비디오 채널 검색 + + + + Browse + 탐색 + + + + Browse videos by category + 카테고리로 비디오 탐색 + + + + Subscriptions + 구독 + + + + Channel subscriptions + 채널 구독 + + + + Make yourself comfortable + 편안하게 하세요. + + + + LoadingWidget + + + Error + 에러 + + + + MainWindow + + + &Stop + 정지(&S) + + + + Stop playback and go back to the search view + 재생을 멈추고 검색 보기로 이동 + + + + S&kip + 건너뛰기(&K) + + + + Skip to the next video + 다음 비디오로 건너뛰기 + + + + + &Pause + 일시정지(&P) + + + + + Pause playback + 재생 일시정지 + + + + &Full Screen + 전체 화면(&F) + + + + Go full screen + 전체화면 보기 + + + + Hide the playlist and the toolbar + 도구 모음과 재생 목록 숨기기 + + + + Go to the YouTube video page and pause playback + 재생을 멈추고 YouTube 비디오페이지로 이동 + + + + Copy the current video YouTube link to the clipboard + 현재 비디오의 YouTube링크를 클립보드에 복사 + + + + Copy the current video stream URL to the clipboard + 현재 비디오 스트림 URL을 클립보드에 복사 + + + + Find other video parts hopefully in the right order + 연결된 다른 비디오 조각을 가능한한 올바른 순서로 찾기 + + + + &Remove + 제거(&R) + + + + Remove the selected videos from the playlist + 재생 목록에서 현재 비디오 제거 + + + + Move &Up + 위로 이동(&U) + + + + Move up the selected videos in the playlist + 재생 목록에서 선택된 비디오의 위 항목으로 이동 + + + + Move &Down + 아래로이동(&D) + + + + Move down the selected videos in the playlist + 재생 목록에서 선택된 비디오의 아래 항목으로 이동 + + + + Clear the search history. Cannot be undone. + 검색했던 목록 지우기. 되돌릴수 없음. + + + + &Quit + 종료(&Q) + + + + Bye + 안녕... + + + + &Website + 웹사이트(&W) + + + + %1 on the Web + %1의 웹사이트 + + + + Please support the continued development of %1 + %1의 계속되는 개발을 도와 주세요. + + + + &About + 프로그램 정보(&A) + + + + Info about %1 + %1의 정보 + + + + Search + 검색 + + + + Mute volume + 볼륨 소거 + + + + + &Downloads + 다운로드(&D) + + + + Show details about video downloads + 비디오 다운로드에 대한 자세한 정보 표시 + + + + &Download + 다운로드(&D) + + + + Download the current video + 현재 비디오 다운로드 + + + + Take &Snapshot + 스냅샷 찍기(&S) + + + + &Subscribe to Channel + 채널 구독(&S) + + + + Share the current video using %1 + %1을(를) 사용해서 현재 비디오 공유 + + + + &Email + Email(&E) + + + + Email + Email + + + + &Close + 닫기(&C) + + + + &Float on Top + 위에 떠있기(&F) + + + + &Stop After This Video + 이 비디오 재생 후 정지(&S) + + + + &Report an Issue... + 문제점 보고...(&R) + + + + &Refine Search... + 검색 재정의(&R)... + + + + More... + 추가정보... + + + + &Related Videos + 관련된 비디오...(&R) + + + + Watch videos related to the current one + 현재 비디오와 관련된 비디오 보기 + + + + Open in &Browser... + 브라우저에서 열기(&B)... + + + + &Love %1? Rate it! + %1를 좋아하시나요? 평점을 주세요! + + + + &Application + 어플리케이션(&A) + + + + Buy %1... + %1 구입... + + + + &Playback + 재생(&P) + + + + &Playlist + 재생 목록(&P) + + + + &Video + 비디오(&V) + + + + &View + 보기(&V) + + + + &Share + 공유(&S) + + + + &Help + 도움말(&H) + + + + Press %1 to raise the volume, %2 to lower it + %1을(를) 눌러 볼륨 증가 , %2을(를) 눌러 볼륨 감소 + + + + + Opening %1 + %1 열기 + + + + Do you want to exit %1 with a download in progress? + 다운로드가 진행 중인데 %1을(를) 종료 할까요? + + + + If you close %1 now, this download will be cancelled. + %1를 지금 종료하면, 다운로드는 취소 됩니다. + + + + Close and cancel download + 다운로드 취소하고 종료 + + + + Wait for download to finish + 다운로드 끝날때 까지 대기 + + + + Leave &Full Screen + 전체 화면 나가기(&F) + + + + %1 version %2 is now available. + %1 version %2이(가) 사용 가능 합니다. + + + + Remind me later + 다음에 알리기 + + + + Update + 업데이트 + + + + Error: %1 + 에러: %1 + + + + P&revious + 이전(&R) + + + + Go back to the previous track + 이전트랙으로 이동 + + + + &Compact Mode + 컴팩트 모드(&C) + + + + Open the &YouTube Page + YouTube 페이지 열기(&Y) + + + + Copy the YouTube &Link + YouTube 링크 복사(&L) + + + + Copy the Video Stream &URL + 비디오 스트림 URL을 복사(&U) + + + + Find Video &Parts + 비디오 부분 찾기(&P) + + + + &Clear Recent Searches + 최근 검색 지우기(&C) + + + + Make a &Donation + 기부하기(&D) + + + + &Manually Start Playing + 수동으로 재생 시작(&M) + + + + Manually start playing videos + 수동으로 비디오 재생 시작 하기 + + + + Choose your content location + 콘텐츠 위치 선택 + + + + &Play + 재생(&P) + + + + Resume playback + 재생 이어하기 + + + + Remaining time: %1 + 남은 시간: %1 + + + + Volume at %1% + 볼륨 %1% + + + + Volume is muted + 볼륨 소거됨 + + + + Volume is unmuted + 볼륨 소거 해제됨 + + + + Maximum video definition set to %1 + 최대 비디오 해상도가 %1(으)로 설정됨 + + + + Your privacy is now safe + 이제 개인 정보가 안전 합니다. + + + + Downloads complete + 다운로드 완료 + + + + MediaView + + + You can now paste the YouTube link into another application + 이제 YouTube 링크를 다른프로그램에 붙여 넣을수 있습니다. + + + + You can now paste the video stream URL into another application + 이제 비디오 스트림 URL을 다른프로그램에 붙여 넣을수 있습니다. + + + + The link will be valid only for a limited time. + 해당 링크는 제한된 시간 동안만 유효 합니다. + + + + This is just the demo version of %1. + %1의 데모 버전 입니다.%1의 데모 버전 입니다. + + + + It allows you to test the application and see if it works for you. + 이 버전으로 프로그램이 사용자 필요에 맞는지 테스트 할수 있습니다. + + + + Continue + 계속 + + + + of + Used in video parts, as in '2 of 3' + / + + + + part + This is for video parts, as in 'Cool video - part 1' + 부분 + + + + episode + This is for video parts, as in 'Cool series - episode 1' + 에피소드 + + + + Sent from %1 + %1에서 전송됨 + + + + Unsubscribe from %1 + %1 구독 해제 + + + + Subscribe to %1 + %1 구독 + + + + Get the full version + 풀 버전 구입 + + + + Downloading %1 + %1 다운로드 + + + + MessageWidget + + + A new version of %1 is available! + %1의 새 버전이 존재 합니다! + + + + %1 %2 is now available. You have %3. + %1 %2이(가) 존재 합니다. 사용자의 사용 버전은 %3 입니다. + + + + Would you like to download it now? + 지금 다운로드 할까요? + + + + Skip This Version + 이 버전 건너뛰기 + + + + Remind Me Later + 다음에 알리기 + + + + Install Update + 업데이트 설치 + + + + PasteLineEdit + + + Paste + 붙여넣기 + + + + PlaylistItemDelegate + + + %1 views + %1 views + + + + %1 of %2 (%3) — %4 + %1 of %2 (%3) — %4 + + + + Preparing + 준비 + + + + Failed + 실패 + + + + Completed + 끝남 + + + + Stopped + 중지됨 + + + + Stop downloading + 다운로드 중지 + + + + Show in %1 + %1에서 보기 + + + + Open parent folder + 부모 폴더 열기 + + + + Restart downloading + 다운로드 재시작 + + + + PlaylistModel + + + Searching... + 검색중... + + + + Show %1 More + %1 추가 보기 + + + + No videos + 비디오없음 + + + + No more videos + 더 이상 비디오 없음 + + + + RefineSearchWidget + + + Sort by + 정렬 + + + + Relevance + 관련성 + + + + + Date + 날짜 + + + + View Count + 재생 횟수 + + + + Rating + 점수 + + + + Anytime + 언제나 + + + + Today + 오늘 + + + + 7 Days + 7일 + + + + 30 Days + 30일 + + + + Duration + 기간 + + + + + All + 모두 + + + + Short + 짧음 + + + + Medium + 중간 + + + + Long + 김 + + + + Less than 4 minutes + 4분 이하 + + + + Between 4 and 20 minutes + 4 ~ 20분 사이 + + + + Longer than 20 minutes + 20분 이상 + + + + Quality + 품질 + + + + High Definition + HD + + + + 720p or higher + 720p 이상 + + + + Done + 마침 + + + + RegionsView + + + Done + 마침 + + + + SearchLineEdit + + + Search + 검색 + + + + SearchView + + + Welcome to <a href='%1'>%2</a>, + <a href='%1'>%2</a>에 오신걸 환영 합니다! + + + + Get the full version + 풀 버전 구입 + + + + Enter + "Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos" + 언터 + + + + a keyword + 키워드 + + + + a channel + 채널 + + + + to start watching videos. + 비디오 보기 시작 + + + + Watch + 감상 + + + + Recent keywords + 최근 키워드 + + + + Recent channels + 최근 채널 + + + + SidebarHeader + + + + &Back + 뒤로(&B) + + + + Forward to %1 + %1(으)로 이동 + + + + Back to %1 + %1(으)로 이동 + + + + SidebarWidget + + + Refine Search + 검색 재정의 + + + + Did you mean: %1 + 원했던 단어: %1 + + + + SnapshotSettings + + + Change location... + 위치 변경... + + + + Snapshot saved to %1 + %1에 스냅샷 저장됨 + + + + Snapshots location changed. + 스냅샷 위치 변경됨 + + + + StandardFeedsView + + + Most Popular + 가장 유명 + + + + Video + + + Cannot get video stream for %1 + %1의 비디오 가져올수 없음 + + + + Network error: %1 for %2 + 네트워크에러: %1 for %2 + + + + YTRegions + + + Algeria + 알제리아 + + + + Argentina + 아르헨티나 + + + + Australia + 오스트레일리아 + + + + Belgium + 벨기에 + + + + Brazil + 브라질 + + + + Canada + 캐나다 + + + + Chile + 칠레 + + + + Colombia + 콜롬비아 + + + + Czech Republic + 체코 + + + + Egypt + 이집트 + + + + France + 프랑스 + + + + Germany + 독일 + + + + Ghana + 가나 + + + + Greece + 그리스 + + + + Hong Kong + 홍콩 + + + + Hungary + 헝가리 + + + + India + 인디아 + + + + Indonesia + 인도네시아 + + + + Ireland + 아일랜드 + + + + Israel + 이스라엘 + + + + Italy + 이탈리아 + + + + Japan + 일본 + + + + Jordan + 조단 + + + + Kenya + 케냐 + + + + Malaysia + 말레이시아 + + + + Mexico + 멕시코 + + + + Morocco + 모로코 + + + + Netherlands + 네델란드 + + + + New Zealand + 뉴질랜드 + + + + Nigeria + 나이제리아 + + + + Peru + 페루 + + + + Philippines + 필리핀 + + + + Poland + 폴란드 + + + + Russia + 러시아 + + + + Saudi Arabia + 사우디 아라비아 + + + + Singapore + 싱가포르 + + + + South Africa + 사우스 아프리카 + + + + South Korea + 대한민국 + + + + Spain + 스페인 + + + + Sweden + 스웨덴 + + + + Taiwan + 대만 + + + + Tunisia + 투니시아 + + + + Turkey + 터키 + + + + Uganda + 우간다 + + + + United Arab Emirates + 아랍에메레이트 + + + + United Kingdom + 영국 + + + + Yemen + 예멘 + + + + Worldwide + 전세계적 + + + \ No newline at end of file diff --git a/locale/ky.ts b/locale/ky.ts index d2260db..91eddd1 100644 --- a/locale/ky.ts +++ b/locale/ky.ts @@ -5,17 +5,17 @@ There's life outside the browser! - Браузердин тышындагы жашоо! + Браузердин тышында да өмүр бар! Version %1 - Жоромол %1 + Нуска %1 Licensed to: %1 - %1 үчүн лицензияланган + Лицензиянын ээси: %1 @@ -65,7 +65,7 @@ About - Программа жөнүндө + Программа тууралуу @@ -96,7 +96,7 @@ Please license %1 - Лицензия %1 + %1 лицензиялап алыңыз @@ -665,7 +665,7 @@ Share the current video using %1 - Кезектеги видеону %1 аркылуу бөлүшүү + Учурдагы видеону %1 аркылуу бөлүшүү @@ -821,7 +821,7 @@ Error: %1 - Катасы: %1 + Ката: %1 @@ -1153,7 +1153,7 @@ Anytime - Каалаган убакыт + Каалаган убакта @@ -1173,7 +1173,7 @@ Duration - Узундук + Узактык @@ -1194,7 +1194,7 @@ Long - Узун + Узак @@ -1224,7 +1224,7 @@ 720p or higher - 720p же жогорураак + 720p же жогору @@ -1608,7 +1608,7 @@ Worldwide - Бүткүл дүйнөлүк + Бүткүл дүйнө \ No newline at end of file diff --git a/locale/pl_PL.ts b/locale/pl_PL.ts index c5dd5a6..ea6851c 100644 --- a/locale/pl_PL.ts +++ b/locale/pl_PL.ts @@ -725,7 +725,7 @@ &Love %1? Rate it! - + Uwie&lbiasz %1? Oceń to! diff --git a/locale/pt.ts b/locale/pt.ts index 23fcf51..57ccd75 100644 --- a/locale/pt.ts +++ b/locale/pt.ts @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + A versão compreta permite-lhe ver vídeos sem interrupções. @@ -216,12 +216,12 @@ Mark as Watched - + Marcar como visto Unsubscribe - + Cancelar subscrição @@ -655,7 +655,7 @@ Take &Snapshot - + Take &Snapshot @@ -725,7 +725,7 @@ &Love %1? Rate it! - + &Gosta? %1? Avalie! @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Snapshot guardado em %1 Snapshots location changed. - + Localização dos snapshots alterada. diff --git a/locale/pt_BR.ts b/locale/pt_BR.ts index 757c3ce..e29bc7b 100644 --- a/locale/pt_BR.ts +++ b/locale/pt_BR.ts @@ -15,12 +15,12 @@ Licensed to: %1 - Licenciado a: %1 + Licenciado para: %1 %1 is Free Software but its development takes precious time. - %1 é um Software livre, mas seu desenvolvimento toma um tempo precioso. + %1 é um software livre, mas seu desenvolvimento toma um tempo precioso. @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + A versão completa permite que você assista vídeos sem interrupções. @@ -216,12 +216,12 @@ Mark as Watched - + Marcar como assistido Unsubscribe - + Cancelar assinatura @@ -655,7 +655,7 @@ Take &Snapshot - + &Salvar captura de tela @@ -720,12 +720,12 @@ Open in &Browser... - + Abrir no &navegador... &Love %1? Rate it! - + &Gosta do %1? Avalie! @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Captura de tela salva em %1 Snapshots location changed. - + Local de capturas de tela alterado. diff --git a/locale/sv_SE.ts b/locale/sv_SE.ts index e689439..42a3079 100644 --- a/locale/sv_SE.ts +++ b/locale/sv_SE.ts @@ -5,7 +5,7 @@ There's life outside the browser! - Det finns ett liv utanför webläsaren! + Det finns ett liv utanför webbläsaren! @@ -107,7 +107,7 @@ The full version allows you to watch videos without interruptions. The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. - + Den fulla versionen tillåter dig att kolla på videoklipp utan avbrott. @@ -216,12 +216,12 @@ Mark as Watched - + Markera som Sedd Unsubscribe - + Avprenumerera @@ -655,7 +655,7 @@ Take &Snapshot - + Ta &Skärmbild @@ -725,7 +725,7 @@ &Love %1? Rate it! - + &Älskar du %1? Betygsätt den! @@ -1339,12 +1339,12 @@ Snapshot saved to %1 - + Skärmbild sparad till %1 Snapshots location changed. - + Plats för sparade skärmbilder ändrades. diff --git a/locale/th.ts b/locale/th.ts new file mode 100644 index 0000000..d03e968 --- /dev/null +++ b/locale/th.ts @@ -0,0 +1,1614 @@ + +UTF-8 + + AboutView + + + There's life outside the browser! + มีชีวิตนอกเบราว์เซอร์! + + + + Version %1 + เวอร์ชั่น %1 + + + + Licensed to: %1 + ถูกลงทะเบียนสู่: %1 + + + + %1 is Free Software but its development takes precious time. + %1 เป็นโปรแกรมฟรีแต่การพัฒนามันจะต้องใช้เวลาเป็นอย่างมาก + + + + Please <a href='%1'>donate</a> to support the continued development of %2. + กรุณา <a href='%1'>บริจาค</a> เพื่อสนับสนุนการพัฒนาโปรแกรม %2 ต่อไป + + + + You may want to try my other apps as well: + คุณอาจอยากลองใช้แอปพลิเคชั่นอื่นของฉันเช่นกัน: + + + + %1, a YouTube music player + %1, เครื่องเล่นดนตรี YouTube + + + + %1, a music player + %1, เครื่องเล่นดนตรี + + + + Translate %1 to your native language using %2 + แปล %1 สุ่ภาษาของคุณโดยใช้ %2 + + + + Icon designed by %1. + ออกแบบไอคอนโดย %1 + + + + Released under the <a href='%1'>GNU General Public License</a> + ปล่อยเผยแพร่ภายใต้ <a href='%1'>GNU General Public License</a> + + + + &Close + &ปิด + + + + About + เกี่ยวกับ + + + + What you always wanted to know about %1 and never dared to ask + อะไรที่คุณอยากรู้เกี่ยวกับ %1 และไม่เคยกล้าที่จะถาม + + + + ActivationDialog + + + Enter your License Details + กรอกรายละเอียดใบอนุญาตของคุณ + + + + &Email: + &อีเมล: + + + + &Code: + &รหัส: + + + + ActivationView + + + Please license %1 + โปรดซื้อใบอนุญาต %1 + + + + This demo has expired. + ชุดทดลองใช้หมดอายุแล้ว + + + + The full version allows you to watch videos without interruptions. + The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions. + เวอร์ชั่นเต็มจะอนุญาตให้คุณรับชมวิดีโอโดยไม่ถูกขัดจังหวะ + + + + Without a license, the application will expire in %1 days. + ปราศจากใบอนุญาต แอปพลิเคชั่นจะหมดอายุใน %1 วัน + + + + By purchasing the full version, you will also support the hard work I put into creating %1. + ด้วยการซื้อเวอร์ชั่นเต็ม คุณยังได้สนับสนุนการทำงานหนักที่ฉันใช้ในการสร้าง %1 + + + + Use Demo + ใช้ชุดทดลอง + + + + Enter License + กรอกใบอนุญาต + + + + Buy License + ซื้อใบอนุญาต + + + + ChannelAggregator + + + By %1 + โดย %1 + + + + You have %n new video(s) + + + + + ChannelItemDelegate + + + All Videos + วิดีโอทั้งหมด + + + + Unwatched Videos + วิดีโอที่ไม่ได้รับชม + + + + ChannelView + + + Mark all as watched + หมายเหตุทั้งหมดว่ารับชมแล้ว + + + + Show Updated + แสดงอัพเดต + + + + Name + ชื่อ + + + + Last Updated + ถูกอัพเดตล่าสุด + + + + Last Added + ถูกเพิ่มล่าสุด + + + + Last Watched + ถูกรับชมล่าสุด + + + + Most Watched + ถูกรับชมมากที่สุด + + + + Sort by + เรียงตาม + + + + All Videos + วิดีโอทั้งหมด + + + + Unwatched Videos + วิดีโอที่ไม่ได้รับชม + + + + Mark as Watched + หมายเหตุว่ารับชมแล้ว + + + + Unsubscribe + เลิกสมัครติดตาม + + + + There are no updated subscriptions at this time. + ไม่มีการสมัครติดตามที่อัพเดต ณ เวลานี้ + + + + You have no subscriptions. Use the star symbol to subscribe to channels. + คุณไม่มีการสมัครติดตาม ใช้สัญลักษณ์ดาวเพื่อสมัครติดตามช่อง + + + + ClearButton + + + Clear + ล้าง + + + + DownloadItem + + + bytes + bytes + + + + KB + KB + + + + MB + MB + + + + bytes/sec + bytes/sec + + + + KB/sec + KB/sec + + + + MB/sec + MB/sec + + + + seconds + วินาที + + + + minutes + นาที + + + + %4 %5 remaining + %4 %5 ที่เหลืออยู่ + + + + DownloadManager + + + This is just the demo version of %1. + นี้เป็นแค่เวอร์ชั่นทดลองใช้ของ %1 + + + + It can only download videos shorter than %1 minutes so you can test the download functionality. + สามารถดาวน์โหลดวิดึโอส้ันๆกว่า %1 นาที เพื่อทดสอบฟังชั่นดาวน์โหลด + + + + Continue + ต่อไป + + + + Get the full version + รับเวอร์ชั่นเต็ม + + + + %1 downloaded in %2 + %1 ถูกดาวน์โหลดใน %2 + + + + Download finished + ดาวน์โหลดเสร็จสิ้น + + + + %n Download(s) + + + + + DownloadSettings + + + Change location... + เปลี่ยนที่ตั้ง... + + + + Choose the download location + เลือกที่ตั้งการดาวน์โหลด + + + + Download location changed. + ที่ตั้งการดาวน์โหลดถูกเปลี่ยน + + + + Current downloads will still go in the previous location. + การดาวน์โหลดปัจจุบันจะยังคงไปสู่ที่ตั้งก่อนหน้านี้ + + + + Downloading to: %1 + กำลังดาวน์โหลดสู่: %1 + + + + DownloadView + + + + Downloads + ดาวน์โหลด + + + + DownloadWidget + + + Downloading update... + กำลังดาวน์โหลดอัพเดต... + + + + GlobalShortcuts + + + Play + เล่น + + + + Pause + พัก + + + + Play/Pause + เล่น/พัก + + + + Stop + หยุด + + + + Stop playing after current track + หยุดเล่นหลังจากแทร็คปัจจุบัน + + + + Next track + แทร็คต่อไป + + + + Previous track + แทร็คก่อนหน้า + + + + Increase volume + เพิ่มความดัง + + + + Decrease volume + ลดความดัง + + + + Mute + เงียบ + + + + Seek forward + หาเดินหน้า + + + + Seek backward + หาย้อนกลับ + + + + HomeView + + + Search + ค้นหา + + + + Find videos and channels by keyword + ค้นหาวิดีโอและช่องโดยใช้คำสำคัญ + + + + Browse + เรียกดู + + + + Browse videos by category + เรียกดูวิดีโอตามหมวดหมู่ + + + + Subscriptions + การสมัครติดตาม + + + + Channel subscriptions + การสมัครติดตามช่อง + + + + Make yourself comfortable + ทำตัวเองให้สบาย + + + + LoadingWidget + + + Error + ผิดพลาด + + + + MainWindow + + + &Stop + &หยุด + + + + Stop playback and go back to the search view + หยุดเล่นและกลับสู่มุมมองการค้นหา + + + + S&kip + &ข้าม + + + + Skip to the next video + ข้ามสู่วิดีโอถัดไปไป + + + + + &Pause + &พัก + + + + + Pause playback + พักการเล่น + + + + &Full Screen + เ&ต็มจอ + + + + Go full screen + ทำให้เต็มจอ + + + + Hide the playlist and the toolbar + ซ่อนบัญชีการเล่นและแถบเครื่องมือ + + + + Go to the YouTube video page and pause playback + ไปที่หน้าวิดีโอ YouTube และพักการเล่น + + + + Copy the current video YouTube link to the clipboard + คัดลอกลิงค์วิดีโอ YouTube ในปัจจุบันไปยังคลิปบอร์ด + + + + Copy the current video stream URL to the clipboard + คัดลอก URL กระแสวิดีโอปัจจุบันสู่คลิปบอร์ด + + + + Find other video parts hopefully in the right order + ค้นหาตอนอื่นๆของวิดีโอ โดยหวังตามลำดับที่ถูกต้อง + + + + &Remove + &ลบออก + + + + Remove the selected videos from the playlist + ลบวิดีโอที่เลือกออกจากบัญชีการเล่น + + + + Move &Up + ย้าย&ขึ้น + + + + Move up the selected videos in the playlist + เลื่อนวิดีโอที่เลือกขึ้นบน ในบัญชีการเล่น + + + + Move &Down + ย้าย&ลง + + + + Move down the selected videos in the playlist + เลื่อนวิดีโอที่เลือกลงล่าง ในบัญชีการเล่น + + + + Clear the search history. Cannot be undone. + การล้างประวัติการค้นหา ไม่สามารถเลิกทำได้ + + + + &Quit + &ออก + + + + Bye + ลาก่อน + + + + &Website + เ&ว็บไซต์ + + + + %1 on the Web + %1 บนเว็บ + + + + Please support the continued development of %1 + กรุณาสนับสนุนการพัฒนาอย่างต่อเนื่องของ %1 + + + + &About + &เกี่ยวกับ + + + + Info about %1 + ข้อมูลเกี่ยวกับ %1 + + + + Search + ค้นหา + + + + Mute volume + เงียบเสียง + + + + + &Downloads + &ดาวน์โหลด + + + + Show details about video downloads + แสดงข้อมูลของวิดีโอที่ดาวน์โหลด + + + + &Download + &ดาวน์โหลด + + + + Download the current video + ดาวน์โหลดวิดีโอปัจจุบัน + + + + Take &Snapshot + &ถ่ายภาพ + + + + &Subscribe to Channel + &สมัครติดตามช่อง + + + + Share the current video using %1 + แชร์วิดีโอปัจจุบันโดยใช้ %1 + + + + &Email + &อีเมล + + + + Email + อีเมล + + + + &Close + &ปิด + + + + &Float on Top + &วางอยู่บนสุด + + + + &Stop After This Video + &หยุดหลังจากวิดีโอนี้ + + + + &Report an Issue... + &รายงานปัญหา... + + + + &Refine Search... + &ค้นหาโดยละเอียด... + + + + More... + เพิ่มเติม... + + + + &Related Videos + &วิดีโอที่เกี่ยวข้อง + + + + Watch videos related to the current one + รับชมวิดีโอที่เกี่ยวข้องกับรายการปัจจุบัน + + + + Open in &Browser... + เปิดในเ&บราว์เซอร์... + + + + &Love %1? Rate it! + &ชอบ %1 มั้ย? ให้คะแนนมันหน่อย! + + + + &Application + &แอปพลิเคชั่น + + + + Buy %1... + ซื้อ %1... + + + + &Playback + การเ&ล่น + + + + &Playlist + &บัญชีการเล่น + + + + &Video + &วิดีโอ + + + + &View + &มุมมอง + + + + &Share + แ&บ่งปัน + + + + &Help + &ช่วยเหลือ + + + + Press %1 to raise the volume, %2 to lower it + กด %1 เพื่อเพิ่มเสียง กด %2 เพื่อลดเสียง + + + + + Opening %1 + กำลังเปิด %1 + + + + Do you want to exit %1 with a download in progress? + คุณจะออกจาก %1 โดยที่การดาวน์โหลดกำลังดำเนินอยู่หรือ? + + + + If you close %1 now, this download will be cancelled. + ถ้าคุณปิด %1 ตอนนี้ การดาวน์โหลดจะถูกยกเลิก + + + + Close and cancel download + ปิดและยกเลิกการดาวน์โหลด + + + + Wait for download to finish + รอให้ดาวน์โหลดเสร็จ + + + + Leave &Full Screen + ออกจากแบบเ&ต็มจอ + + + + %1 version %2 is now available. + %1 เวอร์ชั่น %2 ตอนนี้มีพร้อมใช้ + + + + Remind me later + แจ้งฉันภายหลัง + + + + Update + อัพเดต + + + + Error: %1 + ผิดพลาด: %1 + + + + P&revious + &ก่อนหน้า + + + + Go back to the previous track + กลับไปที่แทร็คก่อนหน้า + + + + &Compact Mode + โหมด&กะทัดรัด + + + + Open the &YouTube Page + เ&ปิดหน้า Youtube + + + + Copy the YouTube &Link + คัดลอก&ลิงค์ Youtube + + + + Copy the Video Stream &URL + คัดลอก &URL ของกระแสวิดีโอ + + + + Find Video &Parts + ค้นหา&ตอนของวิดีโอ + + + + &Clear Recent Searches + &ล้างการค้นหาเมื่อเร็วๆนี้ + + + + Make a &Donation + ทำการ&บริจาค + + + + &Manually Start Playing + เ&ริ่มการเล่นด้วยตนเอง + + + + Manually start playing videos + เริ่มการเล่นวิดีโอด้วยตนเอง + + + + Choose your content location + เลือกที่ตั้งเนื้อหาของคุณ + + + + &Play + เ&ล่น + + + + Resume playback + เล่นต่อจากเดิม + + + + Remaining time: %1 + เวลาที่เหลือ: %1 + + + + Volume at %1% + ความดังเสียงที่ %1% + + + + Volume is muted + เสียงถูกปิด + + + + Volume is unmuted + เสียงถูกเปิด + + + + Maximum video definition set to %1 + ใช้วิดีโอความละเอียดสูงสุด %1 + + + + Your privacy is now safe + ความเป็นส่วนตัวของคุณขณะนี้ปลอดภัย + + + + Downloads complete + ดาวน์โหลดเสร็จ + + + + MediaView + + + You can now paste the YouTube link into another application + ตอนนี้คุณสามารถวางลิงค์ของ YouTube ในแอปพลิเคชั่นอื่นได้ + + + + You can now paste the video stream URL into another application + ตอนนี้คุณสามารถวาง URL ของกระแสวิดีโอลงในแอปพลิเคชั่นอื่นได้ + + + + The link will be valid only for a limited time. + ลิงค์จะใช้ได้ในระยะเวลาที่จำกัดเท่านั้น + + + + This is just the demo version of %1. + นี้เป็นแค่เวอร์ชั่นทดลองใช้ %1. + + + + It allows you to test the application and see if it works for you. + มันช่วยให้คุณทดสอบโปรแกรมและดูว่ามันใช้ได้ผลกับคุณหรือเปล่า + + + + Continue + ต่อไป + + + + of + Used in video parts, as in '2 of 3' + จาก + + + + part + This is for video parts, as in 'Cool video - part 1' + ตอน + + + + episode + This is for video parts, as in 'Cool series - episode 1' + ภาค + + + + Sent from %1 + ถูกส่งจาก %1 + + + + Unsubscribe from %1 + เลิกสมัครติดตามจาก %1 + + + + Subscribe to %1 + สมัครติดตามสู่ %1 + + + + Get the full version + ทำให้เป็นเวอร์ชั่นเต็ม + + + + Downloading %1 + กำลังดาวน์โหลด %1 + + + + MessageWidget + + + A new version of %1 is available! + เวอร์ชั่นใหม่ของ %1 มีพร้อมแล้ว! + + + + %1 %2 is now available. You have %3. + %1 %2 ตอนนี้มีพร้อมแล้ว คุณมี %3 + + + + Would you like to download it now? + คุณอยากจะดาวน์โหลดตอนนี้หรือไม่? + + + + Skip This Version + ข้ามเวอร์ชั่นนี้ + + + + Remind Me Later + แจ้งฉันภายหลัง + + + + Install Update + ติดตั้งอัพเดต + + + + PasteLineEdit + + + Paste + วาง + + + + PlaylistItemDelegate + + + %1 views + ดู %1 ครั้ง + + + + %1 of %2 (%3) — %4 + %1 ของ %2 (%3) — %4 + + + + Preparing + กำลังเตรียม + + + + Failed + ล้มเหลว + + + + Completed + เสร็จสมบูรณ์ + + + + Stopped + ถูกหยุด + + + + Stop downloading + หยุดการดาวน์โหลด + + + + Show in %1 + แสดงใน %1 + + + + Open parent folder + เปิดโฟลเดอร์แม่ + + + + Restart downloading + เริ่มดาวน์โหลดใหม่ + + + + PlaylistModel + + + Searching... + กำลังค้นหา... + + + + Show %1 More + แสดง %1 เพิ่มเติม + + + + No videos + ไม่มีวิดีโอ + + + + No more videos + ไม่มีวิดีโอเพิ่มเติม + + + + RefineSearchWidget + + + Sort by + เรียงตาม + + + + Relevance + ความเกี่ยวข้อง + + + + + Date + วันที่ + + + + View Count + จำนวนการดู + + + + Rating + คะแนน + + + + Anytime + เวลาใดๆ + + + + Today + วันนี้ + + + + 7 Days + 7 วัน + + + + 30 Days + 30 วัน + + + + Duration + ระยะเวลา + + + + + All + ทั้งหมด + + + + Short + สั้น + + + + Medium + ปานกลาง + + + + Long + ยาว + + + + Less than 4 minutes + น้อยกว่า 4 นาที + + + + Between 4 and 20 minutes + ระหว่าง 4 ถึง 20 นาที + + + + Longer than 20 minutes + ยาวกว่า 20 นาที + + + + Quality + คุณภาพ + + + + High Definition + ความละเอียดสูง + + + + 720p or higher + 720p หรือสูงกว่า + + + + Done + เสร็จแล้ว + + + + RegionsView + + + Done + เสร็จแล้ว + + + + SearchLineEdit + + + Search + ค้นหา + + + + SearchView + + + Welcome to <a href='%1'>%2</a>, + ยินดีต้อนรับสู่ <a href='%1'>%2</a>, + + + + Get the full version + ซื้อเวอร์ชั่นเต็ม + + + + Enter + "Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos" + ตกลง + + + + a keyword + คำสำคัญ + + + + a channel + ช่อง + + + + to start watching videos. + เพื่อเริ่มรับชมวิดีโอ + + + + Watch + รับชม + + + + Recent keywords + คำสำคัญเมื่อเร็วๆนี้ + + + + Recent channels + ช่องเมื่อเร็วๆนี้ + + + + SidebarHeader + + + + &Back + &กลับ + + + + Forward to %1 + เดินหน้าสู่ %1 + + + + Back to %1 + กลับสู่ %1 + + + + SidebarWidget + + + Refine Search + ค้นหาโดยละเอียด + + + + Did you mean: %1 + หรือคุณหมายถึง: %1 + + + + SnapshotSettings + + + Change location... + เปลี่ยนที่บันทึก + + + + Snapshot saved to %1 + ภาพถ่ายถูกบันทึกสู่ %1 + + + + Snapshots location changed. + ที่ตั้งของภาพถ่ายถูกเปลี่ยน + + + + StandardFeedsView + + + Most Popular + ยอดนิยม + + + + Video + + + Cannot get video stream for %1 + ไม่สามารถรับกระแสวิดีโอของ %1 + + + + Network error: %1 for %2 + เครือข่ายขัดข้อง: %1 สำหรับ %2 + + + + YTRegions + + + Algeria + แอลจีเรีย + + + + Argentina + อาร์เจนติน่า + + + + Australia + ออสเตรเลีย + + + + Belgium + เบลเยี่ยม + + + + Brazil + บราซิล + + + + Canada + แคนาดา + + + + Chile + ชิลี + + + + Colombia + โคลอมเบีย + + + + Czech Republic + เชค, สาธารณรัฐ + + + + Egypt + อียิปต์ + + + + France + ฝรั่งเศส + + + + Germany + เยอรมนี + + + + Ghana + กาน่า + + + + Greece + กรีซ + + + + Hong Kong + ฮ่องกง + + + + Hungary + ฮังการี่ + + + + India + อินเดีย + + + + Indonesia + อินโดนีเซีย + + + + Ireland + ไอร์แลนด์ + + + + Israel + อิสราเอล + + + + Italy + อิตาลี่ + + + + Japan + ญี่ปุ่น + + + + Jordan + จอร์แดน + + + + Kenya + เคนย่า + + + + Malaysia + มาเลเซีย + + + + Mexico + เม็กซิโก + + + + Morocco + โมร็อกโก + + + + Netherlands + เนเธอร์แลนด์ + + + + New Zealand + นิวซีแลนด์ + + + + Nigeria + ไนจีเรีย + + + + Peru + เปรู + + + + Philippines + ฟิลิปปินส์ + + + + Poland + โปแลนด์ + + + + Russia + รัสเซีย + + + + Saudi Arabia + ซาอุดิอาระเบีย + + + + Singapore + สิงคโปร์ + + + + South Africa + อาฟริกาใต้ + + + + South Korea + เกาหลีใต้ + + + + Spain + สเปน + + + + Sweden + สวีเดน + + + + Taiwan + ไต้หวัน + + + + Tunisia + ตูนิเซีย + + + + Turkey + ตุรกี + + + + Uganda + ยูกันดา + + + + United Arab Emirates + สหรัฐอาหรับเอมิเรสต์ + + + + United Kingdom + สหราชอาณาจักร + + + + Yemen + เยเมน + + + + Worldwide + ทั่วโลก + + + \ No newline at end of file diff --git a/minitube.pro b/minitube.pro index effa02e..2f029bf 100644 --- a/minitube.pro +++ b/minitube.pro @@ -1,6 +1,6 @@ CONFIG += release TEMPLATE = app -VERSION = 2.3 +VERSION = 2.4 DEFINES += APP_VERSION="$$VERSION" APP_NAME = Minitube @@ -12,14 +12,19 @@ DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME" DEFINES += APP_PHONON DEFINES += APP_PHONON_SEEK DEFINES += APP_SNAPSHOT +DEFINES += APP_YT3 DEFINES *= QT_NO_DEBUG_OUTPUT DEFINES *= QT_USE_QSTRINGBUILDER DEFINES *= QT_STRICT_ITERATORS +!contains(DEFINES, APP_GOOGLE_API_KEY) { + warning("You need to specify a Google API Key, refer to the README.md file for details") +} + TARGET = $${APP_UNIX_NAME} -QT += network xml sql script +QT += network sql script qt:greaterThan(QT_MAJOR_VERSION, 4) { contains(QT, gui): QT *= widgets } @@ -83,7 +88,6 @@ HEADERS += src/video.h \ src/gridwidget.h \ src/painterutils.h \ src/database.h \ - src/ytuser.h \ src/channelaggregator.h \ src/channelmodel.h \ src/aggregatevideosource.h \ @@ -93,7 +97,11 @@ HEADERS += src/video.h \ src/seekslider.h \ src/snapshotsettings.h \ src/snapshotpreview.h \ - src/datautils.h + src/datautils.h \ + src/yt3listparser.h \ + src/ytchannel.h \ + src/yt3.h \ + src/paginatedvideosource.h SOURCES += src/main.cpp \ src/searchlineedit.cpp \ src/urllineedit.cpp \ @@ -149,7 +157,6 @@ SOURCES += src/main.cpp \ src/gridwidget.cpp \ src/painterutils.cpp \ src/database.cpp \ - src/ytuser.cpp \ src/channelaggregator.cpp \ src/channelmodel.cpp \ src/aggregatevideosource.cpp \ @@ -159,7 +166,11 @@ SOURCES += src/main.cpp \ src/seekslider.cpp \ src/snapshotsettings.cpp \ src/snapshotpreview.cpp \ - src/datautils.cpp + src/datautils.cpp \ + src/yt3listparser.cpp \ + src/ytchannel.cpp \ + src/yt3.cpp \ + src/paginatedvideosource.cpp RESOURCES += resources.qrc DESTDIR = build/target/ OBJECTS_DIR = build/obj/ diff --git a/src/aboutview.cpp b/src/aboutview.cpp index e8e88cc..3cbea11 100644 --- a/src/aboutview.cpp +++ b/src/aboutview.cpp @@ -89,7 +89,7 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) { "

" + tr("Released under the GNU General Public License") .arg("http://www.gnu.org/licenses/gpl.html") + "

" #endif - "

© 2009-2014 " + Constants::ORG_NAME + "

" + "

© 2009-2015 " + Constants::ORG_NAME + "

" ""; QLabel *infoLabel = new QLabel(info, this); infoLabel->setOpenExternalLinks(true); diff --git a/src/aggregatevideosource.cpp b/src/aggregatevideosource.cpp index 55e72dc..2c5f330 100644 --- a/src/aggregatevideosource.cpp +++ b/src/aggregatevideosource.cpp @@ -25,9 +25,9 @@ $END_LICENSE */ AggregateVideoSource::AggregateVideoSource(QObject *parent) : VideoSource(parent), - unwatched(false) { } + unwatched(false), hasMore(true) { } -void AggregateVideoSource::loadVideos(int max, int skip) { +void AggregateVideoSource::loadVideos(int max, int startIndex) { QSqlDatabase db = Database::instance().getConnection(); QSqlQuery query(db); QString sql = "select v.video_id," @@ -48,7 +48,7 @@ void AggregateVideoSource::loadVideos(int max, int skip) { sql += " from subscriptions_videos v order by published desc "; sql += "limit ?,?"; query.prepare(sql); - query.bindValue(0, skip - 1); + query.bindValue(0, startIndex - 1); query.bindValue(1, max); bool success = query.exec(); if (!success) qWarning() << query.lastQuery() << query.lastError().text(); @@ -58,8 +58,8 @@ void AggregateVideoSource::loadVideos(int max, int skip) { video->setId(query.value(0).toString()); video->setPublished(QDateTime::fromTime_t(query.value(1).toUInt())); video->setTitle(query.value(2).toString()); - video->setAuthor(query.value(3).toString()); - video->setUserId(query.value(4).toString()); + video->setChannelTitle(query.value(3).toString()); + video->setChannelId(query.value(4).toString()); video->setDescription(query.value(5).toString()); video->setWebpage(query.value(6).toString()); video->setThumbnailUrl(query.value(7).toString()); @@ -67,10 +67,17 @@ void AggregateVideoSource::loadVideos(int max, int skip) { video->setDuration(query.value(9).toInt()); videos << video; } + + hasMore = videos.size() >= max; + emit gotVideos(videos); emit finished(videos.size()); } +bool AggregateVideoSource::hasMoreVideos() { + return hasMore; +} + const QStringList & AggregateVideoSource::getSuggestions() { QStringList *l = new QStringList(); return *l; diff --git a/src/aggregatevideosource.h b/src/aggregatevideosource.h index 49de4a0..55aa730 100644 --- a/src/aggregatevideosource.h +++ b/src/aggregatevideosource.h @@ -30,7 +30,8 @@ class AggregateVideoSource : public VideoSource { public: AggregateVideoSource(QObject *parent = 0); - void loadVideos(int max, int skip); + void loadVideos(int max, int startIndex); + bool hasMoreVideos(); virtual void abort(); virtual const QStringList & getSuggestions(); QString getName() { return name; } @@ -40,6 +41,7 @@ public: private: QString name; bool unwatched; + bool hasMore; }; diff --git a/src/channelaggregator.cpp b/src/channelaggregator.cpp index 092a993..a7eb055 100644 --- a/src/channelaggregator.cpp +++ b/src/channelaggregator.cpp @@ -19,7 +19,7 @@ along with Minitube. If not, see . $END_LICENSE */ #include "channelaggregator.h" -#include "ytuser.h" +#include "ytchannel.h" #include "ytsearch.h" #include "searchparams.h" #include "database.h" @@ -32,8 +32,7 @@ ChannelAggregator::ChannelAggregator(QObject *parent) : QObject(parent), unwatchedCount(-1), running(false), stopped(false) { - QSettings settings; - checkInterval = settings.value("subscriptionsCheckInterval", 1800).toUInt(); + checkInterval = 3600; timer = new QTimer(this); timer->setInterval(60000 * 5); @@ -46,9 +45,10 @@ ChannelAggregator* ChannelAggregator::instance() { } void ChannelAggregator::start() { + stopped = false; updateUnwatchedCount(); QTimer::singleShot(0, this, SLOT(run())); - timer->start(); + if (!timer->isActive()) timer->start(); } void ChannelAggregator::stop() { @@ -56,59 +56,65 @@ void ChannelAggregator::stop() { stopped = true; } -YTUser* ChannelAggregator::getChannelToCheck() { +YTChannel* ChannelAggregator::getChannelToCheck() { if (stopped) return 0; QSqlDatabase db = Database::instance().getConnection(); QSqlQuery query(db); query.prepare("select user_id from subscriptions where checkedprocessEvents(); - YTUser* user = getChannelToCheck(); - if (user) { + YTChannel* channel = getChannelToCheck(); + if (channel) { SearchParams *params = new SearchParams(); - params->setAuthor(user->getUserId()); + params->setChannelId(channel->getChannelId()); params->setSortBy(SearchParams::SortByNewest); params->setTransient(true); + params->setPublishedAfter(channel->getChecked()); YTSearch *videoSource = new YTSearch(params, this); - connect(videoSource, SIGNAL(gotVideos(QList)), - SLOT(videosLoaded(QList))); - videoSource->loadVideos(10, 1); - user->updateChecked(); + connect(videoSource, SIGNAL(gotVideos(QList)), SLOT(videosLoaded(QList))); + videoSource->loadVideos(50, 1); + channel->updateChecked(); } else finish(); } void ChannelAggregator::finish() { - foreach (YTUser *user, updatedChannels) - if (user->updateNotifyCount()) - emit channelChanged(user); - + /* + foreach (YTChannel *channel, updatedChannels) + if (channel->updateNotifyCount()) + emit channelChanged(channel); updateUnwatchedCount(); + */ QSqlDatabase db = Database::instance().getConnection(); if (!db.commit()) qWarning() << "Commit failed" << __PRETTY_FUNCTION__; + /* QByteArray b = db.databaseName().right(20).toLocal8Bit(); const char* s = b.constData(); @@ -124,8 +130,8 @@ void ChannelAggregator::finish() { QString channelNames; const int total = updatedChannels.size(); for (int i = 0; i < total; ++i) { - YTUser *user = updatedChannels.at(i); - channelNames += user->getDisplayName(); + YTChannel *channel = updatedChannels.at(i); + channelNames += channel->getDisplayName(); if (i < total-1) channelNames.append(", "); } channelNames = tr("By %1").arg(channelNames); @@ -138,14 +144,23 @@ void ChannelAggregator::finish() { running = false; } -void ChannelAggregator::videosLoaded(QList