From: Jakob Haufe Date: Sun, 7 Jun 2015 01:10:01 +0000 (+0200) Subject: Imported Upstream version 2.4 X-Git-Tag: upstream/2.4 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=890b967ea0b7282fe3dcafda91a9abd2d6f27c46;p=minitube Imported Upstream version 2.4 --- 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/INSTALL deleted file mode 100644 index 169bf90..0000000 --- a/INSTALL +++ /dev/null @@ -1,46 +0,0 @@ -# Build instructions - -## 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 - -On a Debian or Ubuntu system type: -sudo apt-get install build-essential qt4-dev-tools libphonon-dev - -## Compiling -Run: - $ qmake -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 - -## A word about Phonon on Linux -To be able to actually watch videos you need a working Phonon setup. -Please don't contact me about this, ask for help on your distribution support channels. - -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 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d8ac19 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# 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. + +## 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. + +## 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 + +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 -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 + +### 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. +Please don't contact me about this, ask for help on your distribution support channels. + +These days Minitube is tested with the VLC backend only. +Please don't report bugs with other backends as they're not supported. + +## Legal Stuff +Copyright (C) Flavio Tordini + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . 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