kopia lustrzana https://github.com/OpenDroneMap/WebODM
More translations, version page
rodzic
11ee54245d
commit
f707d54f5d
|
@ -3,7 +3,6 @@ import ApiFactory from './ApiFactory';
|
||||||
import Map from './Map';
|
import Map from './Map';
|
||||||
import Dashboard from './Dashboard';
|
import Dashboard from './Dashboard';
|
||||||
import App from './App';
|
import App from './App';
|
||||||
import $ from 'jquery';
|
|
||||||
import SystemJS from 'SystemJS';
|
import SystemJS from 'SystemJS';
|
||||||
|
|
||||||
if (!window.PluginsAPI){
|
if (!window.PluginsAPI){
|
||||||
|
|
|
@ -12,13 +12,11 @@
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
|
||||||
{% if no_processingnodes %}
|
{% if no_processingnodes %}
|
||||||
<h3>{% trans 'Welcome! ☺' %}</h3>
|
<h3>{% trans 'Welcome!' %} ☺</h3>
|
||||||
{% trans 'Add a Processing Node' as add_processing_node %}
|
{% trans 'Add a Processing Node' as add_processing_node %}
|
||||||
{% with nodeodm_link='<a href="https://github.com/OpenDroneMap/NodeODM" target="_blank">NodeODM</a>' api_link='<a href="https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc" target="_blank">API</a>' %}
|
{% with nodeodm_link='<a href="https://github.com/OpenDroneMap/NodeODM" target="_blank">NodeODM</a>' api_link='<a href="https://github.com/OpenDroneMap/NodeODM/blob/master/docs/index.adoc" target="_blank">API</a>' %}
|
||||||
<p>
|
<p>
|
||||||
{% blocktrans %}
|
{% blocktrans %}To get started, "{{ add_processing_node }}". A processing node is a computer running an instance of {{ nodeodm_link }} or some other software that implements this {{ api_link }}.{% endblocktrans %}
|
||||||
To get started, "{{ add_processing_node }}". A processing node is a computer running an instance of {{ nodeodm_link }} or some other software that implements this {{ api_link }}.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
</p>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
<button class="btn btn-primary" onclick="location.href='{% url "admin:nodeodm_processingnode_add" %}';"><i class="fa fa-plus-circle"></i> {{ add_processing_node }}</button>
|
<button class="btn btn-primary" onclick="location.href='{% url "admin:nodeodm_processingnode_add" %}';"><i class="fa fa-plus-circle"></i> {{ add_processing_node }}</button>
|
||||||
|
@ -26,10 +24,10 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
{% if no_tasks %}
|
{% if no_tasks %}
|
||||||
<h3>{% trans 'Welcome! ☺' %}</h3>
|
<h3>{% trans 'Welcome!' %} ☺</h3>
|
||||||
{% trans 'Select Images and GCP' as upload_images %}
|
{% trans 'Select Images and GCP' as upload_images %}
|
||||||
<p>
|
<p>
|
||||||
{% blocktrans %} To create a map, press the "{{ upload_images }}" button, or drag and drop some images into a project. {% endblocktrans %}
|
{% blocktrans %}To create a map, press the "{{ upload_images }}" button, or drag and drop some images into a project.{% endblocktrans %}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-user">
|
<ul class="dropdown-menu dropdown-user">
|
||||||
<li class="user-profile">
|
<li class="user-profile">
|
||||||
{% trans 'Hello' %}, {{ user.username }}<br/>
|
{{ user.username }}<br/>
|
||||||
<span class="email">{{ user.email }}</span>
|
<span class="email">{{ user.email }}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
|
|
||||||
{% if view_nodes %}
|
{% if view_nodes %}
|
||||||
<li>
|
<li>
|
||||||
<a href="#"><i class="fa fa-wrench fa-fw"></i> Processing Nodes<span class="fa arrow"></span></a>
|
<a href="#"><i class="fa fa-wrench fa-fw"></i> {% trans 'Processing Nodes' %}<span class="fa arrow"></span></a>
|
||||||
<ul class="nav nav-second-level">
|
<ul class="nav nav-second-level">
|
||||||
{% for node in nodes %}
|
{% for node in nodes %}
|
||||||
<li>
|
<li>
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
|
|
||||||
{% if add_nodes %}
|
{% if add_nodes %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{% url 'admin:nodeodm_processingnode_add' %}"><span class="fa fa-plus-circle"></span> Add New</a>
|
<a href="{% url 'admin:nodeodm_processingnode_add' %}"><span class="fa fa-plus-circle"></span> {% trans 'Add New' %}</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -100,6 +100,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a href="/admin/app/"><i class="fa fa-cog fa-fw"></i> {% trans 'Application' %}</a>
|
<a href="/admin/app/"><i class="fa fa-cog fa-fw"></i> {% trans 'Application' %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/version/"><i class="fa fa-info-circle fa-fw"></i> {% trans 'Version' %}</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{% trans "Last Refreshed" %}</td>
|
<td>{% trans "Last Refreshed" %}</td>
|
||||||
<td>{{ processing_node.last_refreshed|timesince }} {% trans 'ago' %} ({{ processing_node.last_refreshed|localtime }})</td> <!-- TODO: timezone? -->
|
<td>{{ processing_node.last_refreshed|timesince }} {% trans 'ago' context '5 minutes ago' %} ({{ processing_node.last_refreshed|localtime }})</td> <!-- TODO: timezone? -->
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{% trans "Options (JSON)" %}</td>
|
<td>{% trans "Options (JSON)" %}</td>
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
{% extends "app/logged_in_base.html" %}
|
||||||
|
{% load i18n settings %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
{% app_version as version %}
|
||||||
|
<h2>WebODM {{ version }}</h2>
|
||||||
|
|
||||||
|
<div style="margin-bottom: 16px; margin-top: 16px;"><i class="fab fa-github"></i> <a target="_blank" href="https://github.com/OpenDroneMap/WebODM">https://github.com/OpenDroneMap/WebODM</a></div>
|
||||||
|
|
||||||
|
<div class="theme-secondary" style="font-size: 90%">This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero 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 <a href="https://raw.githubusercontent.com/OpenDroneMap/WebODM/master/LICENSE.md">the GNU Affero General Public License</a> for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
|
@ -224,7 +224,7 @@
|
||||||
<p>{% trans "Uh oh! Could you please check the errors below?" %}</p>
|
<p>{% trans "Uh oh! Could you please check the errors below?" %}</p>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<h3>{% trans 'Welcome! ☺' %}</h3>
|
<h3>{% trans 'Welcome!' %} ☺</h3>
|
||||||
<div style="margin-bottom: 28px;">Before we get started, we need to create an administrator account for you:</div>
|
<div style="margin-bottom: 28px;">Before we get started, we need to create an administrator account for you:</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,9 @@ logger = logging.getLogger('app.logger')
|
||||||
def is_single_user_mode():
|
def is_single_user_mode():
|
||||||
return settings.SINGLE_USER_MODE
|
return settings.SINGLE_USER_MODE
|
||||||
|
|
||||||
|
@register.simple_tag
|
||||||
|
def app_version():
|
||||||
|
return settings.VERSION
|
||||||
|
|
||||||
@register.simple_tag(takes_context=True)
|
@register.simple_tag(takes_context=True)
|
||||||
def settings_image_url(context, image):
|
def settings_image_url(context, image):
|
||||||
|
|
|
@ -39,6 +39,7 @@ urlpatterns = [
|
||||||
|
|
||||||
url(r'^plugins/(?P<plugin_name>[^/.]+)/(.*)$', app_view_handler),
|
url(r'^plugins/(?P<plugin_name>[^/.]+)/(.*)$', app_view_handler),
|
||||||
|
|
||||||
|
url(r'^version/$', app_views.app_version, name='app_version'),
|
||||||
# TODO: add caching: https://docs.djangoproject.com/en/3.1/topics/i18n/translation/#note-on-performance
|
# TODO: add caching: https://docs.djangoproject.com/en/3.1/topics/i18n/translation/#note-on-performance
|
||||||
url(r'^jsi18n/', JavaScriptCatalog.as_view(packages=['app']), name='javascript-catalog'),
|
url(r'^jsi18n/', JavaScriptCatalog.as_view(packages=['app']), name='javascript-catalog'),
|
||||||
]
|
]
|
||||||
|
|
|
@ -99,6 +99,8 @@ def model_display(request, project_pk=None, task_pk=None):
|
||||||
}.items()
|
}.items()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def app_version(request):
|
||||||
|
return render(request, 'app/version.html', {'title': _('Version')})
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def processing_node(request, processing_node_id):
|
def processing_node(request, processing_node_id):
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-12-14 18:40+0000\n"
|
"POT-Creation-Date: 2020-12-14 20:25+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -17,9 +17,9 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:15 app/templates/app/dashboard.html:29
|
#: app/templates/app/dashboard.html:15 app/templates/app/dashboard.html:27
|
||||||
#: app/templates/app/welcome.html:227
|
#: app/templates/app/welcome.html:227
|
||||||
msgid "Welcome! ☺"
|
msgid "Welcome!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:16
|
#: app/templates/app/dashboard.html:16
|
||||||
|
@ -29,49 +29,43 @@ msgstr ""
|
||||||
#: app/templates/app/dashboard.html:19
|
#: app/templates/app/dashboard.html:19
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" \n"
|
"To get started, \"%(add_processing_node)s\". A processing node is a computer "
|
||||||
"\t\t\t\tTo get started, \"%(add_processing_node)s\". A processing node is a "
|
"running an instance of %(nodeodm_link)s or some other software that "
|
||||||
"computer running an instance of %(nodeodm_link)s or some other software that "
|
"implements this %(api_link)s."
|
||||||
"implements this %(api_link)s.\n"
|
|
||||||
"\t\t\t"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:30
|
#: app/templates/app/dashboard.html:28
|
||||||
msgid "Select Images and GCP"
|
msgid "Select Images and GCP"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:32
|
#: app/templates/app/dashboard.html:30
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" To create a map, press the \"%(upload_images)s\" button, or drag and drop "
|
"To create a map, press the \"%(upload_images)s\" button, or drag and drop "
|
||||||
"some images into a project. "
|
"some images into a project."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:36
|
#: app/templates/app/dashboard.html:34
|
||||||
msgid "You need at least 5 images"
|
msgid "You need at least 5 images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:37
|
#: app/templates/app/dashboard.html:35
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Images must overlap by 65%% or more"
|
msgid "Images must overlap by 65%% or more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:38
|
#: app/templates/app/dashboard.html:36
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "For great 3D, images must overlap by 83%%"
|
msgid "For great 3D, images must overlap by 83%%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:39
|
#: app/templates/app/dashboard.html:37
|
||||||
msgid ""
|
msgid ""
|
||||||
"A <a href=\"https://github.com/OpenDroneMap/OpenDroneMap/wiki/Running-"
|
"A <a href=\"https://github.com/OpenDroneMap/OpenDroneMap/wiki/Running-"
|
||||||
"OpenDroneMap#running-odm-with-ground-control\" target=\"_blank\">GCP file</"
|
"OpenDroneMap#running-odm-with-ground-control\" target=\"_blank\">GCP file</"
|
||||||
"a> is optional, but can increase georeferencing accuracy"
|
"a> is optional, but can increase georeferencing accuracy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:15
|
|
||||||
msgid "Hello"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:19
|
#: app/templates/app/logged_in_base.html:19
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -80,6 +74,14 @@ msgstr ""
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/templates/app/logged_in_base.html:59
|
||||||
|
msgid "Processing Nodes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/templates/app/logged_in_base.html:69
|
||||||
|
msgid "Add New"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:79
|
#: app/templates/app/logged_in_base.html:79
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -145,6 +147,7 @@ msgid "Last Refreshed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:44
|
#: app/templates/app/processing_node.html:44
|
||||||
|
msgctxt "5 minutes ago"
|
||||||
msgid "ago"
|
msgid "ago"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -183,3 +186,88 @@ msgstr ""
|
||||||
#: plugins/cesium-ion/api_views.py:170
|
#: plugins/cesium-ion/api_views.py:170
|
||||||
msgid "No matching enum type."
|
msgid "No matching enum type."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/plugin.py:36
|
||||||
|
msgid "Diagnostic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:6
|
||||||
|
msgid "Diagnostic Information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:8
|
||||||
|
msgid "App Version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:12
|
||||||
|
msgid "Storage Space"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:16
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:42
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:47
|
||||||
|
msgctxt "Megabytes of storage space"
|
||||||
|
msgid "Free"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:17
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:41
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:47
|
||||||
|
msgctxt "Megabytes of storage space"
|
||||||
|
msgid "Used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:18
|
||||||
|
msgctxt "Megabytes of storage space"
|
||||||
|
msgid "Total"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:22
|
||||||
|
msgctxt "Computer memory (RAM)"
|
||||||
|
msgid "Memory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:26
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:77
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:82
|
||||||
|
msgctxt "Megabytes of memory space"
|
||||||
|
msgid "Free"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:27
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:76
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:82
|
||||||
|
msgctxt "Megabytes of memory space"
|
||||||
|
msgid "Used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:28
|
||||||
|
msgctxt "Megabytes of memory space"
|
||||||
|
msgid "Total"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:35
|
||||||
|
msgid "Note!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:35
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"These values might be relative to the virtualization environment in which "
|
||||||
|
"the application is running, not necessarily the values of the your machine. "
|
||||||
|
"See instructions for %(win_link)s and %(mac_link)s for changing these values "
|
||||||
|
"in a docker setup."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:49
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:84
|
||||||
|
msgid "Disk Space"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/lightning/plugin.py:25 plugins/lightning/plugin.py:39
|
||||||
|
msgid "Lightning Network"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/posm-gcpi/plugin.py:8
|
||||||
|
msgid "GCP Interface"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-12-14 18:40+0000\n"
|
"POT-Creation-Date: 2020-12-14 20:25+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -3,12 +3,11 @@
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-12-14 18:40+0000\n"
|
"POT-Creation-Date: 2020-12-14 20:25+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -18,9 +17,9 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:15 app/templates/app/dashboard.html:29
|
#: app/templates/app/dashboard.html:15 app/templates/app/dashboard.html:27
|
||||||
#: app/templates/app/welcome.html:227
|
#: app/templates/app/welcome.html:227
|
||||||
msgid "Welcome! ☺"
|
msgid "Welcome!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:16
|
#: app/templates/app/dashboard.html:16
|
||||||
|
@ -30,157 +29,245 @@ msgstr ""
|
||||||
#: app/templates/app/dashboard.html:19
|
#: app/templates/app/dashboard.html:19
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" \n"
|
"To get started, \"%(add_processing_node)s\". A processing node is a computer "
|
||||||
"\t\t\t\tTo get started, \"%(add_processing_node)s\". A processing node is a "
|
"running an instance of %(nodeodm_link)s or some other software that "
|
||||||
"computer running an instance of %(nodeodm_link)s or some other software that "
|
"implements this %(api_link)s."
|
||||||
"implements this %(api_link)s.\n"
|
|
||||||
"\t\t\t"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:30
|
#: app/templates/app/dashboard.html:28
|
||||||
msgid "Select Images and GCP"
|
msgid "Select Images and GCP"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:32
|
#: app/templates/app/dashboard.html:30
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" To create a map, press the \"%(upload_images)s\" button, or drag and drop "
|
"To create a map, press the \"%(upload_images)s\" button, or drag and drop "
|
||||||
"some images into a project. "
|
"some images into a project."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:36
|
#: app/templates/app/dashboard.html:34
|
||||||
msgid "You need at least 5 images"
|
msgid "You need at least 5 images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:37
|
#: app/templates/app/dashboard.html:35
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Images must overlap by 65%% or more"
|
msgid "Images must overlap by 65%% or more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:38
|
#: app/templates/app/dashboard.html:36
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "For great 3D, images must overlap by 83%%"
|
msgid "For great 3D, images must overlap by 83%%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/dashboard.html:39
|
#: app/templates/app/dashboard.html:37
|
||||||
msgid ""
|
msgid ""
|
||||||
"A <a href=\"https://github.com/OpenDroneMap/OpenDroneMap/wiki/Running-"
|
"A <a href=\"https://github.com/OpenDroneMap/OpenDroneMap/wiki/Running-"
|
||||||
"OpenDroneMap#running-odm-with-ground-control\" target=\"_blank\">GCP file</"
|
"OpenDroneMap#running-odm-with-ground-control\" target=\"_blank\">GCP file</"
|
||||||
"a> is optional, but can increase georeferencing accuracy"
|
"a> is optional, but can increase georeferencing accuracy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:15
|
|
||||||
msgid "Hello"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:19
|
#: app/templates/app/logged_in_base.html:19
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr ""
|
msgstr "Chiudi Sessione"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:33
|
#: app/templates/app/logged_in_base.html:33
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr "Pannello di Controllo"
|
msgstr "Pannello di Controllo"
|
||||||
|
|
||||||
|
#: app/templates/app/logged_in_base.html:59
|
||||||
|
msgid "Processing Nodes"
|
||||||
|
msgstr "Nodi di Elaborazione"
|
||||||
|
|
||||||
|
#: app/templates/app/logged_in_base.html:69
|
||||||
|
msgid "Add New"
|
||||||
|
msgstr "Aggiungi Nuovo"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:79
|
#: app/templates/app/logged_in_base.html:79
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr ""
|
msgstr "Amministrazione"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:84
|
#: app/templates/app/logged_in_base.html:84
|
||||||
msgid "Accounts"
|
msgid "Accounts"
|
||||||
msgstr ""
|
msgstr "Accounts"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:87
|
#: app/templates/app/logged_in_base.html:87
|
||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr ""
|
msgstr "Gruppi"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:92
|
#: app/templates/app/logged_in_base.html:92
|
||||||
msgid "Brand"
|
msgid "Brand"
|
||||||
msgstr ""
|
msgstr "Marchio"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:95
|
#: app/templates/app/logged_in_base.html:95
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr ""
|
msgstr "Tema"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:98
|
#: app/templates/app/logged_in_base.html:98
|
||||||
msgid "Plugins"
|
msgid "Plugins"
|
||||||
msgstr ""
|
msgstr "Plugins"
|
||||||
|
|
||||||
#: app/templates/app/logged_in_base.html:101
|
#: app/templates/app/logged_in_base.html:101
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr ""
|
msgstr "Applicazione"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:11
|
#: app/templates/app/processing_node.html:11
|
||||||
msgid "Hostname"
|
msgid "Hostname"
|
||||||
msgstr ""
|
msgstr "Hostname"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:15
|
#: app/templates/app/processing_node.html:15
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr ""
|
msgstr "Porta"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:19
|
#: app/templates/app/processing_node.html:19
|
||||||
msgid "API Version"
|
msgid "API Version"
|
||||||
msgstr ""
|
msgstr "Versione API"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:23
|
#: app/templates/app/processing_node.html:23
|
||||||
msgid "Engine"
|
msgid "Engine"
|
||||||
msgstr ""
|
msgstr "Motore"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:27
|
#: app/templates/app/processing_node.html:27
|
||||||
msgid "Engine Version"
|
msgid "Engine Version"
|
||||||
msgstr ""
|
msgstr "Versione Motore"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:31
|
#: app/templates/app/processing_node.html:31
|
||||||
msgid "Queue Count"
|
msgid "Queue Count"
|
||||||
msgstr ""
|
msgstr "Lunghezza Coda"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:35
|
#: app/templates/app/processing_node.html:35
|
||||||
msgid "Max Images Limit"
|
msgid "Max Images Limit"
|
||||||
msgstr ""
|
msgstr "Numero Massimo Immagini"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:39
|
#: app/templates/app/processing_node.html:39
|
||||||
msgid "Label"
|
msgid "Label"
|
||||||
msgstr ""
|
msgstr "Etichetta"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:43
|
#: app/templates/app/processing_node.html:43
|
||||||
msgid "Last Refreshed"
|
msgid "Last Refreshed"
|
||||||
msgstr ""
|
msgstr "Ultimo Aggiornamento"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:44
|
#: app/templates/app/processing_node.html:44
|
||||||
|
msgctxt "5 minutes ago"
|
||||||
msgid "ago"
|
msgid "ago"
|
||||||
msgstr ""
|
msgstr "fà"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:47
|
#: app/templates/app/processing_node.html:47
|
||||||
msgid "Options (JSON)"
|
msgid "Options (JSON)"
|
||||||
msgstr ""
|
msgstr "Opzioni (JSON)"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:53
|
#: app/templates/app/processing_node.html:53
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr "Modifica"
|
||||||
|
|
||||||
#: app/templates/app/processing_node.html:54
|
#: app/templates/app/processing_node.html:54
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr "Cancella"
|
||||||
|
|
||||||
#: app/templates/app/welcome.html:224
|
#: app/templates/app/welcome.html:224
|
||||||
msgid "Uh oh! Could you please check the errors below?"
|
msgid "Uh oh! Could you please check the errors below?"
|
||||||
msgstr ""
|
msgstr "Uh oh! Puoi per favore controllare gli errori qui sotto?"
|
||||||
|
|
||||||
#: app/templates/app/welcome.html:237
|
#: app/templates/app/welcome.html:237
|
||||||
msgid "Create Account"
|
msgid "Create Account"
|
||||||
msgstr ""
|
msgstr "Crea Account"
|
||||||
|
|
||||||
#: app/views/app.py:44
|
#: app/views/app.py:44
|
||||||
msgid "First Project"
|
msgid "First Project"
|
||||||
msgstr ""
|
msgstr "Primo Progetto"
|
||||||
|
|
||||||
#: app/views/app.py:54 app/views/public.py:26
|
#: app/views/app.py:54 app/views/public.py:26
|
||||||
msgid "Map"
|
msgid "Map"
|
||||||
msgstr ""
|
msgstr "Mappa"
|
||||||
|
|
||||||
#: app/views/app.py:81
|
#: app/views/app.py:81
|
||||||
msgid "3D Model Display"
|
msgid "3D Model Display"
|
||||||
msgstr ""
|
msgstr "Schermata Modello 3D"
|
||||||
|
|
||||||
#: plugins/cesium-ion/api_views.py:170
|
#: plugins/cesium-ion/api_views.py:170
|
||||||
msgid "No matching enum type."
|
msgid "No matching enum type."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/plugin.py:36
|
||||||
|
msgid "Diagnostic"
|
||||||
|
msgstr "Diagnostica"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:6
|
||||||
|
msgid "Diagnostic Information"
|
||||||
|
msgstr "Informazioni di Diagnostica"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:8
|
||||||
|
msgid "App Version"
|
||||||
|
msgstr "Versione App"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:12
|
||||||
|
msgid "Storage Space"
|
||||||
|
msgstr "Spazio su Disco"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:16
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:42
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:47
|
||||||
|
msgctxt "Megabytes of storage space"
|
||||||
|
msgid "Free"
|
||||||
|
msgstr "Libero"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:17
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:41
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:47
|
||||||
|
msgctxt "Megabytes of storage space"
|
||||||
|
msgid "Used"
|
||||||
|
msgstr "Usato"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:18
|
||||||
|
msgctxt "Megabytes of storage space"
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "Totale"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:22
|
||||||
|
msgctxt "Computer memory (RAM)"
|
||||||
|
msgid "Memory"
|
||||||
|
msgstr "Memoria"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:26
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:77
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:82
|
||||||
|
msgctxt "Megabytes of memory space"
|
||||||
|
msgid "Free"
|
||||||
|
msgstr "Libera"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:27
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:76
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:82
|
||||||
|
msgctxt "Megabytes of memory space"
|
||||||
|
msgid "Used"
|
||||||
|
msgstr "Usata"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:28
|
||||||
|
msgctxt "Megabytes of memory space"
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "Totale"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:35
|
||||||
|
msgid "Note!"
|
||||||
|
msgstr "Nota!"
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:35
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"These values might be relative to the virtualization environment in which "
|
||||||
|
"the application is running, not necessarily the values of the your machine. "
|
||||||
|
"See instructions for %(win_link)s and %(mac_link)s for changing these values "
|
||||||
|
"in a docker setup."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:49
|
||||||
|
#: plugins/diagnostic/templates/diagnostic.html:84
|
||||||
|
msgid "Disk Space"
|
||||||
|
msgstr "Spazio su Disco"
|
||||||
|
|
||||||
|
#: plugins/lightning/plugin.py:25 plugins/lightning/plugin.py:39
|
||||||
|
msgid "Lightning Network"
|
||||||
|
msgstr "Rete Lightning"
|
||||||
|
|
||||||
|
#: plugins/posm-gcpi/plugin.py:8
|
||||||
|
msgid "GCP Interface"
|
||||||
|
msgstr "Interfaccia GCP"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-12-14 18:40+0000\n"
|
"POT-Creation-Date: 2020-12-14 20:25+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "WebODM",
|
"name": "WebODM",
|
||||||
"version": "1.6.0",
|
"version": "1.7.0",
|
||||||
"description": "User-friendly, extendable application and API for processing aerial imagery.",
|
"description": "User-friendly, extendable application and API for processing aerial imagery.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
from app.plugins import PluginBase, Menu, MountPoint
|
from app.plugins import PluginBase, Menu, MountPoint
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
import json, shutil
|
import json, shutil
|
||||||
|
|
||||||
|
@ -32,22 +33,15 @@ def get_memory_stats():
|
||||||
|
|
||||||
class Plugin(PluginBase):
|
class Plugin(PluginBase):
|
||||||
def main_menu(self):
|
def main_menu(self):
|
||||||
return [Menu("Diagnostic", self.public_url(""), "fa fa-chart-pie fa-fw")]
|
return [Menu(_("Diagnostic"), self.public_url(""), "fa fa-chart-pie fa-fw")]
|
||||||
|
|
||||||
def app_mount_points(self):
|
def app_mount_points(self):
|
||||||
@login_required
|
@login_required
|
||||||
def diagnostic(request):
|
def diagnostic(request):
|
||||||
# Load version number
|
|
||||||
with open('./package.json') as f:
|
|
||||||
package = json.load(f)
|
|
||||||
version = package['version']
|
|
||||||
|
|
||||||
# Disk space
|
# Disk space
|
||||||
total_disk_space, used_disk_space, free_disk_space = shutil.disk_usage('./')
|
total_disk_space, used_disk_space, free_disk_space = shutil.disk_usage('./')
|
||||||
|
|
||||||
template_args = {
|
template_args = {
|
||||||
'title': 'Diagnostic',
|
|
||||||
'version': version,
|
|
||||||
'total_disk_space': total_disk_space,
|
'total_disk_space': total_disk_space,
|
||||||
'used_disk_space': used_disk_space,
|
'used_disk_space': used_disk_space,
|
||||||
'free_disk_space': free_disk_space
|
'free_disk_space': free_disk_space
|
||||||
|
|
|
@ -1,50 +1,50 @@
|
||||||
{% extends "app/plugins/templates/base.html" %}
|
{% extends "app/plugins/templates/base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<script src="./Chart.min.js"></script>
|
<script src="./Chart.min.js"></script>
|
||||||
<h2>Diagnostic Information</h2>
|
<h2>{% trans 'Diagnostic Information' %}</h2>
|
||||||
|
|
||||||
<p><b>App Version:</b> {{ version }}</p>
|
|
||||||
|
|
||||||
<div class="row text-center">
|
<div class="row text-center">
|
||||||
<div class="col-md-4 col-sm-12">
|
<div class="col-md-4 col-sm-12">
|
||||||
<h4>Storage Space</h4>
|
<h4>{% trans 'Storage Space' %}</h4>
|
||||||
<div style="width: 80%; margin-left: 10%;">
|
<div style="width: 80%; margin-left: 10%;">
|
||||||
<canvas id="diskChart" width="200" height="200" style="margin-bottom: 12px;"></canvas>
|
<canvas id="diskChart" width="200" height="200" style="margin-bottom: 12px;"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<p><b>Free:</b> {{ free_disk_space|filesizeformat }} |
|
<p><b>{% trans 'Free' context 'Megabytes of storage space' %}:</b> {{ free_disk_space|filesizeformat }} |
|
||||||
<b>Used:</b> {{ used_disk_space|filesizeformat }} |
|
<b>{% trans 'Used' context 'Megabytes of storage space' %}:</b> {{ used_disk_space|filesizeformat }} |
|
||||||
<b>Total:</b> {{ total_disk_space|filesizeformat }}</p>
|
<b>{% trans 'Total' context 'Megabytes of storage space' %}:</b> {{ total_disk_space|filesizeformat }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 col-sm-12">
|
<div class="col-md-4 col-sm-12">
|
||||||
{% if total_memory %}
|
{% if total_memory %}
|
||||||
<h4>Memory</h4>
|
<h4>{% trans 'Memory' context 'Computer memory (RAM)' %}</h4>
|
||||||
<div style="width: 80%; margin-left: 10%;">
|
<div style="width: 80%; margin-left: 10%;">
|
||||||
<canvas id="memoryChart" width="200" height="200" style="margin-bottom: 12px;"></canvas>
|
<canvas id="memoryChart" width="200" height="200" style="margin-bottom: 12px;"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<p><b>Free:</b> {{ free_memory|filesizeformat }} |
|
<p><b>{% trans 'Free' context 'Megabytes of memory space' %}:</b> {{ free_memory|filesizeformat }} |
|
||||||
<b>Used:</b> {{ used_memory|filesizeformat }} |
|
<b>{% trans 'Used' context 'Megabytes of memory space' %}:</b> {{ used_memory|filesizeformat }} |
|
||||||
<b>Total:</b> {{ total_memory|filesizeformat }}</p>
|
<b>{% trans 'Total' context 'Megabytes of memory space'%}:</b> {{ total_memory|filesizeformat }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
<div style="margin-top: 20px;"><strong>Note!</strong> These values might be relative to the virtualization environment in which the application is running, not necessarily the values of the your machine. See instructions for <a href="http://stackoverflow.com/a/39720010">MacOS</a> and <a href="https://docs.docker.com/docker-for-windows/#advanced">Windows</a> for changing these values in a docker setup.</div>
|
|
||||||
|
<div style="margin-top: 20px;"><strong>{% trans 'Note!' %}</strong> {% blocktrans with win_link="<a href='https://docs.docker.com/docker-for-windows/#advanced'>Windows</a>" mac_link="<a href='http://stackoverflow.com/a/39720010'>MacOS</a>" %}These values might be relative to the virtualization environment in which the application is running, not necessarily the values of the your machine. See instructions for {{ win_link }} and {{ mac_link }} for changing these values in a docker setup.{% endblocktrans %}</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
(function(){
|
(function(){
|
||||||
var ctx = document.getElementById('diskChart').getContext('2d');
|
var ctx = document.getElementById('diskChart').getContext('2d');
|
||||||
var labels = {
|
var labels = {
|
||||||
'Used': '{{ used_disk_space|filesizeformat }}',
|
"{% trans 'Used' context 'Megabytes of storage space' %}": '{{ used_disk_space|filesizeformat }}',
|
||||||
'Free': '{{ free_disk_space|filesizeformat }}'
|
"{% trans 'Free' context 'Megabytes of storage space' %}": '{{ free_disk_space|filesizeformat }}'
|
||||||
};
|
};
|
||||||
var chart = new Chart(ctx, {
|
var chart = new Chart(ctx, {
|
||||||
type: 'doughnut',
|
type: 'doughnut',
|
||||||
data: {
|
data: {
|
||||||
labels: ["Used", "Free"],
|
labels: ["{% trans 'Used' context 'Megabytes of storage space' %}", "{% trans 'Free' context 'Megabytes of storage space' %}"],
|
||||||
datasets: [{
|
datasets: [{
|
||||||
label: "Disk Space",
|
label: "{% trans 'Disk Space' %}",
|
||||||
backgroundColor:[
|
backgroundColor:[
|
||||||
"rgb(255, 99, 132)",
|
"rgb(255, 99, 132)",
|
||||||
"rgb(54, 162, 235)"
|
"rgb(54, 162, 235)"
|
||||||
|
@ -71,15 +71,15 @@
|
||||||
(function(){
|
(function(){
|
||||||
var ctx = document.getElementById('memoryChart').getContext('2d');
|
var ctx = document.getElementById('memoryChart').getContext('2d');
|
||||||
var labels = {
|
var labels = {
|
||||||
'Used': '{{ used_memory|filesizeformat }}',
|
"{% trans 'Used' context 'Megabytes of memory space' %}": '{{ used_memory|filesizeformat }}',
|
||||||
'Free': '{{ free_memory|filesizeformat }}'
|
"{% trans 'Free' context 'Megabytes of memory space' %}": '{{ free_memory|filesizeformat }}'
|
||||||
};
|
};
|
||||||
var chart = new Chart(ctx, {
|
var chart = new Chart(ctx, {
|
||||||
type: 'doughnut',
|
type: 'doughnut',
|
||||||
data: {
|
data: {
|
||||||
labels: ["Used", "Free"],
|
labels: ["{% trans 'Used' context 'Megabytes of memory space' %}", "{% trans 'Free' context 'Megabytes of memory space' %}"],
|
||||||
datasets: [{
|
datasets: [{
|
||||||
label: "Disk Space",
|
label: "{% trans 'Disk Space' %}",
|
||||||
backgroundColor:[
|
backgroundColor:[
|
||||||
"rgb(255, 99, 132)",
|
"rgb(255, 99, 132)",
|
||||||
"rgb(54, 162, 235)"
|
"rgb(54, 162, 235)"
|
||||||
|
|
|
@ -4,6 +4,7 @@ from django.dispatch import receiver
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from guardian.shortcuts import get_objects_for_user, assign_perm
|
from guardian.shortcuts import get_objects_for_user, assign_perm
|
||||||
from rest_framework.renderers import JSONRenderer
|
from rest_framework.renderers import JSONRenderer
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
from app.plugins import GlobalDataStore, logger
|
from app.plugins import GlobalDataStore, logger
|
||||||
from app.plugins import PluginBase, Menu, MountPoint, UserDataStore, signals
|
from app.plugins import PluginBase, Menu, MountPoint, UserDataStore, signals
|
||||||
|
@ -21,7 +22,7 @@ def JsonResponse(dict):
|
||||||
|
|
||||||
class Plugin(PluginBase):
|
class Plugin(PluginBase):
|
||||||
def main_menu(self):
|
def main_menu(self):
|
||||||
return [Menu("Lightning Network", self.public_url(""), "fa fa-bolt fa-fw")]
|
return [Menu(_("Lightning Network"), self.public_url(""), "fa fa-bolt fa-fw")]
|
||||||
|
|
||||||
def include_js_files(self):
|
def include_js_files(self):
|
||||||
return ['add_cost_estimate.js']
|
return ['add_cost_estimate.js']
|
||||||
|
@ -35,7 +36,7 @@ class Plugin(PluginBase):
|
||||||
uds = UserDataStore('lightning', request.user)
|
uds = UserDataStore('lightning', request.user)
|
||||||
|
|
||||||
return render(request, self.template_path("index.html"), {
|
return render(request, self.template_path("index.html"), {
|
||||||
'title': 'Lightning Network',
|
'title': _('Lightning Network'),
|
||||||
'api_key': uds.get_string("api_key")
|
'api_key': uds.get_string("api_key")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
from app.plugins import PluginBase, Menu, MountPoint
|
from app.plugins import PluginBase, Menu, MountPoint
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
class Plugin(PluginBase):
|
class Plugin(PluginBase):
|
||||||
|
|
||||||
def main_menu(self):
|
def main_menu(self):
|
||||||
return [Menu("GCP Interface", self.public_url(""), "fa fa-map-marker-alt fa-fw")]
|
return [Menu(_("GCP Interface"), self.public_url(""), "fa fa-map-marker-alt fa-fw")]
|
||||||
|
|
||||||
def app_mount_points(self):
|
def app_mount_points(self):
|
||||||
return [
|
return [
|
||||||
|
|
Ładowanie…
Reference in New Issue