Merge branch 'master' of https://github.com/tony199555/alltube into feature/gettext

Conflicts:
	composer.json
	composer.lock
	templates/index.tpl
	templates/video.tpl
This commit is contained in:
Pierre Rudloff 2017-05-29 19:01:20 +02:00
commit 3fff849ea8
15 changed files with 368 additions and 47 deletions

View file

@ -13,7 +13,8 @@
"ptachoire/process-builder-chain": "~1.2.0",
"guzzlehttp/guzzle": "~6.2.0",
"aura/session": "~2.1.0",
"barracudanetworks/archivestream-php": "~1.0.5"
"barracudanetworks/archivestream-php": "~1.0.5",
"smarty-gettext/smarty-gettext": "~1.5.1"
},
"require-dev": {
"symfony/var-dumper": "~3.2.0",

80
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "73d6ed72dae93290d21ac47042e14886",
"content-hash": "9793382606938199471cea3e8c7cbb6c",
"packages": [
{
"name": "aura/session",
@ -662,6 +662,60 @@
],
"time": "2017-03-19T17:55:20+00:00"
},
{
"name": "smarty-gettext/smarty-gettext",
"version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/smarty-gettext/smarty-gettext.git",
"reference": "00fe2fcbc41e24e0245cd9d73f96bc7b0337972d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/smarty-gettext/smarty-gettext/zipball/00fe2fcbc41e24e0245cd9d73f96bc7b0337972d",
"reference": "00fe2fcbc41e24e0245cd9d73f96bc7b0337972d",
"shasum": ""
},
"require": {
"ext-gettext": "*",
"ext-pcre": "*",
"php": "~5.3|~7.0"
},
"require-dev": {
"azatoth/php-pgettext": "~1.0",
"smarty/smarty": "3.1.*"
},
"suggest": {
"azatoth/php-pgettext": "Support msgctxt for {t} via context parameter"
},
"bin": [
"tsmarty2c.php"
],
"type": "library",
"autoload": {
"files": [
"block.t.php",
"function.locale.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1+"
],
"authors": [
{
"name": "Sagi Bashari",
"email": "sagi@boom.org.il"
},
{
"name": "Elan Ruusamäe",
"email": "glen@delfi.ee"
}
],
"description": "Gettext plugin enabling internationalization in Smarty Package files",
"homepage": "https://github.com/smarty-gettext/smarty-gettext",
"time": "2017-05-12T12:14:46+00:00"
},
{
"name": "smarty/smarty",
"version": "v3.1.31",
@ -1435,16 +1489,16 @@
},
{
"name": "phpunit/phpunit",
"version": "5.7.19",
"version": "5.7.20",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1"
"reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1",
"reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3cb94a5f8c07a03c8b7527ed7468a2926203f58b",
"reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b",
"shasum": ""
},
"require": {
@ -1462,7 +1516,7 @@
"phpunit/php-timer": "^1.0.6",
"phpunit/phpunit-mock-objects": "^3.2",
"sebastian/comparator": "^1.2.4",
"sebastian/diff": "~1.2",
"sebastian/diff": "^1.4.3",
"sebastian/environment": "^1.3.4 || ^2.0",
"sebastian/exporter": "~2.0",
"sebastian/global-state": "^1.1",
@ -1513,7 +1567,7 @@
"testing",
"xunit"
],
"time": "2017-04-03T02:22:27+00:00"
"time": "2017-05-22T07:42:55+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
@ -1580,7 +1634,7 @@
"dist": {
"type": "zip",
"url": "https://github.com/rg3/youtube-dl/archive/2017.05.09.zip",
"reference": "2017.05.09",
"reference": null,
"shasum": null
},
"type": "library"
@ -1724,16 +1778,16 @@
},
{
"name": "sebastian/diff",
"version": "1.4.2",
"version": "1.4.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2"
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2",
"reference": "3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
"shasum": ""
},
"require": {
@ -1772,7 +1826,7 @@
"keywords": [
"diff"
],
"time": "2017-05-18T13:44:30+00:00"
"time": "2017-05-22T07:24:03+00:00"
},
{
"name": "sebastian/environment",

View file

@ -1,5 +1,10 @@
<?php
$language = 'zh_CN';
putenv('LANG='.$language);
setlocale(LC_ALL, [$language, $language.'.utf8']);
require_once __DIR__.'/vendor/autoload.php';
use Alltube\Config;
use Alltube\Controller\FrontController;

View file

@ -0,0 +1,124 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
#: ..\..\..\templates/error.tpl:5
msgid "An error occured"
msgstr ""
#: ..\..\..\templates/error.tpl:6
msgid "Please check the URL of your video."
msgstr ""
#: ..\..\..\templates/extractors.tpl:4
msgid "Supported websites"
msgstr ""
#: ..\..\..\templates/inc/footer.tpl:4
msgid "Code by"
msgstr ""
#: ..\..\..\templates/inc/footer.tpl:6
msgid "Design by"
msgstr ""
#: ..\..\..\templates/inc/footer.tpl:12
msgid "AllTube Download on Facebook"
msgstr ""
#: ..\..\..\templates/inc/footer.tpl:12
msgid "Like us on Facebook"
msgstr ""
#: ..\..\..\templates/inc/footer.tpl:14
msgid "Get the code"
msgstr ""
#: ..\..\..\templates/inc/footer.tpl:16
msgid "Based on"
msgstr ""
#: ..\..\..\templates/inc/header.tpl:4
msgid "Share on Twitter"
msgstr ""
#: ..\..\..\templates/inc/header.tpl:5
msgid "Share on Facebook"
msgstr ""
#: ..\..\..\templates/index.tpl:9
msgid "Copy here the URL of your video (Youtube, Dailymotion, etc.)"
msgstr ""
#: ..\..\..\templates/index.tpl:19 ..\..\..\templates/password.tpl:10
#: ..\..\..\templates/playlist.tpl:23 ..\..\..\templates/video.tpl:85
#: ..\..\..\templates/video.tpl:90
msgid "Download"
msgstr ""
#: ..\..\..\templates/index.tpl:24
msgid "Audio only (MP3)"
msgstr ""
#: ..\..\..\templates/index.tpl:29
msgid "See all supported websites"
msgstr ""
#: ..\..\..\templates/index.tpl:31
msgid "Drag this to your bookmarks bar:"
msgstr ""
#: ..\..\..\templates/index.tpl:32
msgid "Bookmarklet"
msgstr ""
#: ..\..\..\templates/password.tpl:5
msgid "This video is protected"
msgstr ""
#: ..\..\..\templates/password.tpl:6
msgid "You need a password in order to download this video."
msgstr ""
#: ..\..\..\templates/password.tpl:8
msgid "Video password"
msgstr ""
#: ..\..\..\templates/playlist.tpl:5
msgid "Videos extracted from the"
msgstr ""
#: ..\..\..\templates/playlist.tpl:7
msgid "playlist:"
msgstr ""
#: ..\..\..\templates/playlist.tpl:24
msgid "More options"
msgstr ""
#: ..\..\..\templates/video.tpl:6
msgid "You are going to download"
msgstr ""
#: ..\..\..\templates/video.tpl:24
msgid "Available formats:"
msgstr ""
#: ..\..\..\templates/video.tpl:31
msgid "Generic formats"
msgstr ""
#: ..\..\..\templates/video.tpl:34
msgid "Best"
msgstr ""
#: ..\..\..\templates/video.tpl:39
msgid "Remux best video with best audio"
msgstr ""
#: ..\..\..\templates/video.tpl:43
msgid "Worst"
msgstr ""
#: ..\..\..\templates/video.tpl:46
msgid "Detailed formats"
msgstr ""

Binary file not shown.

View file

@ -0,0 +1,135 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Shiqiang Yu <tony19955569@gmail.com>\n"
"Language-Team: \n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ..\..\..\templates/error.tpl:5
msgid "An error occured"
msgstr "出错了"
#: ..\..\..\templates/error.tpl:6
msgid "Please check the URL of your video."
msgstr "请检查您的视频的 URL。"
#: ..\..\..\templates/extractors.tpl:4
msgid "Supported websites"
msgstr "支持的网站"
#: ..\..\..\templates/inc/footer.tpl:4
msgid "Code by"
msgstr "代码来自"
#: ..\..\..\templates/inc/footer.tpl:6
msgid "Design by"
msgstr "设计来自"
#: ..\..\..\templates/inc/footer.tpl:12
msgid "AllTube Download on Facebook"
msgstr "去Alltube Download的Facebook页面"
#: ..\..\..\templates/inc/footer.tpl:12
msgid "Like us on Facebook"
msgstr "在Facebook关注我们"
#: ..\..\..\templates/inc/footer.tpl:14
msgid "Get the code"
msgstr "获取代码"
#: ..\..\..\templates/inc/footer.tpl:16
msgid "Based on"
msgstr "基于"
#: ..\..\..\templates/inc/header.tpl:4
msgid "Share on Twitter"
msgstr "分享到 Twitter"
#: ..\..\..\templates/inc/header.tpl:5
msgid "Share on Facebook"
msgstr "分享到 Facebook"
#: ..\..\..\templates/index.tpl:9
msgid "Copy here the URL of your video (Youtube, Dailymotion, etc.)"
msgstr "在这里复制您的视频 Youtube、 Dailymotion 等) 的 URL"
#: ..\..\..\templates/index.tpl:19 ..\..\..\templates/password.tpl:10
#: ..\..\..\templates/playlist.tpl:23 ..\..\..\templates/video.tpl:85
#: ..\..\..\templates/video.tpl:90
msgid "Download"
msgstr "下载"
#: ..\..\..\templates/index.tpl:24
msgid "Audio only (MP3)"
msgstr "仅限音频mp3"
#: ..\..\..\templates/index.tpl:29
msgid "See all supported websites"
msgstr "请参阅支持的所有网站"
#: ..\..\..\templates/index.tpl:31
msgid "Drag this to your bookmarks bar:"
msgstr "把这个拖到你的书签:"
#: ..\..\..\templates/index.tpl:32
msgid "Bookmarklet"
msgstr "书签工具"
#: ..\..\..\templates/password.tpl:5
msgid "This video is protected"
msgstr "这个视频受保护"
#: ..\..\..\templates/password.tpl:6
msgid "You need a password in order to download this video."
msgstr "你需要密码才能下载这个视频。"
#: ..\..\..\templates/password.tpl:8
msgid "Video password"
msgstr "视频密码"
#: ..\..\..\templates/playlist.tpl:5
msgid "Videos extracted from the"
msgstr "视频从"
#: ..\..\..\templates/playlist.tpl:7
msgid "playlist:"
msgstr "播放列表提取:"
#: ..\..\..\templates/playlist.tpl:24
msgid "More options"
msgstr "更多选项"
#: ..\..\..\templates/video.tpl:6
msgid "You are going to download"
msgstr "你即将下载"
#: ..\..\..\templates/video.tpl:24
msgid "Available formats:"
msgstr "可用的格式︰"
#: ..\..\..\templates/video.tpl:31
msgid "Generic formats"
msgstr "通用格式"
#: ..\..\..\templates/video.tpl:34
msgid "Best"
msgstr "最佳"
#: ..\..\..\templates/video.tpl:39
msgid "Remux best video with best audio"
msgstr "重新封装最佳视频与最佳音频"
#: ..\..\..\templates/video.tpl:43
msgid "Worst"
msgstr "最差"
#: ..\..\..\templates/video.tpl:46
msgid "Detailed formats"
msgstr "详细格式"

View file

@ -2,8 +2,8 @@
<div class="wrapper">
<div class="main error">
{include file="inc/logo.tpl"}
<h2>An error occured</h2>
Please check the URL of your video.
<h2>{t}An error occured{/t}</h2>
{t}Please check the URL of your video.{/t}
<p><i>
{foreach $errors as $error}
{$error|escape}

View file

@ -1,7 +1,7 @@
{include file='inc/head.tpl'}
{include file='inc/header.tpl'}
{include file='inc/logo.tpl'}
<h2 class="titre">Supported websites</h2>
<h2 class="titre">{t}Supported websites{/t}</h2>
<div class="tripleliste">
<ul>
{foreach $extractors as $extractor}

View file

@ -1,19 +1,19 @@
</div>
<footer>
<div class="footer_wrapper">
Code by <a rel="author" target="blank"
{t}Code by{/t} <a rel="author" target="blank"
href="http://rudloff.pro/">Pierre Rudloff</a>
&middot; Design by
&middot; {t}Design by{/t}
<a rel="author" target="blank"
href="http://olivierhaquette.fr">Olivier Haquette</a>
&middot;
<a target="_blank"
href="https://www.facebook.com/pages/AllTube-Download/571380966249415"
title="AllTube Download on Facebook">Like us on Facebook</a>
title="{t}AllTube Download on Facebook{/t}">{t}Like us on Facebook{/t}</a>
&middot;
<a href="https://github.com/Rudloff/alltube">Get the code</a>
<a href="https://github.com/Rudloff/alltube">{t}Get the code{/t}</a>
&middot;
Based on <a href="http://rg3.github.io/youtube-dl/">youtube-dl</a>
{t}Based on{/t} <a href="http://rg3.github.io/youtube-dl/">youtube-dl</a>
</div>
</footer>
<script src="{base_url}/dist/main.js"></script>

View file

@ -1,3 +1,4 @@
{locale path="Translations" domain="Alltube"}
<!Doctype HTML>
<html lang="en">
<head>

View file

@ -1,8 +1,8 @@
<header>
<div class="social">
<a class="twitter" href="http://twitter.com/home?status={base_url|urlencode}" target="_blank">
Share on Twitter<div class="twittermask"></div></a>
<a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u={base_url|urlencode}" target="_blank">Share on Facebook<div class="facebookmask"></div></a>
{t}Share on Twitter{/t}<div class="twittermask"></div></a>
<a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u={base_url|urlencode}" target="_blank">{t}Share on Facebook{/t}<div class="facebookmask"></div></a>
</div>
</header>
<div class="wrapper">

View file

@ -1,11 +1,12 @@
{include file='inc/head.tpl'}
{include file='inc/header.tpl'}
{locale path="Translations" domain="Alltube"}
<div class="main">
<div><img class="logo" src="{base_url}/img/logo.png"
alt="AllTube Download" width="328" height="284"></div>
<form action="{path_for name="video"}">
<label class="labelurl" for="url">
Copy here the URL of your video (Youtube, Dailymotion, etc.)
{t}Copy here the URL of your video (Youtube, Dailymotion, etc.){/t}
</label>
<div class="champs">
<span class="URLinput_wrapper">
@ -15,20 +16,20 @@
{if $config->uglyUrls}
<input type="hidden" name="page" value="video" />
{/if}
<input class="downloadBtn" type="submit" value="Download" /><br/>
<input class="downloadBtn" type="submit" value="{t}Download{/t}" /><br/>
{if $config->convert}
<div class="mp3">
<p><input type="checkbox" id="audio" class="audio" name="audio">
<label for="audio"><span class="ui"></span>
Audio only (MP3)</label></p>
{t}Audio only (MP3){/t}</label></p>
</div>
{/if}
</div>
</form>
<a class="combatiblelink" href="{path_for name="extractors"}">See all supported websites</a>
<a class="combatiblelink" href="{path_for name="extractors"}">{t}See all supported websites{/t}</a>
<div id="bookmarklet" class="bookmarklet_wrapper">
<p> Drag this to your bookmarks bar: </p>
<a class="bookmarklet" href="javascript:window.location='{$domain}{path_for name='video'}?url='+encodeURIComponent(location.href);">Bookmarklet</a>
<p> {t}Drag this to your bookmarks bar:{/t} </p>
<a class="bookmarklet" href="javascript:window.location='{$domain}{path_for name='video'}?url='+encodeURIComponent(location.href);">{t}Bookmarklet{/t}</a>
</div>
</div>

View file

@ -2,12 +2,12 @@
<div class="wrapper">
<div class="main">
{include file="inc/logo.tpl"}
<h2>This video is protected</h2>
<p>You need a password in order to download this video.</p>
<h2>{t}This video is protected{/t}</h2>
<p>{t}You need a password in order to download this video.{/t}</p>
<form action="" method="POST">
<input class="URLinput" type="password" name="password" title="Video password" />
<input class="URLinput" type="password" name="password" title="{t}Video password{/t}" />
<br/><br/>
<input class="downloadBtn" type="submit" value="Download" />
<input class="downloadBtn" type="submit" value="{t}Download{/t}" />
</form>
</div>
{include file='inc/footer.tpl'}

View file

@ -2,9 +2,9 @@
<div class="wrapper">
<div class="main">
{include file="inc/logo.tpl"}
<p>Videos extracted from the {if isset($video->title)}<i>
<p>{t}Videos extracted from the{/t} {if isset($video->title)}<i>
<a href="{$video->webpage_url}">
{$video->title}</a></i>{/if} playlist:
{$video->title}</a></i>{/if} {t}playlist:{/t}
</p>
{if $config->stream}
<a href="{path_for name="redirect"}?url={$video->webpage_url}" class="downloadBtn">Download everything</a>
@ -23,8 +23,8 @@
{$video->title}
{/if}
</a></h3>
<a target="_blank" class="downloadBtn" href="{path_for name="redirect"}?url={$video->url}">Download</a>
<a target="_blank" href="{path_for name="video"}?url={$video->url}">More options</a>
<a target="_blank" class="downloadBtn" href="{path_for name="redirect"}?url={$video->url}">{t}Download{/t}</a>
<a target="_blank" href="{path_for name="video"}?url={$video->url}">{t}More options{/t}</a>
</div>
{/foreach}

View file

@ -3,7 +3,7 @@
<div itemscope itemtype="http://schema.org/VideoObject">
<div class="main">
{include file="inc/logo.tpl"}
<p id="download_intro">You are going to download<i itemprop="name">
<p id="download_intro">{t}You are going to download{/t}<i itemprop="name">
<a itemprop="url" id="video_link"
data-ext="{$video->ext}"
data-video="{$video->url|escape}"
@ -23,27 +23,27 @@
<form action="{path_for name="redirect"}">
<input type="hidden" name="url" value="{$video->webpage_url}" />
{if isset($video->formats)}
<h3><label for="format">Available formats:</label></h3>
<h3><label for="format">{t}Available formats:{/t}</label></h3>
{if $config->uglyUrls}
<input type="hidden" name="page" value="redirect" />
{/if}
<select name="format" id="format" class="formats monospace">
<optgroup label="Generic formats">
<optgroup label="{t}Generic formats{/t}">
<option value="best{$protocol}">
{strip}
Best ({$video->ext})
{t}Best{/t} ({$video->ext})
{/strip}
</option>
{if $config->remux}
<option value="bestvideo+bestaudio">
Remux best video with best audio
{t}Remux best video with best audio{/t}
</option>
{/if}
<option value="worst{$protocol}">
Worst
{t}Worst{/t}
</option>
</optgroup>
<optgroup label="Detailed formats" class="monospace">
<optgroup label="{t}Detailed formats{/t}" class="monospace">
{foreach $video->formats as $format}
{if $config->stream || $format->protocol|in_array:array('http', 'https')}
{strip}
@ -82,10 +82,10 @@
{/foreach}
</optgroup>
</select><br/><br/>
<input class="downloadBtn" type="submit" value="Download" /><br/>
<input class="downloadBtn" type="submit" value="{t}Download{/t}" /><br/>
</form>
{else}
<input class="downloadBtn" type="submit" value="Download" /><br/>
<input class="downloadBtn" type="submit" value="{t}Download{/t}" /><br/>
{/if}
</div>
</div>