mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-24 18:47:23 +00:00
add i18n message for getmeta feature.
This commit is contained in:
parent
f8e4bed8bf
commit
a6b2977286
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
$(document).ready(function () {
|
||||
var msg = i18n_msg;
|
||||
var douban = 'https://api.douban.com';
|
||||
var db_search = '/v2/book/search';
|
||||
var db_get_info = '/v2/book/';
|
||||
@ -74,7 +75,7 @@ $(document).ready(function () {
|
||||
}
|
||||
do_search = function (keyword) {
|
||||
show_flag = 0;
|
||||
$('#meta-info').text('Loading...');
|
||||
$('#meta-info').text(msg.loading);
|
||||
var keyword = $('#keyword').val();
|
||||
if (keyword) {
|
||||
db_search_book(keyword);
|
||||
@ -93,7 +94,7 @@ $(document).ready(function () {
|
||||
db_results = data.books;
|
||||
},
|
||||
error: function () {
|
||||
$('#meta-info').html('<p class="text-danger">Search error!</p>');
|
||||
$('#meta-info').html('<p class="text-danger">'+ msg.search_error+'!</p>');
|
||||
},
|
||||
complete: function () {
|
||||
db_done = true;
|
||||
@ -108,8 +109,8 @@ $(document).ready(function () {
|
||||
$('#meta-info').html('<ul id="book-list" class="media-list"></ul>');
|
||||
}
|
||||
if (gg_done && db_done) {
|
||||
if (gg_results.length < 1 && db_results.length < 1) {
|
||||
$('#meta-info').html('<p class="text-danger">No Result! Please try anonther keyword.</p>');
|
||||
if (!gg_results || !db_results) {
|
||||
$('#meta-info').html('<p class="text-danger">'+ msg.no_result +'</p>');
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -129,10 +130,10 @@ $(document).ready(function () {
|
||||
'<div class="media-body">' +
|
||||
'<h4 class="media-heading"><a href="https://books.google.com/books?id=' +
|
||||
book.id + '" target="_blank">' + book.volumeInfo.title + '</a></h4>' +
|
||||
'<p>Author:' + book.volumeInfo.authors + '</p>' +
|
||||
'<p>Publisher:' + book.volumeInfo.publisher + '</p>' +
|
||||
'<p>Description:' + book.volumeInfo.description + '</p>' +
|
||||
'<p>Source:<a href="https://books.google.com" target="_blank">Google Books</a></p>' +
|
||||
'<p>'+ msg.author +':' + book.volumeInfo.authors + '</p>' +
|
||||
'<p>'+ msg.publisher + ':' + book.volumeInfo.publisher + '</p>' +
|
||||
'<p>'+ msg.description + ':' + book.volumeInfo.description + '</p>' +
|
||||
'<p>'+ msg.source + ':<a href="https://books.google.com" target="_blank">Google Books</a></p>' +
|
||||
'</div>' +
|
||||
'</li>';
|
||||
$("#book-list").append(book_html);
|
||||
@ -149,10 +150,10 @@ $(document).ready(function () {
|
||||
'<div class="media-body">' +
|
||||
'<h4 class="media-heading"><a href="https://book.douban.com/subject/' +
|
||||
book.id + '" target="_blank">' + book.title + '</a></h4>' +
|
||||
'<p>Author:' + book.author + '</p>' +
|
||||
'<p>Publisher:' + book.publisher + '</p>' +
|
||||
'<p>Description:' + book.summary + '</p>' +
|
||||
'<p>Source:<a href="https://book.douban.com" target="_blank">Douban Books</a></p>' +
|
||||
'<p>' + msg.author + ':' + book.author + '</p>' +
|
||||
'<p>' + msg.publisher + ':' + book.publisher + '</p>' +
|
||||
'<p>' + msg.description + ':' + book.summary + '</p>' +
|
||||
'<p>' + msg.source + ':<a href="https://book.douban.com" target="_blank">Douban Books</a></p>' +
|
||||
'</div>' +
|
||||
'</li>';
|
||||
$("#book-list").append(book_html);
|
||||
|
@ -1,9 +1,13 @@
|
||||
{% extends "layout.html" %} {% block body %} {% if book %}
|
||||
{% extends "layout.html" %}
|
||||
{% block body %}
|
||||
{% if book %}
|
||||
<div class="col-sm-3 col-lg-3 col-xs-12">
|
||||
<div class="cover">
|
||||
{% if book.has_cover %}
|
||||
<img src="{{ url_for('get_cover', cover_path=book.path.replace('\\','/')) }}" /> {% else %}
|
||||
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" /> {% endif %}
|
||||
<img src="{{ url_for('get_cover', cover_path=book.path.replace('\\','/')) }}" />
|
||||
{% else %}
|
||||
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
@ -25,43 +29,54 @@
|
||||
<input type="text" class="form-control typeahead" name="tags" id="tags" value="{% for tag in book.tags %}{{tag.name.strip()}}, {% endfor %}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="series">{{_('Series')}}</label>
|
||||
<input type="text" class="form-control typeahead" name="series" id="series" value="{% if book.series %}{{book.series[0].name}}{% endif %}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="series_index">{{_('Series id')}}</label>
|
||||
<input type="text" class="form-control" name="series_index" id="series_index" value="{{book.series_index}}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="rating">{{_('Rating')}}</label>
|
||||
<input type="number" min="0" max="5" step="1" class="form-control" name="rating" id="rating" value="{% if book.ratings %}{{book.ratings[0].rating / 2}}{% endif %}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="cover_url">{{_('Cover URL (jpg)')}}</label>
|
||||
<input type="text" class="form-control" name="cover_url" id="cover_url" value="">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="series">{{_('Series')}}</label>
|
||||
<input type="text" class="form-control typeahead" name="series" id="series" value="{% if book.series %}{{book.series[0].name}}{% endif %}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="series_index">{{_('Series id')}}</label>
|
||||
<input type="text" class="form-control" name="series_index" id="series_index" value="{{book.series_index}}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="rating">{{_('Rating')}}</label>
|
||||
<input type="number" min="0" max="5" step="1" class="form-control" name="rating" id="rating" value="{% if book.ratings %}{{book.ratings[0].rating / 2}}{% endif %}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="cover_url">{{_('Cover URL (jpg)')}}</label>
|
||||
<input type="text" class="form-control" name="cover_url" id="cover_url" value="">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="languages">{{_('Language')}}</label>
|
||||
<input type="text" class="form-control typeahead" name="languages" id="languages" value="{% for language in book.languages %}{{language.language_name.strip()}}, {% endfor %}">
|
||||
</div>
|
||||
|
||||
{% if cc|length > 0 %} {% for c in cc %}
|
||||
<div class="form-group">
|
||||
<label for="{{ 'custom_column_' ~ c.id }}">{{ c.name }}</label> {% if c.datatype == 'bool' %}
|
||||
<select name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}" class="form-control">
|
||||
|
||||
{% if cc|length > 0 %}
|
||||
{% for c in cc %}
|
||||
<div class="form-group">
|
||||
<label for="{{ 'custom_column_' ~ c.id }}">{{ c.name }}</label>
|
||||
{% if c.datatype == 'bool' %}
|
||||
<select name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}" class="form-control">
|
||||
<option value="None" {% if book['custom_column_' ~ c.id]|length == 0 %} selected {% endif %}></option>
|
||||
<option value="True" {% if book['custom_column_' ~ c.id]|length > 0 %}{% if book['custom_column_' ~ c.id][0].value ==true %}selected{% endif %}{% endif %} >{{_('Yes')}}</option>
|
||||
<option value="False" {% if book['custom_column_' ~ c.id]|length > 0 %}{% if book['custom_column_' ~ c.id][0].value ==false %}selected{% endif %}{% endif %}>{{_('No')}}</option>
|
||||
</select> {% endif %} {% if c.datatype in ['text', 'series'] and not c.is_multiple %}
|
||||
<input type="text" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}" {% if book[
|
||||
'custom_column_' ~ c.id]|length> 0 %} value="{{ book['custom_column_' ~ c.id][0].value }}" {% endif %}> {% endif %} {% if c.datatype
|
||||
in ['text', 'series'] and c.is_multiple %}
|
||||
<input type="text" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}" {% if book[
|
||||
'custom_column_' ~ c.id]|length> 0 %} value="{% for column in book['custom_column_' ~ c.id] %}{{ column.value.strip() }}{% if
|
||||
not loop.last %}, {% endif %}{% endfor %}"{% endif %}> {% endif %} {% if c.datatype == 'enumeration' %}
|
||||
<select class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}">
|
||||
</select>
|
||||
{% endif %}
|
||||
{% if c.datatype in ['text', 'series'] and not c.is_multiple %}
|
||||
<input type="text" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}"
|
||||
{% if book['custom_column_' ~ c.id]|length > 0 %}
|
||||
value="{{ book['custom_column_' ~ c.id][0].value }}"
|
||||
{% endif %}>
|
||||
{% endif %}
|
||||
|
||||
{% if c.datatype in ['text', 'series'] and c.is_multiple %}
|
||||
<input type="text" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}"
|
||||
{% if book['custom_column_' ~ c.id]|length > 0 %}
|
||||
value="{% for column in book['custom_column_' ~ c.id] %}{{ column.value.strip() }}{% if not loop.last %}, {% endif %}{% endfor %}"{% endif %}>
|
||||
{% endif %}
|
||||
|
||||
{% if c.datatype == 'enumeration' %}
|
||||
<select class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}">
|
||||
<option></option>
|
||||
{% for opt in c.get_display_dict().enum_values %}
|
||||
<option
|
||||
@ -70,20 +85,26 @@
|
||||
{% endif %}
|
||||
>{{ opt }}</option>
|
||||
{% endfor %}
|
||||
</select> {% endif %} {% if c.datatype == 'rating' %}
|
||||
<input type="number" min="1" max="5" step="1" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}"
|
||||
{% if book[ 'custom_column_' ~ c.id]|length> 0 %} value="{{ '%d' % (book['custom_column_' ~ c.id][0].value /
|
||||
2) }}" {% endif %}> {% endif %}
|
||||
</div>
|
||||
{% endfor %} {% endif %}
|
||||
|
||||
</select>
|
||||
{% endif %}
|
||||
|
||||
{% if c.datatype == 'rating' %}
|
||||
<input type="number" min="1" max="5" step="1" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}"
|
||||
{% if book['custom_column_' ~ c.id]|length > 0 %}
|
||||
value="{{ '%d' % (book['custom_column_' ~ c.id][0].value / 2) }}"
|
||||
{% endif %}>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input name="detail_view" type="checkbox" checked> {{_('view book after edit')}}
|
||||
</label>
|
||||
</div>
|
||||
<a href="#" id="get_meta" class="btn btn-default" data-toggle="modal" data-target="#metaModal">{{_('Get Meta Data')}}</a>
|
||||
<a href="#" id="get_meta" class="btn btn-default" data-toggle="modal" data-target="#metaModal">{{_('Get Metadata')}}</a>
|
||||
<button type="submit" class="btn btn-default">{{_('Submit')}}</button>
|
||||
<a href="{{ url_for('show_book',id=book.id) }}" class="btn btn-default">{{_('Back')}}</a>
|
||||
</form>
|
||||
@ -94,14 +115,14 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="metaModalLabel">{{_('Get meta data')}}</h4>
|
||||
<h4 class="modal-title" id="metaModalLabel">{{_('Get metadata')}}</h4>
|
||||
<form class="form-inline">
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="keyword">Keyword</label>
|
||||
<label class="sr-only" for="keyword">{{_('Keyword')}}</label>
|
||||
<input type="text" class="form-control" id="keyword" placeholder="{{_(" Search keyword ")}}">
|
||||
</div>
|
||||
<button type="button" class="btn btn-default" id="do-search">{{_("Go!")}}</button>
|
||||
<span>{{_('Click the cover to load meta data to the form')}}</span>
|
||||
<span>{{_('Click the cover to load metadata to the form')}}</span>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-body" id="meta-info">
|
||||
@ -113,13 +134,24 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script>
|
||||
var i18n_msg = {
|
||||
'loading': {{_('Loading...')|safe|tojson}},
|
||||
'search_error': {{_('Search error!')|safe|tojson}},
|
||||
'no_result': {{_('No Result! Please try anonther keyword.')|safe|tojson}},
|
||||
'author': {{_('Author')|safe|tojson}},
|
||||
'publisher': {{_('Publisher')|safe|tojson}},
|
||||
'description': {{_('Description')|safe|tojson}},
|
||||
'source': {{_('Source')|safe|tojson}},
|
||||
};
|
||||
</script>
|
||||
<script src="{{ url_for('static', filename='js/libs/typeahead.bundle.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='js/edit_books.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='js/get_meta.js') }}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
{% block header %}
|
||||
<link href="{{ url_for('static', filename='css/libs/typeahead.css') }}" rel="stylesheet" media="screen">
|
||||
{% endblock %}
|
||||
<link href="{{ url_for('static', filename='css/libs/typeahead.css') }}" rel="stylesheet" media="screen">
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user