Fix conflict on translation
Cette révision appartient à :
révision
2ab4d4ad9e
11 fichiers modifiés avec 360 ajouts et 149 suppressions
|
@ -103,7 +103,7 @@ a:hover {
|
|||
}
|
||||
|
||||
:target {
|
||||
background-color: #585b4f;
|
||||
background-color: #b294bb;
|
||||
}
|
||||
|
||||
/* style the dropdown member menu */
|
||||
|
@ -149,3 +149,14 @@ a:hover {
|
|||
background: #29363d;
|
||||
color: #cf9fff;
|
||||
}
|
||||
|
||||
/*Comments*/
|
||||
|
||||
.commentList .commentData {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.commentList .commentBody {
|
||||
background: #29363d;
|
||||
color: #fff;
|
||||
}
|
||||
|
|
|
@ -403,3 +403,100 @@ select#bottom_language_selector {
|
|||
background: white;
|
||||
color: #cf9fff;
|
||||
}
|
||||
|
||||
/* Wordbreak fix*/
|
||||
|
||||
.break {
|
||||
word-break:break-all;
|
||||
-webkit-hyphens: auto;
|
||||
-moz-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
|
||||
/*Comments*/
|
||||
|
||||
.commentList::before,
|
||||
.commentList::after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.commentList ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.commentList img {
|
||||
opacity: 1;
|
||||
filter: Alpha(opacity=100);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.commentList img.avatar {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-top: 0;
|
||||
width: 65px;
|
||||
height: 65px;
|
||||
}
|
||||
|
||||
.commentList .commentBody {
|
||||
border: 1px solid #eee;
|
||||
margin-bottom: 20px;
|
||||
margin-left: 85px;
|
||||
margin-right: 0px;
|
||||
padding: 10px 20px;
|
||||
position: relative;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
color: #6b6e80;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.commentList .commentData {
|
||||
font-size: 13px;
|
||||
color: #aaaaaa;
|
||||
padding-bottom: 8px;
|
||||
margin-bottom: 10px !important;
|
||||
border-bottom: 1px solid #eee;
|
||||
height: 2.5em;
|
||||
}
|
||||
|
||||
.commentList ul.comments ul{
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin-left: 85px;
|
||||
}
|
||||
|
||||
|
||||
.commentList h3 {
|
||||
margin-bottom: 40px;
|
||||
font-size: 26px;
|
||||
line-height: 30px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.comment {
|
||||
margin: 1em;
|
||||
padding: 1em;
|
||||
width: 75%;
|
||||
margin-left: 12%;
|
||||
}
|
||||
|
||||
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
|
||||
|
||||
.comment {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,6 +48,12 @@ for(var i in list) {
|
|||
e.innerText = date.toDateString() + " " + date.toLocaleTimeString();
|
||||
}
|
||||
|
||||
/*Fixed-Navbar offset fix*/
|
||||
window.onload = function() {
|
||||
var shiftWindow = function() { scrollBy(0, -70) };
|
||||
if (location.hash) shiftWindow();
|
||||
window.addEventListener("hashchange", shiftWindow);
|
||||
};
|
||||
function loadLanguages() {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
|
|
|
@ -41,22 +41,23 @@ var FuncMap = template.FuncMap{
|
|||
order := false
|
||||
if _, ok := values["order"]; ok {
|
||||
order, _ = strconv.ParseBool(values["order"][0])
|
||||
if values["sort"][0]==sortBy {
|
||||
order=!order //Flip order by repeat-clicking
|
||||
if values["sort"][0] == sortBy {
|
||||
order = !order //Flip order by repeat-clicking
|
||||
} else {
|
||||
order=false //Default to descending when sorting by something new
|
||||
order = false //Default to descending when sorting by something new
|
||||
}
|
||||
}
|
||||
values.Set("sort", sortBy)
|
||||
values.Set("order", strconv.FormatBool(order))
|
||||
|
||||
currentUrl.RawQuery=values.Encode()
|
||||
url, _ := Router.Get("search").URL()
|
||||
url.RawQuery = values.Encode()
|
||||
|
||||
return template.URL(currentUrl.String())
|
||||
return template.URL(url.String())
|
||||
},
|
||||
"genNav": func(nav Navigation, currentUrl *url.URL, pagesSelectable int) template.HTML {
|
||||
var ret = ""
|
||||
if (nav.TotalItem > 0) {
|
||||
if nav.TotalItem > 0 {
|
||||
maxPages := math.Ceil(float64(nav.TotalItem) / float64(nav.MaxItemPerPage))
|
||||
|
||||
if nav.CurrentPage-1 > 0 {
|
||||
|
@ -104,9 +105,9 @@ var FuncMap = template.FuncMap{
|
|||
return template.HTML(str)
|
||||
},
|
||||
"calcWidthSeed": func(seed uint32, leech uint32) float64 {
|
||||
return float64(float64(seed)/(float64(seed)+float64(leech)))*100
|
||||
return float64(float64(seed)/(float64(seed)+float64(leech))) * 100
|
||||
},
|
||||
"calcWidthLeech": func(seed uint32, leech uint32) float64 {
|
||||
return float64(float64(leech)/(float64(seed)+float64(leech)))*100
|
||||
return float64(float64(leech)/(float64(seed)+float64(leech))) * 100
|
||||
},
|
||||
}
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
<a href="{{ genSearchWithOrdering .URL "1" }}">{{T "name"}}</a>
|
||||
</th>
|
||||
<th class="col-xs-1 hidden-xs">
|
||||
<a href="{{ genSearchWithOrdering .URL "4" }}">{{T "S"}}</a> /
|
||||
<a href="{{ genSearchWithOrdering .URL "4" }}">{{T "L"}}</a> /
|
||||
<a href="{{ genSearchWithOrdering .URL "3" }}">{{T "D"}}</a>
|
||||
<a href="{{ genSearchWithOrdering .URL "5" }}">{{T "S"}}</a> /
|
||||
<a href="{{ genSearchWithOrdering .URL "6" }}">{{T "L"}}</a> /
|
||||
<a href="{{ genSearchWithOrdering .URL "7" }}">{{T "D"}}</a>
|
||||
</th>
|
||||
<th class="col-xs-1 hidden-xs"><a href="{{ genSearchWithOrdering .URL "2" }}">{{T "date"}}</th></a>
|
||||
<th class="col-xs-1 hidden-xs"><a href="{{ genSearchWithOrdering .URL "4" }}">{{T "size"}}</a></th>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<div class="content" style="margin-bottom: 2em;">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 style="word-break:break-all" {{if eq .Status 2}}class="remake" {{end}} {{if eq .Status 3}}class="trusted" {{end}} {{if eq .Status 4}}class="aplus"{{end}}>{{.Name}}</h3>
|
||||
<h3 class="break" {{if eq .Status 2}}class="remake" {{end}} {{if eq .Status 3}}class="trusted" {{end}} {{if eq .Status 4}}class="aplus"{{end}}>{{.Name}}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -17,24 +17,25 @@
|
|||
<div style="float: left;">
|
||||
<div class="uploaded_by">
|
||||
<img style="float:left; margin-right: 1em;" src="{{$.URL.Parse (printf "/img/torrents/%s.png" .SubCategory) }}">
|
||||
<h4>Uploaded by <a href="{{$.URL.Parse (printf "/user/%d/-" .UploaderID) }}">{{.UploaderName}}</a></h4>
|
||||
</div>
|
||||
<h4>{{ T "uploaded_by" }} <a href="{{$.URL.Parse (printf "/user/%d/-" .UploaderID) }}">{{.UploaderName}}</a></h4>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="float:right;">
|
||||
<a style="margin: 5px;" aria-label="Magnet Button" href="{{.Magnet}}" type="button" class="btn btn-lg btn-success">
|
||||
<span class="glyphicon glyphicon-magnet" aria-hidden="true"></span> Download!
|
||||
<span class="glyphicon glyphicon-magnet" aria-hidden="true"></span> {{ T "download_btn" }}
|
||||
</a>
|
||||
{{if ne .TorrentLink ""}}
|
||||
<a style="margin: 5px;" aria-label="Torrent file" href="{{.TorrentLink}}" type="button" class="btn btn-lg btn-success">
|
||||
<span class="glyphicon glyphicon-floppy-save" aria-hidden="true"></span> Torrent file
|
||||
<span class="glyphicon glyphicon-floppy-save" aria-hidden="true"></span> {{ T "torrent_file" }}
|
||||
</a>
|
||||
{{end}}
|
||||
<a style="margin: 5px;" aria-label="Report button" data-toggle="modal" data-target="#reportModal" class="btn btn-danger btn-sm">
|
||||
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Report!
|
||||
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span> {{ T "report" }}
|
||||
</a>
|
||||
|
||||
{{ if HasAdmin $.User}}
|
||||
<a href="{{ genRoute "mod_tdelete" }}?id={{ .ID }}" class="btn btn-danger btn-lg" onclick="if (!confirm('Are you sure?')) return false;"><i class="glyphicon glyphicon-trash"></i></a>
|
||||
<a href="{{ genRoute "mod_tdelete" }}?id={{ .ID }}" class="btn btn-danger btn-lg" onclick="if (!confirm('{{ T "are_you_sure" }}')) return false;"><i class="glyphicon glyphicon-trash"></i></a>
|
||||
<a href="{{ genRoute "mod_tedit" }}?id={{ .ID }}" class="btn btn-warning btn-lg"><i class="glyphicon glyphicon-pencil"></i></a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
@ -42,13 +43,13 @@
|
|||
</div>
|
||||
<div class="col-md-12">
|
||||
<h4>{{T "description"}}</h4>
|
||||
<div style="word-break:break-all;">{{.Description}}</div>
|
||||
<div class="break">{{.Description}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h4>{{T "hash"}}</h4>
|
||||
<p class="torrent-hash">{{.Hash}}</p>
|
||||
<p class="torrent-hash break">{{.Hash}}</p>
|
||||
<hr>
|
||||
<h4>{{T "date"}}</h4>
|
||||
<p class="date-full">{{.Date}}</p>
|
||||
|
@ -103,29 +104,52 @@
|
|||
{{ end }}
|
||||
<div class="row" id="comments">
|
||||
<div class="col-md-12">
|
||||
<div class="commentList">
|
||||
<h4>{{T "comments"}}</h4>
|
||||
<hr/>
|
||||
<ul class="comments">
|
||||
{{ range $index, $element := .Comments }}
|
||||
<div class="row comment-row" id="comment_{{$index}}">
|
||||
<div class="col-md-2">
|
||||
<li class="clearfix comment jumptarget" id="comment_{{$index}}">
|
||||
{{/* The following line is wrong. Should be using the MD5 User hash but i don't knwo how to access it. */}}
|
||||
{{/* Changing Gravatar for something else, so it can stay like this. */}}
|
||||
<img src="https://www.gravatar.com/avatar/{{ .UserID }}?s=50" class="avatar" alt="">
|
||||
<div class="commentBody">
|
||||
<div class="commentData">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-sm-9">
|
||||
{{if eq .UserID -1}}
|
||||
<a href="#comment_{{$index}}">{{$index}}</a>
|
||||
{{.Username}}
|
||||
<a href="#comment_{{$index}}">#{{$index}}</a> by {{.Username}}
|
||||
{{else}}
|
||||
<a href="#comment_{{$index}}">{{$index}}</a>
|
||||
<a href="{{$.URL.Parse (printf "/user/%d/-" .UserID ) }}">{{.Username}}</a>
|
||||
<a href="#comment_{{$index}}">#{{$index}}</a>
|
||||
by <span class="break"><a href="{{$.URL.Parse (printf "/user/%d/-" .UserID ) }}">{{.Username}}</a></span>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="col-md-1 date-short comment-date">
|
||||
<div class="col-sm-3">
|
||||
<i class="pull-right date-short comment-date">
|
||||
<small>
|
||||
{{ .Date.Format ( Ts "date_format" ) }}
|
||||
{{/* output: "2017-05-01 15:30"
|
||||
Went with "Year-Month-Day" because it's the most unambiguous.
|
||||
If you want it to be determined by where you're from, be my guest. */}}
|
||||
</small>
|
||||
</i>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{{.Content}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -151,17 +175,17 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Report Torrent #{{.Torrent.ID}}</h4>
|
||||
<h4 class="modal-title">{{ T "report_torrent_number" (print .Torrent.ID) }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<b>Report type:</b>
|
||||
<b>{{ T "report_type" }}:</b>
|
||||
<form method="post" action="/report/{{.Torrent.ID}}">
|
||||
<input type="radio" name="report_type" value="illegal" required> Illegal content<br />
|
||||
<input type="radio" name="report_type" value="spam" required> Spam / Garbage<br />
|
||||
<input type="radio" name="report_type" value="wrongcat" required> Wrong category<br />
|
||||
<input type="radio" name="report_type" value="dup" required> Duplicate / Deprecated<br />
|
||||
<input type="radio" name="report_type" value="illegal" required> {{ T "illegal_content" }}<br />
|
||||
<input type="radio" name="report_type" value="spam" required> {{ T "spam_garbage" }}<br />
|
||||
<input type="radio" name="report_type" value="wrongcat" required> {{ T "wrong_category" }}<br />
|
||||
<input type="radio" name="report_type" value="dup" required> {{ T "duplicate_deprecated" }}<br />
|
||||
{{block "captcha" .}}{{end}}
|
||||
<button type="submit" class="btn btn-default">Report!</button>
|
||||
<button type="submit" class="btn btn-default">{{ T "report_btn" }}</button>
|
||||
</form> <br />
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
},
|
||||
{
|
||||
"id":"signup_verification_email",
|
||||
"translation": "Finally, please check your mail inbox (and spam folder!) for the verification email."
|
||||
"translation": "Email verification is disabled at the moment, so you may use your account immediately. In the future, please check your mail inbox (and spam folder!) for the verification email."
|
||||
},
|
||||
{
|
||||
"id":"signup_verification_noemail",
|
||||
|
@ -654,5 +654,45 @@
|
|||
{
|
||||
"id": "filename",
|
||||
"translation": "Filename"
|
||||
},
|
||||
{
|
||||
"id": "uploaded_by",
|
||||
"translation": "Uploaded by"
|
||||
},
|
||||
{
|
||||
"id": "download_btn",
|
||||
"translation": "Download!"
|
||||
},
|
||||
{
|
||||
"id": "report",
|
||||
"translation": "Report!"
|
||||
},
|
||||
{
|
||||
"id": "are_you_sure",
|
||||
"translation": "Are you sure?"
|
||||
},
|
||||
{
|
||||
"id": "report_torrent_number",
|
||||
"translation": "Report Torrent #"
|
||||
},
|
||||
{
|
||||
"id": "report_type",
|
||||
"translation": "Report type"
|
||||
},
|
||||
{
|
||||
"id": "illegal_content",
|
||||
"translation": "Illegal content"
|
||||
},
|
||||
{
|
||||
"id": "spam_garbage",
|
||||
"translation": "Spam / Garbage"
|
||||
},
|
||||
{
|
||||
"id": "wrong_category",
|
||||
"translation": "Wrong category"
|
||||
},
|
||||
{
|
||||
"id": "duplicate_deprecated",
|
||||
"translation": "Duplicate / Deprecated"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -351,6 +351,10 @@
|
|||
"id": "all_categories",
|
||||
"translation": "Toutes les catégories"
|
||||
},
|
||||
{
|
||||
"id": "select_a_torrent_category",
|
||||
"translation": "Choisir une catégorie de torrents"
|
||||
},
|
||||
{
|
||||
"id": "anime",
|
||||
"translation": "Anime"
|
||||
|
@ -511,10 +515,6 @@
|
|||
"id": "personal_info",
|
||||
"translation": "Informations personnelles"
|
||||
},
|
||||
{
|
||||
"id": "email",
|
||||
"translation": "Adresse email"
|
||||
},
|
||||
{
|
||||
"id": "language",
|
||||
"translation": "Langue"
|
||||
|
@ -617,7 +617,11 @@
|
|||
},
|
||||
{
|
||||
"id": "completed",
|
||||
"translation": "Terminé"
|
||||
"translation": "Complété"
|
||||
},
|
||||
{
|
||||
"id": "change_language",
|
||||
"translation": "Changer la langue"
|
||||
},
|
||||
{
|
||||
"id": "language_name",
|
||||
|
|
|
@ -225,7 +225,7 @@
|
|||
},
|
||||
{
|
||||
"id": "notice_keep_seeding",
|
||||
"translation": "ATTENZIONE: CONTINUA A SEEDARE I TORRENT E ABILITA IL DHT RITARDATO"
|
||||
"translation": "ATTENZIONE: CONTINUA A SEEDARE I TORRENT E ABILITA IL DHT IDIOTA"
|
||||
},
|
||||
{
|
||||
"id": "official_nyaapocalipse_faq",
|
||||
|
@ -317,7 +317,7 @@
|
|||
},
|
||||
{
|
||||
"id": "answer_how_can_i_help",
|
||||
"translation": "Se hai esperienza nel web design, vieni sul canale IRC #nyaapantsu su irc.rizon.net. Se hai dei database aggiornati, specialmente per sukebei, <b>CARICALI!</b>."
|
||||
"translation": "Se hai esperienza nel web design, vieni sul canale IRC #nyaapantsu su irc.rizon.net. Se hai dei database aggiornati, specialmente per sukebei,per favore caricali."
|
||||
},
|
||||
{
|
||||
"id": "your_design_sucks_found_a_bug",
|
||||
|
@ -351,6 +351,10 @@
|
|||
"id": "all_categories",
|
||||
"translation": "Tutte le categorie"
|
||||
},
|
||||
{
|
||||
"id": "select_a_torrent_category",
|
||||
"translation": "Seleziona una Categoria Torrent"
|
||||
},
|
||||
{
|
||||
"id": "anime",
|
||||
"translation": "Anime"
|
||||
|
@ -614,6 +618,10 @@
|
|||
{
|
||||
"id": "completed",
|
||||
"translation": "Completato"
|
||||
},
|
||||
{
|
||||
"id": "change_language",
|
||||
"translation": "Cambia Lingua"
|
||||
},
|
||||
{
|
||||
"id": "language_name",
|
||||
|
|
|
@ -283,6 +283,14 @@
|
|||
"id": "answer_how_are_we_recovering",
|
||||
"translation": "Os bancos de dados estão hospedados em nyaa.pantsu.cat e sukebei.pantsu.cat. Há uma função de busca, e (quase) todas as funcionalidades do nyaa devem estar de volta em breve. Estatísticas de seeders/leechers estão disponíveis via raspagem de dados e podem ser restauradas no futuro, já que outras funções são prioridade no momento."
|
||||
},
|
||||
{
|
||||
"id": "how_do_i_link_my_old_account",
|
||||
"translation": "O que devo fazer para transferir meus antigos envios de volta a minha nova conta?"
|
||||
},
|
||||
{
|
||||
"id": "answer_how_do_i_link_my_old_account",
|
||||
"translation": "Entre em <a href=\"ircs://irc.rizon.net/nyaapantsu-help\">#nyaapantsu-help@Rizon</a> e informe a moderação seu antigo e novo nome de usuário."
|
||||
},
|
||||
{
|
||||
"id": "are_the_trackers_working",
|
||||
"translation": "Os torrents ainda funcionam?"
|
||||
|
|
|
@ -283,6 +283,14 @@
|
|||
"id": "answer_how_are_we_recovering",
|
||||
"translation": "ฐานข้อมูลดังกล่าวถูกใช้งานกับ nyaa.pantsu.cat และ sukebei.pantsu.cat ซึ่งมีระบบค้นหา และระบบของ Nyaa (เกือบ) ครบถ้วนควรจะมาในเร็วๆ นี้"
|
||||
},
|
||||
{
|
||||
"id": "how_do_i_link_my_old_account",
|
||||
"translation": "จะลิงค์ไฟล์ที่เคยอัพโหลดกลับเข้าแอคเคาท์ของตัวเองยังไง?"
|
||||
},
|
||||
{
|
||||
"id": "answer_how_do_i_link_my_old_account",
|
||||
"translation": "เข้าไปถาม Moderator ที่ <a href=\"ircs://irc.rizon.net/nyaapantsu-help\">#nyaapantsu-help@Rizon</a> เพื่อโอนทอร์เรนท์เก่าของคุณและแจ้งชื่อผู้ใช้ทั้งของเดิมและของใหม่"
|
||||
},
|
||||
{
|
||||
"id": "are_the_trackers_working",
|
||||
"translation": "ตัวทอร์เรนท์จะยังใช้ได้รึเปล่า?"
|
||||
|
@ -547,6 +555,10 @@
|
|||
"id": "moderator",
|
||||
"translation": "Moderator"
|
||||
},
|
||||
{
|
||||
"id":" api_token",
|
||||
"translation": "API Token"
|
||||
},
|
||||
{
|
||||
"id": "save_changes",
|
||||
"translation": "บันทึกการเปลี่ยนแปลง"
|
||||
|
|
Référencer dans un nouveau ticket