forked from shaba/openuds
Added a couple csv reports
This commit is contained in:
parent
abf6d3751b
commit
f8934acbe4
@ -111,6 +111,7 @@ class Reports(model.BaseModelHandler):
|
||||
|
||||
return {
|
||||
'mime_type': report.mime_type,
|
||||
'encoded': report.encoded,
|
||||
'filename': report.filename,
|
||||
'data': result
|
||||
}
|
||||
@ -133,6 +134,7 @@ class Reports(model.BaseModelHandler):
|
||||
{
|
||||
'id': i.getUuid(),
|
||||
'mime_type': i.mime_type,
|
||||
'encoded': i.encoded,
|
||||
'group': i.translated_group(),
|
||||
'name': i.translated_name(),
|
||||
'description': i.translated_description()
|
||||
|
@ -41,15 +41,16 @@ import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
__updated__ = '2015-05-03'
|
||||
__updated__ = '2015-06-21'
|
||||
|
||||
|
||||
class Report(UserInterface):
|
||||
mime_type = 'application/pdf' # Report returns pdfs by default, but could be anything else
|
||||
name = _('Base Report') # Report name
|
||||
description = _('Base report') # Report description
|
||||
filename = 'file.bin' # Filename that will be returned as 'hint' on rest report request
|
||||
filename = 'file.pdf' # Filename that will be returned as 'hint' on rest report request
|
||||
group = '' # So we can "group" reports by kind?
|
||||
encoded = True # If the report is mean to be encoded (binary reports as PDFs == True, text reports must be False so utf-8 is correctly threated
|
||||
uuid = None
|
||||
|
||||
@classmethod
|
||||
@ -123,7 +124,11 @@ class Report(UserInterface):
|
||||
Generated base 64 encoded report.
|
||||
Basically calls generate and encodes resuslt as base64
|
||||
'''
|
||||
return self.generate().encode('base64').replace('\n', '')
|
||||
data = self.generate()
|
||||
if self.encoded:
|
||||
return data.encode('base64').replace('\n', '')
|
||||
else:
|
||||
return data
|
||||
|
||||
def __str__(self):
|
||||
return 'Report {} with uuid {}'.format(self.name, self.uuid)
|
||||
|
@ -9,23 +9,19 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
class UDSImage(Image):
|
||||
def _get_height(self):
|
||||
logger.debug('get height called')
|
||||
ret = self._height or (self.image and self.image.size[1] or 0)
|
||||
return ret * cm / 118
|
||||
ret = self._height or (self.image and (self.image.size[1] * cm / 118) or 0)
|
||||
return ret
|
||||
|
||||
def _set_height(self, value):
|
||||
logger.debug('set height called')
|
||||
self._height = value / cm * 118
|
||||
self._height = value
|
||||
|
||||
height = property(_get_height, _set_height)
|
||||
|
||||
def _get_width(self):
|
||||
logger.debug('get width called')
|
||||
ret = self._width or (self.image and self.image.size[0] or 0)
|
||||
return ret * cm / 118
|
||||
ret = self._width or (self.image and (self.image.size[0] * cm / 118) or 0)
|
||||
return ret
|
||||
|
||||
def _set_width(self, value):
|
||||
logger.debug('set width called')
|
||||
self._width = value / cm * 118
|
||||
self._width = value
|
||||
|
||||
width = property(_get_width, _set_width)
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,21 +1,22 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Adolfo Gómez <dkmaster at dkmon dot com>, 2012
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:02+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:16+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/openuds/language/de/)\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/openuds/language/"
|
||||
"de/)\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/adm/js/dataTables.bootstrap.js:6 static/tmp_js/gui.js:19
|
||||
@ -415,123 +416,121 @@ msgstr "Löschen-Dienstleister"
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr "Service Provider löschen Fehler"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr "Cache-Element entfernen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr "Fehler löschen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr "Gruppe hinzufügen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr "Sie müssen Authentifikator und Gruppe bereitstellen."
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr "Gruppe entfernen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr "Gruppe entfernen Fehler"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr "Nr."
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr "Zugewiesene Dienst entfernen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr "Transport hinzufügen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr "Sie müssen einen Transport bereitstellen."
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr "Verkehr zu entfernen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr "Transportfehler entfernen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr "Veröffentlichen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr "Veröffentlichung einzustellen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr "Kraft \"Abbrechen\""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr "Starten neue Publikation zu?"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr "Fehler beim Erstellen von Publikation"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr "Zurückhaltend"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr "Neue Service-pool"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr "Fehler beim Erstellen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr "Bei der Erstellung zu veröffentlichen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr "Wenn ausgewählt, wird die Publikation Inmediatly nach Erstellung einleiten."
|
||||
msgstr ""
|
||||
"Wenn ausgewählt, wird die Publikation Inmediatly nach Erstellung einleiten."
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr "Speichern von Fehler"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr "Fehler löschen"
|
||||
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:47+0200\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -41,7 +41,7 @@ msgstr ""
|
||||
#: REST/methods/authenticators.py:59 REST/methods/images.py:60
|
||||
#: REST/methods/networks.py:60 REST/methods/osmanagers.py:57
|
||||
#: REST/methods/providers.py:64 REST/methods/reports.py:58
|
||||
#: REST/methods/services_pools.py:71 REST/methods/transports.py:56
|
||||
#: REST/methods/services_pools.py:72 REST/methods/transports.py:56
|
||||
#: REST/methods/user_services.py:218 REST/methods/user_services.py:253
|
||||
#: REST/methods/users_groups.py:95 REST/model.py:119
|
||||
#: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32
|
||||
@ -50,7 +50,7 @@ msgstr ""
|
||||
|
||||
#: REST/methods/authenticators.py:60 REST/methods/osmanagers.py:58
|
||||
#: REST/methods/providers.py:65 REST/methods/services.py:179
|
||||
#: REST/methods/services_pools.py:75 REST/methods/transports.py:57
|
||||
#: REST/methods/services_pools.py:76 REST/methods/transports.py:57
|
||||
#: REST/methods/user_services.py:255 REST/methods/users_groups.py:96
|
||||
#: REST/methods/users_groups.py:209 REST/model.py:126
|
||||
#: templates/uds/admin/tmpl/group.html:49
|
||||
@ -67,8 +67,8 @@ msgstr ""
|
||||
msgid "Tag"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/authenticators.py:63
|
||||
#: templates/uds/admin/tmpl/authenticators.html:30
|
||||
#: REST/methods/authenticators.py:63 reports/stats/login.py:107
|
||||
#: reports/stats/login.py:372 templates/uds/admin/tmpl/authenticators.html:30
|
||||
#: templates/uds/admin/tmpl/dashboard.html:34
|
||||
#: templates/uds/admin/tmpl/permissions.html:7
|
||||
msgid "Users"
|
||||
@ -208,104 +208,104 @@ msgstr ""
|
||||
msgid "User services"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:69
|
||||
#: REST/methods/services_pools.py:70
|
||||
#: templates/uds/admin/snippets/navbar.html:25
|
||||
#: templates/uds/admin/tmpl/services_pool.html:4
|
||||
#: templates/uds/admin/tmpl/services_pool.html:7
|
||||
msgid "Service Pools"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:72
|
||||
#: REST/methods/services_pools.py:73
|
||||
msgid "Parent Service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:73 REST/methods/user_services.py:118
|
||||
#: REST/methods/services_pools.py:74 REST/methods/user_services.py:118
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:74
|
||||
#: REST/methods/services_pools.py:75
|
||||
msgid "Shows transports"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:113
|
||||
#: REST/methods/services_pools.py:114
|
||||
msgid "Create at least one OS Manager before creating a new service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:115
|
||||
#: REST/methods/services_pools.py:116
|
||||
msgid "Create at least a service before creating a new service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:122
|
||||
#: REST/methods/services_pools.py:123
|
||||
msgid "Base service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:123
|
||||
#: REST/methods/services_pools.py:124
|
||||
msgid "Service used as base of this service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:130
|
||||
#: REST/methods/services_pools.py:131
|
||||
msgid "OS Manager"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:131
|
||||
#: REST/methods/services_pools.py:132
|
||||
msgid "OS Manager used as base of this service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:138
|
||||
#: REST/methods/services_pools.py:139
|
||||
msgid "Associated Image"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:139
|
||||
#: REST/methods/services_pools.py:140
|
||||
msgid "Image assocciated with this service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:146
|
||||
#: REST/methods/services_pools.py:147
|
||||
msgid "Initial available services"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:147
|
||||
#: REST/methods/services_pools.py:148
|
||||
msgid "Services created initially for this service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:154
|
||||
#: REST/methods/services_pools.py:155
|
||||
msgid "Services to keep in cache"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:155
|
||||
#: REST/methods/services_pools.py:156
|
||||
msgid "Services kept in cache for improved user service assignation"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:162
|
||||
#: REST/methods/services_pools.py:163
|
||||
msgid "Services to keep in L2 cache"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:163
|
||||
#: REST/methods/services_pools.py:164
|
||||
msgid "Services kept in cache of level2 for improved service generation"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:170
|
||||
#: REST/methods/services_pools.py:171
|
||||
msgid "Maximum number of services to provide"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:171
|
||||
#: REST/methods/services_pools.py:172
|
||||
msgid ""
|
||||
"Maximum number of service (assigned and L1 cache) that can be created for "
|
||||
"this service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:177
|
||||
#: REST/methods/services_pools.py:178
|
||||
msgid "Show transports"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:178
|
||||
#: REST/methods/services_pools.py:179
|
||||
msgid "If active, alternative transports for user will be shown"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:193
|
||||
#: REST/methods/services_pools.py:194
|
||||
msgid "Base service does not exist anymore"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:212
|
||||
#: REST/methods/services_pools.py:213
|
||||
msgid "This service requires an OS Manager"
|
||||
msgstr ""
|
||||
|
||||
@ -348,7 +348,7 @@ msgid "Creation date"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:114 REST/methods/user_services.py:180
|
||||
#: REST/methods/user_services.py:319
|
||||
#: REST/methods/user_services.py:321 REST/methods/user_services.py:350
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
|
||||
@ -394,7 +394,8 @@ msgid "Cached services"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:184 REST/methods/user_services.py:220
|
||||
#: REST/methods/user_services.py:321 templates/uds/admin/tmpl/group.html:54
|
||||
#: REST/methods/user_services.py:323 REST/methods/user_services.py:352
|
||||
#: templates/uds/admin/tmpl/group.html:54
|
||||
#: templates/uds/admin/tmpl/user.html:45
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
@ -416,19 +417,23 @@ msgstr ""
|
||||
msgid "Assigned transports"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:315
|
||||
#: REST/methods/user_services.py:317
|
||||
#: templates/uds/admin/tmpl/services_pool.html:34
|
||||
msgid "Publications"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:320
|
||||
#: REST/methods/user_services.py:322 REST/methods/user_services.py:351
|
||||
msgid "Publish date"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:322
|
||||
#: REST/methods/user_services.py:324 templates/uds/admin/tmpl/publish.html:5
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:346
|
||||
msgid "Changelog"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/users_groups.py:88
|
||||
#, python-brace-format
|
||||
msgid "Users of {0}"
|
||||
@ -459,7 +464,8 @@ msgstr ""
|
||||
msgid "state"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/users_groups.py:98
|
||||
#: REST/methods/users_groups.py:98 reports/lists/users.py:86
|
||||
#: reports/lists/users.py:161
|
||||
msgid "Last access"
|
||||
msgstr ""
|
||||
|
||||
@ -530,18 +536,18 @@ msgid "requested a template that do not exist"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/reporting/usage.py:84 admin/views/reporting/users.py:87
|
||||
#: reports/lists/users.py:85 reports/stats/login.py:96
|
||||
#: core/reports/tools/report.py:69 reports/lists/users.py:87
|
||||
#, python-format
|
||||
msgid "Page %(page_number)d of %(page_count)d"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/reporting/usage.py:93 admin/views/reporting/users.py:97
|
||||
#: reports/lists/users.py:95 reports/stats/login.py:106
|
||||
#: core/reports/tools/report.py:79 reports/lists/users.py:97
|
||||
#, python-format
|
||||
msgid "Printed in %(now:%Y, %b %d)s at %(now:%H:%M)s"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/reporting/users.py:112 reports/lists/users.py:135
|
||||
#: admin/views/reporting/users.py:112 reports/lists/users.py:137
|
||||
msgid "Users List for {}"
|
||||
msgstr ""
|
||||
|
||||
@ -1122,15 +1128,15 @@ msgstr ""
|
||||
msgid "Service is in maintenance mode and new publications are not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: core/managers/PublicationManager.py:236
|
||||
#: core/managers/PublicationManager.py:238
|
||||
msgid "Can't cancel non running publication"
|
||||
msgstr ""
|
||||
|
||||
#: core/managers/PublicationManager.py:258
|
||||
#: core/managers/PublicationManager.py:260
|
||||
msgid "Can't unpublish non usable publication"
|
||||
msgstr ""
|
||||
|
||||
#: core/managers/PublicationManager.py:261
|
||||
#: core/managers/PublicationManager.py:263
|
||||
msgid "Can't unpublish publications with services in process"
|
||||
msgstr ""
|
||||
|
||||
@ -1199,6 +1205,10 @@ msgstr ""
|
||||
msgid "Base report"
|
||||
msgstr ""
|
||||
|
||||
#: core/reports/tools/report.py:78
|
||||
msgid "Generated by UDS"
|
||||
msgstr ""
|
||||
|
||||
#: core/services/BaseService.py:89 core/services/BaseService.py:101
|
||||
msgid "Base Service"
|
||||
msgstr ""
|
||||
@ -1474,14 +1484,28 @@ msgstr ""
|
||||
msgid "UDS Actor for openSUSE, ... Linux machines <b>(Requires python 2.7)</b>"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:29
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:31
|
||||
msgid "RDS OS Manager"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:31
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:33
|
||||
msgid "Os Manager to control RDS provided services"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:40
|
||||
msgid "Max. session time"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:44
|
||||
msgid ""
|
||||
"Maximum duration in hours for a session (0 means no limit). After this "
|
||||
"period, session will be released."
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/__init__.py:49
|
||||
msgid "RDS UDS Actor (for remote apps on Windows Server 2012)"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/WindowsOsManager/WinDomainOsManager.py:28
|
||||
msgid "Windows Domain OS Manager"
|
||||
msgstr ""
|
||||
@ -1626,64 +1650,101 @@ msgstr ""
|
||||
msgid "UDS Actor for windows machines"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:110 templates/uds/admin/tmpl/permissions_add.html:5
|
||||
#: reports/lists/base.py:42
|
||||
msgid "Lists"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:84 reports/lists/users.py:161
|
||||
msgid "User ID"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:85 reports/lists/users.py:161
|
||||
msgid "Real Name"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:112 templates/uds/admin/tmpl/permissions_add.html:5
|
||||
#: templates/uds/admin/tmpl/pool_add_group.html:5 web/forms/LoginForm.py:77
|
||||
msgid "Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:112
|
||||
#: reports/lists/users.py:114
|
||||
msgid "Authenticator from where to list users"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:116
|
||||
#: reports/lists/users.py:118
|
||||
msgid "Users list"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:117
|
||||
#: reports/lists/users.py:119
|
||||
msgid "List users of platform"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:135
|
||||
#: reports/stats/base.py:46
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:77 reports/stats/login.py:103
|
||||
msgid "Users access by date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:83
|
||||
msgid "Users access by day of week"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:89
|
||||
msgid "Users access by hour"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:105 reports/stats/login.py:372
|
||||
msgid "Date range"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:125 reports/stats/login.py:357
|
||||
msgid "Users access report by date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:136
|
||||
#: reports/stats/login.py:126 reports/stats/login.py:358
|
||||
msgid "Report of user access to platform by date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:142
|
||||
#: reports/stats/login.py:132
|
||||
msgid "Starting date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:143
|
||||
#: reports/stats/login.py:133
|
||||
msgid "starting date for report"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:150
|
||||
#: reports/stats/login.py:140
|
||||
msgid "Finish date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:151
|
||||
#: reports/stats/login.py:141
|
||||
msgid "finish date for report"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:158
|
||||
#: reports/stats/login.py:148
|
||||
msgid "Number of points"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:162
|
||||
#: reports/stats/login.py:152
|
||||
msgid "Number of sampling points used in charts"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:258
|
||||
msgid "Users usage of UDS"
|
||||
#: reports/stats/login.py:230 reports/stats/login.py:273
|
||||
#: reports/stats/login.py:287 reports/stats/login.py:312
|
||||
msgid "Users access to UDS"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/usage.py:44
|
||||
msgid "Usage stats"
|
||||
#: reports/stats/login.py:345
|
||||
msgid "User access to UDS"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/usage.py:45
|
||||
msgid "Usage stats"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/usage.py:46
|
||||
msgid "Statistics of platform use"
|
||||
msgstr ""
|
||||
|
||||
@ -1864,13 +1925,13 @@ msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterProvider.py:299
|
||||
#: services/HyperV_enterprise/HyperVProvider.py:255
|
||||
#: services/OVirt/OVirtProvider.py:414 services/Xen/XenProvider.py:392
|
||||
#: services/Xen/XenProvider.py:392
|
||||
msgid "Connection test successful"
|
||||
msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterProvider.py:300
|
||||
#: services/HyperV_enterprise/HyperVProvider.py:256
|
||||
#: services/OVirt/OVirtProvider.py:415
|
||||
#: services/OVirt/OVirtProvider.py:419
|
||||
#: services/Vmware_enterprise/ServiceProviderVC.py:123
|
||||
msgid "Connection failed. Check connection params"
|
||||
msgstr ""
|
||||
@ -2582,6 +2643,14 @@ msgstr ""
|
||||
msgid "Transport"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/admin/tmpl/publish.html:5
|
||||
msgid "reason of publication"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/admin/tmpl/publish.html:7
|
||||
msgid "Reason for publication (can be empty)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/admin/tmpl/request_failed.html:4
|
||||
msgid "Error on request"
|
||||
msgstr ""
|
||||
@ -3147,14 +3216,14 @@ msgid "NX Transport for tunneled connection"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:69 transports/RDP/TRDPTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:67
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:49
|
||||
#: transports/SPICE/TSPICETransport.py:65
|
||||
msgid "Tunnel server"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:69 transports/RDP/TRDPTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:67
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:49
|
||||
#: transports/SPICE/TSPICETransport.py:65
|
||||
msgid ""
|
||||
@ -3163,13 +3232,13 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:70 transports/RDP/TRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:68
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:50
|
||||
msgid "Tunnel host check"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:70 transports/RDP/TRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:68
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:50
|
||||
msgid ""
|
||||
"If not empty, this server will be used to check if service is running before "
|
||||
@ -3177,7 +3246,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:113 transports/RDP/TRDPTransport.py:88
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:83
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:81
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:76
|
||||
#: transports/SPICE/TSPICETransport.py:72
|
||||
msgid "Must use HOST:PORT in Tunnel Server Field"
|
||||
@ -3228,36 +3297,30 @@ msgid "If checked, this transport will allow the use of user serial ports"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:73
|
||||
msgid "Show wallpaper"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:73
|
||||
msgid ""
|
||||
"If checked, the wallpaper and themes will be shown on machine (better user "
|
||||
"experience, more bandwidth)"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:71
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:74
|
||||
msgid "Multiple monitors"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:71
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:74
|
||||
msgid ""
|
||||
"If checked, all client monitors will be used for displaying (only works on "
|
||||
"windows clients)"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:72
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:75
|
||||
msgid "Allow Aero"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:72
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:75
|
||||
msgid "If checked, desktop composition will be allowed"
|
||||
msgstr ""
|
||||
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:47+0200\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -414,123 +414,120 @@ msgstr ""
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr ""
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,26 +1,27 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# , 2014
|
||||
# Adolfo Gómez <dkmaster@dkmon.com>, 2014-2015
|
||||
# blafuente <blafuente@virtualcable.es>, 2014
|
||||
# blafuente <blafuente@virtualcable.es>, 2014
|
||||
# blafuente <blafuente@virtualcable.es>, 2014-2015
|
||||
# JaviBas <jgonzalez@virtualcable.es>, 2014
|
||||
# JaviBas <jgonzalez@virtualcable.es>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:02+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:16+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/openuds/language/es/)\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/openuds/language/"
|
||||
"es/)\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/adm/js/dataTables.bootstrap.js:6 static/tmp_js/gui.js:19
|
||||
@ -126,7 +127,7 @@ msgstr "Grupo guardado"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:189
|
||||
msgid "New meta group"
|
||||
msgstr "Nuevo grupo meta"
|
||||
msgstr "Nuevo meta grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:191
|
||||
msgid "New group"
|
||||
@ -155,7 +156,7 @@ msgstr "Borrar grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:224
|
||||
msgid "Group deletion error"
|
||||
msgstr "Error en el borrado del grupo"
|
||||
msgstr "Error al borrar grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:270
|
||||
msgid "Edit user"
|
||||
@ -194,7 +195,7 @@ msgstr "Eliminar usuario"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:339
|
||||
msgid "User deletion error"
|
||||
msgstr "Error de borrado de usuario"
|
||||
msgstr "Error al borrar usuario"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:352
|
||||
msgid "New authenticator"
|
||||
@ -202,7 +203,7 @@ msgstr "Nuevo autenticador"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:352
|
||||
msgid "Authenticator creation error"
|
||||
msgstr "Error de creación de autenticador"
|
||||
msgstr "Error al crear autenticador"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:353
|
||||
msgid "Edit authenticator"
|
||||
@ -218,7 +219,7 @@ msgstr "Eliminar autenticador"
|
||||
|
||||
#: static/tmp_js/gui-d-authenticators.js:354
|
||||
msgid "Authenticator deletion error"
|
||||
msgstr "Error en la eliminación del autenticador"
|
||||
msgstr "Error al eliminar autenticador"
|
||||
|
||||
#: static/tmp_js/gui-d-config.js:56
|
||||
msgid "Configuration saved"
|
||||
@ -226,7 +227,7 @@ msgstr "Configuración guardada"
|
||||
|
||||
#: static/tmp_js/gui-d-config.js:60
|
||||
msgid "No changes has been made"
|
||||
msgstr "No se han introducido modificaciones"
|
||||
msgstr "No se han hecho cambios"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:21
|
||||
msgid "New transport"
|
||||
@ -234,7 +235,7 @@ msgstr "Nuevo transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:21
|
||||
msgid "Transport creation error"
|
||||
msgstr "Error en creación de transporte"
|
||||
msgstr "Error al crear transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:22
|
||||
msgid "Edit transport"
|
||||
@ -250,7 +251,7 @@ msgstr "Eliminar transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:23
|
||||
msgid "Transport deletion error"
|
||||
msgstr "Error en la eliminación del transporte"
|
||||
msgstr "Error al eliminar transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:30
|
||||
msgid "New network"
|
||||
@ -258,7 +259,7 @@ msgstr "Nueva red"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:30
|
||||
msgid "Network creation error"
|
||||
msgstr "Error de creación de la red"
|
||||
msgstr "Error al crear red"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:31
|
||||
msgid "Edit network"
|
||||
@ -266,7 +267,7 @@ msgstr "Editar red"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:31
|
||||
msgid "Network saving error"
|
||||
msgstr "Error al guardar la red"
|
||||
msgstr "Error al guardar red"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:32
|
||||
msgid "Delete network"
|
||||
@ -274,7 +275,7 @@ msgstr "Eliminar red"
|
||||
|
||||
#: static/tmp_js/gui-d-connectivity.js:32
|
||||
msgid "Network deletion error"
|
||||
msgstr "Error de eliminación de la red"
|
||||
msgstr "Error al eliminar red"
|
||||
|
||||
#: static/tmp_js/gui-d-dashboard.js:40
|
||||
msgid "Staff member"
|
||||
@ -294,7 +295,7 @@ msgstr "Debe seleccionar una imagen"
|
||||
|
||||
#: static/tmp_js/gui-d-gallery.js:34
|
||||
msgid "Image is too big (max. upload size is 256Kb)"
|
||||
msgstr "La imagen es demasiado grande (el tamaño de carga máximo es 256Kb)"
|
||||
msgstr "La imagen es demasiado grande (el tamaño máximo es de 256Kb)"
|
||||
|
||||
#: static/tmp_js/gui-d-gallery.js:80
|
||||
msgid "Delete Image"
|
||||
@ -302,31 +303,31 @@ msgstr "Borrar imagen"
|
||||
|
||||
#: static/tmp_js/gui-d-gallery.js:80
|
||||
msgid "Image deletion error"
|
||||
msgstr "Error de borrado de imagen"
|
||||
msgstr "Error al borrar la imagen"
|
||||
|
||||
#: static/tmp_js/gui-d-osmanagers.js:17
|
||||
msgid "New OSManager"
|
||||
msgstr "Nuevo OSManager"
|
||||
msgstr "Nuevo OS Manager"
|
||||
|
||||
#: static/tmp_js/gui-d-osmanagers.js:17
|
||||
msgid "OSManager creation error"
|
||||
msgstr "Error de creación del OSManager"
|
||||
msgstr "Error al crear OS Manager"
|
||||
|
||||
#: static/tmp_js/gui-d-osmanagers.js:18
|
||||
msgid "Edit OSManager"
|
||||
msgstr "Editar OSManager"
|
||||
msgstr "Editar OS Manager"
|
||||
|
||||
#: static/tmp_js/gui-d-osmanagers.js:18
|
||||
msgid "OSManager saving error"
|
||||
msgstr "Error al guardar OSManager"
|
||||
msgstr "Error al guardar OS Manager"
|
||||
|
||||
#: static/tmp_js/gui-d-osmanagers.js:19
|
||||
msgid "Delete OSManager"
|
||||
msgstr "Eliminar OSManager"
|
||||
msgstr "Eliminar OS Manager"
|
||||
|
||||
#: static/tmp_js/gui-d-osmanagers.js:19
|
||||
msgid "OSManager deletion error"
|
||||
msgstr "Error en la eliminación del OSManager"
|
||||
msgstr "Error al eliminarl OS Manager"
|
||||
|
||||
#: static/tmp_js/gui-d-reports.js:21 static/tmp_js/gui-d-reports.js:34
|
||||
msgid "Generate report"
|
||||
@ -338,7 +339,7 @@ msgstr "Error al crear el informe"
|
||||
|
||||
#: static/tmp_js/gui-d-reports.js:52
|
||||
msgid "Error obtainint report description"
|
||||
msgstr "Descripción del informe de error obtainint"
|
||||
msgstr "Descripción del informe de error"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:69
|
||||
msgid "In Maintenance"
|
||||
@ -354,7 +355,7 @@ msgstr "Editar servicio"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:121
|
||||
msgid "Service creation error"
|
||||
msgstr "Error de creación de servicio"
|
||||
msgstr "Error al crear servicio"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:122
|
||||
msgid "New service"
|
||||
@ -378,15 +379,15 @@ msgstr "Mantenimiento"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:141
|
||||
msgid "Maintenance Mode"
|
||||
msgstr "En modo mantenimiento"
|
||||
msgstr "Modo de mantenimiento"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:141
|
||||
msgid "Enter Maintenance Mode?"
|
||||
msgstr "Entrar en modo mantenimiento."
|
||||
msgstr "¿Entrar en modo mantenimiento?"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:141
|
||||
msgid "Exit Maintenance Mode?"
|
||||
msgstr "Salir del modo mantenimiento."
|
||||
msgstr "Salir del modo mantenimiento"
|
||||
|
||||
#: static/tmp_js/gui-d-services.js:158
|
||||
msgid "Enter maintenance Mode"
|
||||
@ -420,123 +421,122 @@ msgstr "Eliminar proveedor de servicios"
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr "Error al eliminar el proveedor de servicios"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr "error"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr "Retirar elemento de la caché"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr "Error de eliminación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr "Agregar grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr "Debe proporcionar autenticador y grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr "Quitar grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr "Error en la desasignación del grupo"
|
||||
msgstr "Error al quitar grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr "Quitar servicio asignado"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr "Añadir transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr "Debe proporcionar un transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr "Quitar transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr "Error en la desasignación del transporte"
|
||||
msgstr "Error al quitar transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr "Publicar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr "Cancelar la publicación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr "Forzar cancelación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr "¿Lanzar nueva publicación?"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr "No se pudo crear la publicación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr "Contenido"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr "Nuevo Pool de Servicios"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr "error de creación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr "Publicar en creación"
|
||||
msgstr "Publicar en la creación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr "Si se selecciona, se iniciará la publicación inmediatamente después de la creación"
|
||||
msgstr ""
|
||||
"Si se selecciona, se iniciará la publicación inmediatamente después de la "
|
||||
"creación"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr "error al guardar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr "error al eliminar"
|
||||
|
||||
@ -546,7 +546,7 @@ msgstr "Caché"
|
||||
|
||||
#: static/tmp_js/gui-definition.js:12
|
||||
msgid "Cache has been flushed"
|
||||
msgstr "La caché ha sido vaciada"
|
||||
msgstr "La caché se ha vaciado"
|
||||
|
||||
#: static/tmp_js/gui-element.js:482
|
||||
msgid "Date"
|
||||
@ -674,7 +674,7 @@ msgstr "Por favor, introduzca un número válido."
|
||||
|
||||
#: static/tmp_js/gui.js:232
|
||||
msgid "Please enter only digits."
|
||||
msgstr "Por favor, introduzca sólo dígitos."
|
||||
msgstr "Por favor, introduzca sólo cifras."
|
||||
|
||||
#: static/tmp_js/gui.js:233
|
||||
msgid "Please enter a valid credit card number."
|
||||
@ -682,7 +682,7 @@ msgstr "Por favor, introduzca un número de tarjeta de crédito válida."
|
||||
|
||||
#: static/tmp_js/gui.js:234
|
||||
msgid "Please enter the same value again."
|
||||
msgstr "Por favor, introduzca el mismo valor de nuevo."
|
||||
msgstr "Por favor, introduzca el mismo valor otra vez."
|
||||
|
||||
#: static/tmp_js/gui.js:235
|
||||
msgid "Please enter no more than {0} characters."
|
||||
@ -694,7 +694,7 @@ msgstr "Por favor, introduzca al menos {0} caracteres."
|
||||
|
||||
#: static/tmp_js/gui.js:237
|
||||
msgid "Please enter a value between {0} and {1} characters long."
|
||||
msgstr "Por favor, introduzca un valor de una longitud entre {0} y {1} caracteres."
|
||||
msgstr "Por favor, introduzca un valor de entre {0} y {1} caracteres."
|
||||
|
||||
#: static/tmp_js/gui.js:238
|
||||
msgid "Please enter a value between {0} and {1}."
|
||||
@ -710,15 +710,15 @@ msgstr "Por favor, introduzca un valor mayor o igual a {0}."
|
||||
|
||||
#: static/tmp_js/gui.js:277
|
||||
msgid "Test passed successfully"
|
||||
msgstr "Test pasado con éxito"
|
||||
msgstr "Test superado con éxito"
|
||||
|
||||
#: static/tmp_js/gui.js:280
|
||||
msgid "Test failed:"
|
||||
msgstr "Ha fallado el test:"
|
||||
msgstr "El test ha fallado:"
|
||||
|
||||
#: static/tmp_js/gui.js:284
|
||||
msgid "Test error"
|
||||
msgstr "Error en la prueba"
|
||||
msgstr "Error en el test"
|
||||
|
||||
#: static/tmp_js/gui.js:315
|
||||
msgid "Edition successfully done"
|
||||
@ -734,7 +734,7 @@ msgstr "Creación realizada con éxito"
|
||||
|
||||
#: static/tmp_js/gui.js:366
|
||||
msgid "Are you sure do you want to delete "
|
||||
msgstr "¿Estás seguro que lo quieres eliminar?"
|
||||
msgstr "¿Estás seguro de que lo quieres eliminar?"
|
||||
|
||||
#: static/tmp_js/gui.js:374
|
||||
msgid "Sucess"
|
||||
@ -746,4 +746,4 @@ msgstr "Contactando con servicio..."
|
||||
|
||||
#: static/tmp_js/uds-client.js:186
|
||||
msgid "Error accessing service: "
|
||||
msgstr "Error de acceso a servicio: "
|
||||
msgstr "Error al acceder al servicio: "
|
||||
|
Binary file not shown.
@ -1,21 +1,22 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Adolfo Gómez <dkmaster@dkmon.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:46+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:15+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/projects/p/openuds/language/eu/)\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/projects/p/openuds/language/"
|
||||
"eu/)\n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: eu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: REST/methods/actor.py:94 REST/methods/client.py:88
|
||||
@ -42,7 +43,7 @@ msgstr ""
|
||||
#: REST/methods/authenticators.py:59 REST/methods/images.py:60
|
||||
#: REST/methods/networks.py:60 REST/methods/osmanagers.py:57
|
||||
#: REST/methods/providers.py:64 REST/methods/reports.py:58
|
||||
#: REST/methods/services_pools.py:71 REST/methods/transports.py:56
|
||||
#: REST/methods/services_pools.py:72 REST/methods/transports.py:56
|
||||
#: REST/methods/user_services.py:218 REST/methods/user_services.py:253
|
||||
#: REST/methods/users_groups.py:95 REST/model.py:119
|
||||
#: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32
|
||||
@ -51,7 +52,7 @@ msgstr ""
|
||||
|
||||
#: REST/methods/authenticators.py:60 REST/methods/osmanagers.py:58
|
||||
#: REST/methods/providers.py:65 REST/methods/services.py:179
|
||||
#: REST/methods/services_pools.py:75 REST/methods/transports.py:57
|
||||
#: REST/methods/services_pools.py:76 REST/methods/transports.py:57
|
||||
#: REST/methods/user_services.py:255 REST/methods/users_groups.py:96
|
||||
#: REST/methods/users_groups.py:209 REST/model.py:126
|
||||
#: templates/uds/admin/tmpl/group.html:49
|
||||
@ -68,8 +69,8 @@ msgstr ""
|
||||
msgid "Tag"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/authenticators.py:63
|
||||
#: templates/uds/admin/tmpl/authenticators.html:30
|
||||
#: REST/methods/authenticators.py:63 reports/stats/login.py:107
|
||||
#: reports/stats/login.py:372 templates/uds/admin/tmpl/authenticators.html:30
|
||||
#: templates/uds/admin/tmpl/dashboard.html:34
|
||||
#: templates/uds/admin/tmpl/permissions.html:7
|
||||
msgid "Users"
|
||||
@ -209,104 +210,104 @@ msgstr ""
|
||||
msgid "User services"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:69
|
||||
#: REST/methods/services_pools.py:70
|
||||
#: templates/uds/admin/snippets/navbar.html:25
|
||||
#: templates/uds/admin/tmpl/services_pool.html:4
|
||||
#: templates/uds/admin/tmpl/services_pool.html:7
|
||||
msgid "Service Pools"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:72
|
||||
#: REST/methods/services_pools.py:73
|
||||
msgid "Parent Service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:73 REST/methods/user_services.py:118
|
||||
#: REST/methods/services_pools.py:74 REST/methods/user_services.py:118
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:74
|
||||
#: REST/methods/services_pools.py:75
|
||||
msgid "Shows transports"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:113
|
||||
#: REST/methods/services_pools.py:114
|
||||
msgid "Create at least one OS Manager before creating a new service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:115
|
||||
#: REST/methods/services_pools.py:116
|
||||
msgid "Create at least a service before creating a new service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:122
|
||||
#: REST/methods/services_pools.py:123
|
||||
msgid "Base service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:123
|
||||
#: REST/methods/services_pools.py:124
|
||||
msgid "Service used as base of this service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:130
|
||||
#: REST/methods/services_pools.py:131
|
||||
msgid "OS Manager"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:131
|
||||
#: REST/methods/services_pools.py:132
|
||||
msgid "OS Manager used as base of this service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:138
|
||||
#: REST/methods/services_pools.py:139
|
||||
msgid "Associated Image"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:139
|
||||
#: REST/methods/services_pools.py:140
|
||||
msgid "Image assocciated with this service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:146
|
||||
#: REST/methods/services_pools.py:147
|
||||
msgid "Initial available services"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:147
|
||||
#: REST/methods/services_pools.py:148
|
||||
msgid "Services created initially for this service pool"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:154
|
||||
#: REST/methods/services_pools.py:155
|
||||
msgid "Services to keep in cache"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:155
|
||||
#: REST/methods/services_pools.py:156
|
||||
msgid "Services kept in cache for improved user service assignation"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:162
|
||||
#: REST/methods/services_pools.py:163
|
||||
msgid "Services to keep in L2 cache"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:163
|
||||
#: REST/methods/services_pools.py:164
|
||||
msgid "Services kept in cache of level2 for improved service generation"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:170
|
||||
#: REST/methods/services_pools.py:171
|
||||
msgid "Maximum number of services to provide"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:171
|
||||
#: REST/methods/services_pools.py:172
|
||||
msgid ""
|
||||
"Maximum number of service (assigned and L1 cache) that can be created for "
|
||||
"this service"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:177
|
||||
#: REST/methods/services_pools.py:178
|
||||
msgid "Show transports"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:178
|
||||
#: REST/methods/services_pools.py:179
|
||||
msgid "If active, alternative transports for user will be shown"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:193
|
||||
#: REST/methods/services_pools.py:194
|
||||
msgid "Base service does not exist anymore"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/services_pools.py:212
|
||||
#: REST/methods/services_pools.py:213
|
||||
msgid "This service requires an OS Manager"
|
||||
msgstr ""
|
||||
|
||||
@ -349,7 +350,7 @@ msgid "Creation date"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:114 REST/methods/user_services.py:180
|
||||
#: REST/methods/user_services.py:319
|
||||
#: REST/methods/user_services.py:321 REST/methods/user_services.py:350
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
|
||||
@ -395,7 +396,8 @@ msgid "Cached services"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:184 REST/methods/user_services.py:220
|
||||
#: REST/methods/user_services.py:321 templates/uds/admin/tmpl/group.html:54
|
||||
#: REST/methods/user_services.py:323 REST/methods/user_services.py:352
|
||||
#: templates/uds/admin/tmpl/group.html:54
|
||||
#: templates/uds/admin/tmpl/user.html:45
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
@ -417,19 +419,23 @@ msgstr ""
|
||||
msgid "Assigned transports"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:315
|
||||
#: REST/methods/user_services.py:317
|
||||
#: templates/uds/admin/tmpl/services_pool.html:34
|
||||
msgid "Publications"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:320
|
||||
#: REST/methods/user_services.py:322 REST/methods/user_services.py:351
|
||||
msgid "Publish date"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:322
|
||||
#: REST/methods/user_services.py:324 templates/uds/admin/tmpl/publish.html:5
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/user_services.py:346
|
||||
msgid "Changelog"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/users_groups.py:88
|
||||
#, python-brace-format
|
||||
msgid "Users of {0}"
|
||||
@ -460,7 +466,8 @@ msgstr "Erabiltzaile izena"
|
||||
msgid "state"
|
||||
msgstr ""
|
||||
|
||||
#: REST/methods/users_groups.py:98
|
||||
#: REST/methods/users_groups.py:98 reports/lists/users.py:86
|
||||
#: reports/lists/users.py:161
|
||||
msgid "Last access"
|
||||
msgstr ""
|
||||
|
||||
@ -531,18 +538,18 @@ msgid "requested a template that do not exist"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/reporting/usage.py:84 admin/views/reporting/users.py:87
|
||||
#: reports/lists/users.py:85 reports/stats/login.py:96
|
||||
#: core/reports/tools/report.py:69 reports/lists/users.py:87
|
||||
#, python-format
|
||||
msgid "Page %(page_number)d of %(page_count)d"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/reporting/usage.py:93 admin/views/reporting/users.py:97
|
||||
#: reports/lists/users.py:95 reports/stats/login.py:106
|
||||
#: core/reports/tools/report.py:79 reports/lists/users.py:97
|
||||
#, python-format
|
||||
msgid "Printed in %(now:%Y, %b %d)s at %(now:%H:%M)s"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/reporting/users.py:112 reports/lists/users.py:135
|
||||
#: admin/views/reporting/users.py:112 reports/lists/users.py:137
|
||||
msgid "Users List for {}"
|
||||
msgstr ""
|
||||
|
||||
@ -586,8 +593,8 @@ msgstr ""
|
||||
|
||||
#: auths/ActiveDirectory_enterprise/Authenticator.py:39
|
||||
msgid ""
|
||||
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form"
|
||||
" for this)"
|
||||
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form "
|
||||
"for this)"
|
||||
msgstr ""
|
||||
|
||||
#: auths/ActiveDirectory_enterprise/Authenticator.py:40
|
||||
@ -776,8 +783,8 @@ msgstr ""
|
||||
|
||||
#: auths/IP/Authenticator.py:52
|
||||
msgid ""
|
||||
"If checked, requests via proxy will get FORWARDED ip address (take care with"
|
||||
" this bein checked, can take internal IP addresses from internet)"
|
||||
"If checked, requests via proxy will get FORWARDED ip address (take care with "
|
||||
"this bein checked, can take internal IP addresses from internet)"
|
||||
msgstr ""
|
||||
|
||||
#: auths/IP/Authenticator.py:54 auths/IP/Authenticator.py:56
|
||||
@ -861,8 +868,7 @@ msgid "User Name Attr"
|
||||
msgstr ""
|
||||
|
||||
#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66
|
||||
msgid ""
|
||||
"Attributes that contains the user name (list of comma separated values)"
|
||||
msgid "Attributes that contains the user name (list of comma separated values)"
|
||||
msgstr ""
|
||||
|
||||
#: auths/RegexLdap/Authenticator.py:66
|
||||
@ -937,8 +943,7 @@ msgid "Entity ID"
|
||||
msgstr ""
|
||||
|
||||
#: auths/SAML_enterprise/SAML.py:129
|
||||
msgid ""
|
||||
"ID of the SP. If left blank, this will be autogenerated from server URL"
|
||||
msgid "ID of the SP. If left blank, this will be autogenerated from server URL"
|
||||
msgstr ""
|
||||
|
||||
#: auths/SAML_enterprise/SAML.py:131
|
||||
@ -967,8 +972,8 @@ msgstr ""
|
||||
|
||||
#: auths/SAML_enterprise/SAML.py:161
|
||||
msgid ""
|
||||
"Server certificate should be a valid PEM (PEM certificates starts with "
|
||||
"-----BEGIN CERTIFICATE-----)"
|
||||
"Server certificate should be a valid PEM (PEM certificates starts with -----"
|
||||
"BEGIN CERTIFICATE-----)"
|
||||
msgstr ""
|
||||
|
||||
#: auths/SAML_enterprise/SAML.py:166
|
||||
@ -1125,15 +1130,15 @@ msgstr ""
|
||||
msgid "Service is in maintenance mode and new publications are not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: core/managers/PublicationManager.py:236
|
||||
#: core/managers/PublicationManager.py:238
|
||||
msgid "Can't cancel non running publication"
|
||||
msgstr ""
|
||||
|
||||
#: core/managers/PublicationManager.py:258
|
||||
#: core/managers/PublicationManager.py:260
|
||||
msgid "Can't unpublish non usable publication"
|
||||
msgstr ""
|
||||
|
||||
#: core/managers/PublicationManager.py:261
|
||||
#: core/managers/PublicationManager.py:263
|
||||
msgid "Can't unpublish publications with services in process"
|
||||
msgstr ""
|
||||
|
||||
@ -1202,6 +1207,10 @@ msgstr ""
|
||||
msgid "Base report"
|
||||
msgstr ""
|
||||
|
||||
#: core/reports/tools/report.py:78
|
||||
msgid "Generated by UDS"
|
||||
msgstr ""
|
||||
|
||||
#: core/services/BaseService.py:89 core/services/BaseService.py:101
|
||||
msgid "Base Service"
|
||||
msgstr ""
|
||||
@ -1328,8 +1337,8 @@ msgstr ""
|
||||
|
||||
#: core/util/validators.py:114
|
||||
msgid ""
|
||||
"Invalid mac range. Mac range must be in format XX:XX:XX:XX:XX:XX-"
|
||||
"XX:XX:XX:XX:XX:XX"
|
||||
"Invalid mac range. Mac range must be in format XX:XX:XX:XX:XX:XX-XX:XX:XX:XX:"
|
||||
"XX:XX"
|
||||
msgstr ""
|
||||
|
||||
#: dispatchers/wyse_enterprise/views.py:112
|
||||
@ -1464,8 +1473,7 @@ msgstr ""
|
||||
|
||||
#: osmanagers/LinuxOsManager/__init__.py:49
|
||||
msgid ""
|
||||
"UDS Actor for Debian, Ubuntu, ... Linux machines <b>(Requires python "
|
||||
"2.7)</b>"
|
||||
"UDS Actor for Debian, Ubuntu, ... Linux machines <b>(Requires python 2.7)</b>"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/LinuxOsManager/__init__.py:54
|
||||
@ -1475,18 +1483,31 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/LinuxOsManager/__init__.py:59
|
||||
msgid ""
|
||||
"UDS Actor for openSUSE, ... Linux machines <b>(Requires python 2.7)</b>"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:29
|
||||
msgid "RDS OS Manager"
|
||||
msgid "UDS Actor for openSUSE, ... Linux machines <b>(Requires python 2.7)</b>"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:31
|
||||
msgid "RDS OS Manager"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:33
|
||||
msgid "Os Manager to control RDS provided services"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:40
|
||||
msgid "Max. session time"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:44
|
||||
msgid ""
|
||||
"Maximum duration in hours for a session (0 means no limit). After this "
|
||||
"period, session will be released."
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/RDSOsManager_enterprise/__init__.py:49
|
||||
msgid "RDS UDS Actor (for remote apps on Windows Server 2012)"
|
||||
msgstr ""
|
||||
|
||||
#: osmanagers/WindowsOsManager/WinDomainOsManager.py:28
|
||||
msgid "Windows Domain OS Manager"
|
||||
msgstr ""
|
||||
@ -1631,64 +1652,103 @@ msgstr ""
|
||||
msgid "UDS Actor for windows machines"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:110 templates/uds/admin/tmpl/permissions_add.html:5
|
||||
#: reports/lists/base.py:42
|
||||
msgid "Lists"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:84 reports/lists/users.py:161
|
||||
#, fuzzy
|
||||
#| msgid "User"
|
||||
msgid "User ID"
|
||||
msgstr "erabiltzaile"
|
||||
|
||||
#: reports/lists/users.py:85 reports/lists/users.py:161
|
||||
msgid "Real Name"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:112 templates/uds/admin/tmpl/permissions_add.html:5
|
||||
#: templates/uds/admin/tmpl/pool_add_group.html:5 web/forms/LoginForm.py:77
|
||||
msgid "Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:112
|
||||
#: reports/lists/users.py:114
|
||||
msgid "Authenticator from where to list users"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:116
|
||||
#: reports/lists/users.py:118
|
||||
msgid "Users list"
|
||||
msgstr ""
|
||||
|
||||
#: reports/lists/users.py:117
|
||||
#: reports/lists/users.py:119
|
||||
msgid "List users of platform"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:135
|
||||
#: reports/stats/base.py:46
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:77 reports/stats/login.py:103
|
||||
msgid "Users access by date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:83
|
||||
msgid "Users access by day of week"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:89
|
||||
msgid "Users access by hour"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:105 reports/stats/login.py:372
|
||||
msgid "Date range"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:125 reports/stats/login.py:357
|
||||
msgid "Users access report by date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:136
|
||||
#: reports/stats/login.py:126 reports/stats/login.py:358
|
||||
msgid "Report of user access to platform by date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:142
|
||||
#: reports/stats/login.py:132
|
||||
msgid "Starting date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:143
|
||||
#: reports/stats/login.py:133
|
||||
msgid "starting date for report"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:150
|
||||
#: reports/stats/login.py:140
|
||||
msgid "Finish date"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:151
|
||||
#: reports/stats/login.py:141
|
||||
msgid "finish date for report"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:158
|
||||
#: reports/stats/login.py:148
|
||||
msgid "Number of points"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:162
|
||||
#: reports/stats/login.py:152
|
||||
msgid "Number of sampling points used in charts"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/login.py:258
|
||||
msgid "Users usage of UDS"
|
||||
#: reports/stats/login.py:230 reports/stats/login.py:273
|
||||
#: reports/stats/login.py:287 reports/stats/login.py:312
|
||||
msgid "Users access to UDS"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/usage.py:44
|
||||
msgid "Usage stats"
|
||||
#: reports/stats/login.py:345
|
||||
msgid "User access to UDS"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/usage.py:45
|
||||
msgid "Usage stats"
|
||||
msgstr ""
|
||||
|
||||
#: reports/stats/usage.py:46
|
||||
msgid "Statistics of platform use"
|
||||
msgstr ""
|
||||
|
||||
@ -1698,8 +1758,7 @@ msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:55
|
||||
#: services/HyperV_enterprise/HyperVLinkedService.py:59
|
||||
msgid ""
|
||||
"Hyper Services based on templates and differential disks (experimental)"
|
||||
msgid "Hyper Services based on templates and differential disks (experimental)"
|
||||
msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:72
|
||||
@ -1745,8 +1804,7 @@ msgstr ""
|
||||
#: services/HyperV_enterprise/HyperVLinkedService.py:102
|
||||
#: services/Vmware_enterprise/VCLinkedCloneService.py:62
|
||||
msgid ""
|
||||
"If more than 1 interface is found in machine, use one on this network as "
|
||||
"main"
|
||||
"If more than 1 interface is found in machine, use one on this network as main"
|
||||
msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:98
|
||||
@ -1871,13 +1929,13 @@ msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterProvider.py:299
|
||||
#: services/HyperV_enterprise/HyperVProvider.py:255
|
||||
#: services/OVirt/OVirtProvider.py:414 services/Xen/XenProvider.py:392
|
||||
#: services/Xen/XenProvider.py:392
|
||||
msgid "Connection test successful"
|
||||
msgstr ""
|
||||
|
||||
#: services/HyperV_enterprise/HyperVClusterProvider.py:300
|
||||
#: services/HyperV_enterprise/HyperVProvider.py:256
|
||||
#: services/OVirt/OVirtProvider.py:415
|
||||
#: services/OVirt/OVirtProvider.py:419
|
||||
#: services/Vmware_enterprise/ServiceProviderVC.py:123
|
||||
msgid "Connection failed. Check connection params"
|
||||
msgstr ""
|
||||
@ -2029,8 +2087,7 @@ msgid "Default password for users in list mapping"
|
||||
msgstr ""
|
||||
|
||||
#: services/RDS_enterprise/RDSProvider.py:59
|
||||
msgid ""
|
||||
"Error: User {} on host {} is being used and cannot be removed right now"
|
||||
msgid "Error: User {} on host {} is being used and cannot be removed right now"
|
||||
msgstr ""
|
||||
|
||||
#: services/RDS_enterprise/RDSProvider.py:89
|
||||
@ -2590,6 +2647,14 @@ msgstr ""
|
||||
msgid "Transport"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/admin/tmpl/publish.html:5
|
||||
msgid "reason of publication"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/admin/tmpl/publish.html:7
|
||||
msgid "Reason for publication (can be empty)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/admin/tmpl/request_failed.html:4
|
||||
msgid "Error on request"
|
||||
msgstr ""
|
||||
@ -2924,8 +2989,8 @@ msgstr ""
|
||||
#: templates/uds/html5/templates/base.html:60
|
||||
msgid ""
|
||||
"Your browser is supported only partially. Please, upgrade it to a modern "
|
||||
"html5 browser like Firefox, Chrome, Opera, ... (IE must be 10 or better, and"
|
||||
" must also disable \"Compatibility View Mode\" for this site)"
|
||||
"html5 browser like Firefox, Chrome, Opera, ... (IE must be 10 or better, and "
|
||||
"must also disable \"Compatibility View Mode\" for this site)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/uds/html5/templates/base.html:108
|
||||
@ -3070,8 +3135,8 @@ msgstr ""
|
||||
#: transports/RGS_enterprise/RGSTransport.py:47
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:55
|
||||
msgid ""
|
||||
"If not empty, this domain will be always used as credential (used as "
|
||||
"DOMAIN\\user)"
|
||||
"If not empty, this domain will be always used as credential (used as DOMAIN"
|
||||
"\\user)"
|
||||
msgstr ""
|
||||
|
||||
#: transports/HTML5RDP/HTML5RDP.py:74
|
||||
@ -3155,14 +3220,14 @@ msgid "NX Transport for tunneled connection"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:69 transports/RDP/TRDPTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:67
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:49
|
||||
#: transports/SPICE/TSPICETransport.py:65
|
||||
msgid "Tunnel server"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:69 transports/RDP/TRDPTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:69
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:67
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:49
|
||||
#: transports/SPICE/TSPICETransport.py:65
|
||||
msgid ""
|
||||
@ -3171,21 +3236,21 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:70 transports/RDP/TRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:68
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:50
|
||||
msgid "Tunnel host check"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:70 transports/RDP/TRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:70
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:68
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:50
|
||||
msgid ""
|
||||
"If not empty, this server will be used to check if service is running before"
|
||||
" assigning it to user. (use HOST:PORT format)"
|
||||
"If not empty, this server will be used to check if service is running before "
|
||||
"assigning it to user. (use HOST:PORT format)"
|
||||
msgstr ""
|
||||
|
||||
#: transports/NX/TSNXTransport.py:113 transports/RDP/TRDPTransport.py:88
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:83
|
||||
#: transports/RDS_enterprise/TRDSTransport.py:81
|
||||
#: transports/RGS_enterprise/TRGSTransport.py:76
|
||||
#: transports/SPICE/TSPICETransport.py:72
|
||||
msgid "Must use HOST:PORT in Tunnel Server Field"
|
||||
@ -3236,36 +3301,30 @@ msgid "If checked, this transport will allow the use of user serial ports"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:73
|
||||
msgid "Show wallpaper"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:70
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:73
|
||||
msgid ""
|
||||
"If checked, the wallpaper and themes will be shown on machine (better user "
|
||||
"experience, more bandwidth)"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:71
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:74
|
||||
msgid "Multiple monitors"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:71
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:74
|
||||
msgid ""
|
||||
"If checked, all client monitors will be used for displaying (only works on "
|
||||
"windows clients)"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:72
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:75
|
||||
msgid "Allow Aero"
|
||||
msgstr ""
|
||||
|
||||
#: transports/RDP/BaseRDPTransport.py:72
|
||||
#: transports/RDS_enterprise/BaseRDSTransport.py:75
|
||||
msgid "If checked, desktop composition will be allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -3407,8 +3466,8 @@ msgstr ""
|
||||
|
||||
#: transports/SPICE/BaseSPICETransport.py:84
|
||||
msgid ""
|
||||
"Server certificate (public), can be found on your ovirt engine, probably at "
|
||||
"/etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)."
|
||||
"Server certificate (public), can be found on your ovirt engine, probably at /"
|
||||
"etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)."
|
||||
msgstr ""
|
||||
|
||||
#: transports/SPICE/SPICETransport.py:52
|
||||
|
Binary file not shown.
@ -1,21 +1,22 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Adolfo Gómez <dkmaster@dkmon.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:46+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:16+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/projects/p/openuds/language/eu/)\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/projects/p/openuds/language/"
|
||||
"eu/)\n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: eu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/adm/js/dataTables.bootstrap.js:6 static/tmp_js/gui.js:19
|
||||
@ -415,123 +416,120 @@ msgstr ""
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr ""
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,21 +1,22 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Adolfo Gómez <dkmaster at dkmon dot com>, 2012
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:02+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:16+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/openuds/language/fr/)\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/openuds/language/"
|
||||
"fr/)\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: static/adm/js/dataTables.bootstrap.js:6 static/tmp_js/gui.js:19
|
||||
@ -289,7 +290,8 @@ msgstr "Vous devez sélectionner une image"
|
||||
|
||||
#: static/tmp_js/gui-d-gallery.js:34
|
||||
msgid "Image is too big (max. upload size is 256Kb)"
|
||||
msgstr "L'image est trop grande (taille de téléchargement de max. est de 256Kb)"
|
||||
msgstr ""
|
||||
"L'image est trop grande (taille de téléchargement de max. est de 256Kb)"
|
||||
|
||||
#: static/tmp_js/gui-d-gallery.js:80
|
||||
msgid "Delete Image"
|
||||
@ -415,123 +417,120 @@ msgstr "Supprimer le fournisseur de services"
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr "Erreur de suppression de fournisseur de services"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr "erreur"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr "Remove, élément de Cache"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr "Erreur de suppression"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr "Ajouter groupe"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr "Vous devez fournir authentificateur et groupe"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr "Supprimer le groupe"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr "Erreur de suppression de groupe"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr "Supprimer le service affecté"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr "Ajouter transport"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr "Vous devez fournir un transport"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr "Supprimer le transport"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr "Erreur de suppression de transport"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr "Publier"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr "Annuler la publication"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr "Force Cancel"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr "Lancement nouvelle publication ?"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr "Échec de création de publication"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr "Retenu"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr "Nouvelle piscine service"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr "erreur de création"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr "Publier sur création"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr "Si sélectionné, lancera la publication immédiatement après création"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr "Edit"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr "erreur de sauvegarde"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr "erreur de suppression"
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,20 +1,21 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:02+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:16+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/projects/p/openuds/language/it/)\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/projects/p/openuds/language/"
|
||||
"it/)\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/adm/js/dataTables.bootstrap.js:6 static/tmp_js/gui.js:19
|
||||
@ -414,123 +415,120 @@ msgstr "Eliminare il provider di servizi"
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr "Errore di omissione del Provider di servizi"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr "errore"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr "Rimuovere l'elemento della Cache"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr "Errore di omissione"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr "Aggiungi gruppo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr "È necessario fornire autenticatore e gruppo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr "Rimuovere il gruppo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr "Errore di rimozione di gruppo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr "Sì"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr "Rimuovere il servizio assegnato"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr "Aggiungi trasporti"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr "È necessario fornire un trasporto"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr "Rimuovere il trasporto"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr "Trasporto rimozione errore"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr "Pubblicare"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr "Annullare la pubblicazione"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr "Forza Annulla"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr "Lancio nuova pubblicazione?"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr "Fallita creazione pubblicazione"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr "Trattenuto"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr "Nuovo servizio piscina"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr "errore di creazione"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr "Pubblicare sulla creazione"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr "Se selezionata, avvia la pubblicazione inmediatly dopo la creazione"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr "errore di risparmio"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr "Eliminare"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr "errore di omissione"
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,20 +1,21 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenUDS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-05 12:34+0200\n"
|
||||
"PO-Revision-Date: 2015-06-05 10:02+0000\n"
|
||||
"POT-Creation-Date: 2015-06-21 21:22+0200\n"
|
||||
"PO-Revision-Date: 2015-06-21 19:16+0000\n"
|
||||
"Last-Translator: Adolfo Gómez <dkmaster@dkmon.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/openuds/language/pt/)\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/openuds/"
|
||||
"language/pt/)\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/adm/js/dataTables.bootstrap.js:6 static/tmp_js/gui.js:19
|
||||
@ -414,123 +415,120 @@ msgstr "Exclua o provedor de serviços"
|
||||
msgid "Services Provider deletion error"
|
||||
msgstr "Erro de exclusão do provedor de serviços"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:133
|
||||
#: static/tmp_js/gui-d-servicespools.js:134
|
||||
msgid "error"
|
||||
msgstr "erro"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
msgid "Remove Cache element"
|
||||
msgstr "Remover o elemento de Cache"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:165
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:166
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Deletion error"
|
||||
msgstr "Erro de exclusão"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:186
|
||||
#: static/tmp_js/gui-d-servicespools.js:187
|
||||
msgid "Add group"
|
||||
msgstr "Adicionar grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:209
|
||||
#: static/tmp_js/gui-d-servicespools.js:210
|
||||
msgid "You must provide authenticator and group"
|
||||
msgstr "Você deve fornecer o autenticador e grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Remove group"
|
||||
msgstr "Remover grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:223
|
||||
#: static/tmp_js/gui-d-servicespools.js:224
|
||||
msgid "Group removal error"
|
||||
msgstr "Erro de remoção do grupo"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:247
|
||||
#: static/tmp_js/gui-d-servicespools.js:248
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:249
|
||||
#: static/tmp_js/gui-d-servicespools.js:250
|
||||
msgid "No"
|
||||
msgstr "Não"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:265
|
||||
#: static/tmp_js/gui-d-servicespools.js:266
|
||||
msgid "Remove Assigned service"
|
||||
msgstr "Remover o serviço atribuído"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:288
|
||||
#: static/tmp_js/gui-d-servicespools.js:289
|
||||
msgid "Add transport"
|
||||
msgstr "Adicionar transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:295
|
||||
#: static/tmp_js/gui-d-servicespools.js:296
|
||||
msgid "You must provide a transport"
|
||||
msgstr "Você deve fornecer um transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Remove transport"
|
||||
msgstr "Remover o transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:309
|
||||
#: static/tmp_js/gui-d-servicespools.js:310
|
||||
msgid "Transport removal error"
|
||||
msgstr "Erro de remoção de transporte"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:333
|
||||
#: static/tmp_js/gui-d-servicespools.js:352
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:355
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
#: static/tmp_js/gui-d-servicespools.js:368
|
||||
#: static/tmp_js/gui-d-servicespools.js:369
|
||||
msgid "Publish"
|
||||
msgstr "Publicar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:336
|
||||
#: static/tmp_js/gui-d-servicespools.js:339
|
||||
msgid "Cancel publication"
|
||||
msgstr "Cancelar a publicação"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:350
|
||||
#: static/tmp_js/gui-d-servicespools.js:353
|
||||
msgid "Force Cancel"
|
||||
msgstr "Força cancelar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:362
|
||||
msgid "Launch new publication?"
|
||||
msgstr "Lançamento nova publicação?"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:366
|
||||
#: static/tmp_js/gui-d-servicespools.js:379
|
||||
msgid "Failed creating publication"
|
||||
msgstr "Não conseguiu criar publicação"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:390
|
||||
#: static/tmp_js/gui-d-servicespools.js:415
|
||||
msgid "Restrained"
|
||||
msgstr "Contido"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "New service pool"
|
||||
msgstr "Novo pool de serviço"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:399
|
||||
#: static/tmp_js/gui-d-servicespools.js:424
|
||||
msgid "creation error"
|
||||
msgstr "erro de criação"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:408
|
||||
#: static/tmp_js/gui-d-servicespools.js:433
|
||||
msgid "Publish on creation"
|
||||
msgstr "Publicar na criação"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:409
|
||||
#: static/tmp_js/gui-d-servicespools.js:434
|
||||
msgid "If selected, will initiate the publication inmediatly after creation"
|
||||
msgstr "Se selecionado, irá iniciar a publicação imediatamente após a criação"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421 static/tmp_js/gui.js:40
|
||||
#: static/tmp_js/gui-d-servicespools.js:446 static/tmp_js/gui.js:40
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:421
|
||||
#: static/tmp_js/gui-d-servicespools.js:446
|
||||
msgid "saving error"
|
||||
msgstr "salvando o erro"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui-d-servicespools.js:447 static/tmp_js/gui.js:44
|
||||
#: static/tmp_js/gui.js:368
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: static/tmp_js/gui-d-servicespools.js:422
|
||||
#: static/tmp_js/gui-d-servicespools.js:447
|
||||
msgid "deletion error"
|
||||
msgstr "erro de exclusão"
|
||||
|
||||
|
@ -39,6 +39,13 @@ The registration of modules is done locating subclases of :py:class:`uds.core.au
|
||||
|
||||
.. moduleauthor:: Adolfo Gómez, dkmaster at dkmon dot com
|
||||
'''
|
||||
from __future__ import unicode_literals
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
__updated__ = '2015-06-21'
|
||||
|
||||
|
||||
availableReports = []
|
||||
|
||||
@ -55,18 +62,18 @@ def __init__():
|
||||
def addReportCls(cls):
|
||||
availableReports.append(cls)
|
||||
|
||||
def recursiveAdd(p):
|
||||
if p.generate != reports.Report.generate:
|
||||
addReportCls(p)
|
||||
|
||||
for c in p.__subclasses__():
|
||||
recursiveAdd(c)
|
||||
|
||||
# Dinamycally import children of this package. The __init__.py files must import classes
|
||||
pkgpath = os.path.dirname(sys.modules[__name__].__file__)
|
||||
for _, name, _ in pkgutil.iter_modules([pkgpath]):
|
||||
__import__(name, globals(), locals(), [])
|
||||
|
||||
p = reports.Report
|
||||
for cls in p.__subclasses__():
|
||||
clsSubCls = cls.__subclasses__()
|
||||
if len(clsSubCls) == 0:
|
||||
addReportCls(cls)
|
||||
else:
|
||||
for l2 in clsSubCls:
|
||||
addReportCls(l2)
|
||||
recursiveAdd(reports.Report)
|
||||
|
||||
__init__()
|
||||
|
@ -31,4 +31,4 @@
|
||||
@author: Adolfo Gómez, dkmaster at dkmon dot com
|
||||
'''
|
||||
|
||||
from .users import ListReportUsers
|
||||
from .users import ListReportUsers, ListReportsUsersCSV
|
||||
|
@ -33,10 +33,10 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from uds.core import reports
|
||||
from django.utils.translation import ugettext_noop as _
|
||||
|
||||
|
||||
__updated__ = '2015-04-28'
|
||||
__updated__ = '2015-06-21'
|
||||
|
||||
|
||||
class ListReport(reports.Report):
|
||||
group = 'Lists' # So we can make submenus with reports
|
||||
group = _('Lists') # So we can make submenus with reports
|
||||
|
@ -32,26 +32,28 @@
|
||||
'''
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext, ugettext_noop as _
|
||||
from django.utils.translation import ugettext, ugettext_lazy as _
|
||||
from uds.core.ui.UserInterface import gui
|
||||
from uds.core.reports import stock
|
||||
from uds.models import Authenticator
|
||||
|
||||
import StringIO
|
||||
import csv
|
||||
|
||||
from .base import ListReport
|
||||
|
||||
from uds.core.util import tools
|
||||
from geraldo.generators.pdf import PDFGenerator
|
||||
from geraldo import Report, landscape, ReportBand, ObjectValue, SystemField, BAND_WIDTH, Label, Image
|
||||
from reportlab.lib.pagesizes import A4
|
||||
from reportlab.lib.units import cm
|
||||
from reportlab.lib.enums import TA_RIGHT, TA_CENTER
|
||||
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
__updated__ = '2015-05-03'
|
||||
__updated__ = '2015-06-21'
|
||||
|
||||
|
||||
class UsersReport(Report):
|
||||
@ -68,9 +70,9 @@ class UsersReport(Report):
|
||||
class band_detail(ReportBand):
|
||||
height = 0.5 * cm
|
||||
elements = (
|
||||
ObjectValue(attribute_name='name', left=0.5 * cm),
|
||||
ObjectValue(attribute_name='real_name', left=3 * cm),
|
||||
ObjectValue(attribute_name='last_access', left=7 * cm),
|
||||
ObjectValue(attribute_name='name', left=0.5 * cm, style={'fontName': 'Helvetica', 'fontSize': 8}),
|
||||
ObjectValue(attribute_name='real_name', left=6 * cm, style={'fontName': 'Helvetica', 'fontSize': 8}),
|
||||
ObjectValue(attribute_name='last_access', left=15 * cm, style={'fontName': 'Helvetica', 'fontSize': 8}),
|
||||
)
|
||||
|
||||
class band_page_header(ReportBand):
|
||||
@ -79,9 +81,9 @@ class UsersReport(Report):
|
||||
SystemField(expression='%(report_title)s', top=0.5 * cm, left=0, width=BAND_WIDTH,
|
||||
style={'fontName': 'Helvetica-Bold', 'fontSize': 14, 'alignment': TA_CENTER}),
|
||||
|
||||
Label(text="User ID", top=1.5 * cm, left=0.5 * cm),
|
||||
Label(text="Real Name", top=1.5 * cm, left=3 * cm),
|
||||
Label(text="Last access", top=1.5 * cm, left=7 * cm),
|
||||
Label(text=_('User ID'), top=1.5 * cm, left=0.5 * cm),
|
||||
Label(text=_('Real Name'), top=1.5 * cm, left=6 * cm),
|
||||
Label(text=_('Last access'), top=1.5 * cm, left=15 * cm),
|
||||
SystemField(expression=_('Page %(page_number)d of %(page_count)d'), top=0.1 * cm,
|
||||
width=BAND_WIDTH, style={'alignment': TA_RIGHT}),
|
||||
Image(filename=stock.getStockImagePath(stock.LOGO), left=0.1 * cm, top=0.0 * cm, width=2 * cm, height=2 * cm),
|
||||
@ -135,3 +137,33 @@ class ListReportUsers(ListReport):
|
||||
report.title = _('Users List for {}').format(auth.name)
|
||||
report.generate_by(PDFGenerator, filename=output)
|
||||
return output.getvalue()
|
||||
|
||||
|
||||
class ListReportsUsersCSV(ListReportUsers):
|
||||
filename = 'users.csv'
|
||||
mime_type = 'text/csv'
|
||||
encoded = False
|
||||
|
||||
uuid = '5da93a76-1849-11e5-ac1a-10feed05884b'
|
||||
|
||||
authenticator = ListReportUsers.authenticator
|
||||
|
||||
def initialize(self, values):
|
||||
if values:
|
||||
auth = Authenticator.objects.get(uuid=self.authenticator.value)
|
||||
self.filename = auth.name + '.csv'
|
||||
|
||||
def generate(self):
|
||||
output = StringIO.StringIO()
|
||||
writer = csv.writer(output)
|
||||
auth = Authenticator.objects.get(uuid=self.authenticator.value)
|
||||
users = auth.users.order_by('name')
|
||||
|
||||
writer.writerow([ugettext('User ID'), ugettext('Real Name'), ugettext('Last access')])
|
||||
|
||||
for v in users:
|
||||
writer.writerow([v.name, v.real_name, v.last_access])
|
||||
|
||||
writer.writerow(['ñoño', 'ádios', 'hola'])
|
||||
|
||||
return output.getvalue()
|
||||
|
@ -32,4 +32,4 @@
|
||||
'''
|
||||
|
||||
from .usage import StatsReportUsage
|
||||
from .login import StatsReportLogin
|
||||
from .login import StatsReportLogin, StatsReportLoginCSV
|
||||
|
@ -32,11 +32,15 @@
|
||||
'''
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext_noop as _
|
||||
from uds.core import reports
|
||||
|
||||
|
||||
__updated__ = '2015-04-28'
|
||||
__updated__ = '2015-06-21'
|
||||
|
||||
|
||||
class StatsReport(reports.Report):
|
||||
group = 'Statistics' # So we can make submenus with reports
|
||||
'''
|
||||
Base report por stats reports
|
||||
'''
|
||||
group = _('Statistics') # So we can make submenus with reports
|
||||
|
@ -33,16 +33,14 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext, ugettext_lazy as _
|
||||
from django.utils import formats
|
||||
import django.template.defaultfilters as filters
|
||||
|
||||
from uds.core.ui.UserInterface import gui
|
||||
from uds.core.reports import stock
|
||||
from uds.core.reports.tools import UDSImage, UDSGeraldoReport
|
||||
from uds.models import StatsEvents
|
||||
from uds.core.util.stats import events
|
||||
|
||||
import StringIO
|
||||
import csv
|
||||
|
||||
import cairo
|
||||
import pycha.line
|
||||
@ -52,11 +50,9 @@ from .base import StatsReport
|
||||
|
||||
from uds.core.util import tools
|
||||
from geraldo.generators.pdf import PDFGenerator
|
||||
from geraldo import Report, landscape, ReportBand, ObjectValue, SystemField, BAND_WIDTH, Label, SubReport, Rect
|
||||
from reportlab.lib.pagesizes import A4
|
||||
from geraldo import ReportBand, ObjectValue, BAND_WIDTH, Label, SubReport
|
||||
from reportlab.lib.units import cm, mm
|
||||
from reportlab.lib.enums import TA_RIGHT, TA_CENTER
|
||||
from reportlab.lib import colors
|
||||
from PIL import Image as PILImage
|
||||
|
||||
import datetime
|
||||
@ -75,8 +71,8 @@ GERALDO_HEIGHT = GERALDO_WIDTH * HEIGHT / WIDTH
|
||||
class AccessReport(UDSGeraldoReport):
|
||||
|
||||
class band_detail(ReportBand):
|
||||
height = 10 * cm
|
||||
auto_expand_height = True
|
||||
height = 400 * mm # Height bigger than a page, so a new page is launched
|
||||
# auto_expand_height = True
|
||||
elements = (
|
||||
Label(text=_('Users access by date'), top=0.6 * cm, left=0, width=BAND_WIDTH,
|
||||
style={'fontName': 'Helvetica-Bold', 'fontSize': 10, 'alignment': TA_CENTER}),
|
||||
@ -101,18 +97,23 @@ class AccessReport(UDSGeraldoReport):
|
||||
SubReport(
|
||||
queryset_string='%(object)s["data"]',
|
||||
band_header=ReportBand(
|
||||
height=2.5 * cm,
|
||||
height=1 * cm,
|
||||
auto_expand_height=True,
|
||||
elements=(
|
||||
Label(text='Date range', top=2.0 * cm, left=4.2 * cm, style={'fontName': 'Helvetica-Bold'}),
|
||||
Label(text='Users', top=2.0 * cm, left=10 * cm, style={'fontName': 'Helvetica-Bold'}),
|
||||
Label(text=_('Users access by date'), top=0.2 * cm, left=0, width=BAND_WIDTH,
|
||||
style={'fontName': 'Helvetica-Bold', 'fontSize': 12, 'alignment': TA_CENTER}),
|
||||
Label(text=_('Date range'), top=1.0 * cm, left=1.2 * cm,
|
||||
style={'fontName': 'Helvetica-Bold', 'fontSize': 10}),
|
||||
Label(text=_('Users'), top=1.0 * cm, left=14 * cm,
|
||||
style={'fontName': 'Helvetica-Bold', 'fontSize': 10}),
|
||||
),
|
||||
borders={'bottom': True}
|
||||
# borders={'bottom': True}
|
||||
),
|
||||
band_detail=ReportBand(
|
||||
height=0.5 * cm,
|
||||
elements=(
|
||||
ObjectValue(attribute_name='date', top=0, left=4.2 * cm),
|
||||
ObjectValue(attribute_name='users', top=0, left=10 * cm),
|
||||
ObjectValue(attribute_name='date', top=0, left=1.2 * cm, width=12 * cm, style={'fontName': 'Helvetica', 'fontSize': 9}),
|
||||
ObjectValue(attribute_name='users', top=0, left=14 * cm, style={'fontName': 'Helvetica', 'fontSize': 9}),
|
||||
)
|
||||
),
|
||||
)
|
||||
@ -158,15 +159,7 @@ class StatsReportLogin(StatsReport):
|
||||
def initGui(self):
|
||||
pass
|
||||
|
||||
def generate(self):
|
||||
# Sample query:
|
||||
# 'SELECT *, count(*) as number, CEIL(stamp/(3600))*3600 as block'
|
||||
# ' FROM {table}'
|
||||
# ' WHERE event_type = 0 and stamp >= {start} and stamp <= {end}'
|
||||
# ' GROUP BY CEIL(stamp/(3600))'
|
||||
# ' ORDER BY block'
|
||||
|
||||
# Generate the sampling intervals and get data from db
|
||||
def getRangeData(self):
|
||||
start = self.startDate.stamp()
|
||||
end = self.endDate.stamp()
|
||||
samplingPoints = self.samplingPoints.num()
|
||||
@ -177,9 +170,6 @@ class StatsReportLogin(StatsReport):
|
||||
else:
|
||||
xLabelFormat = 'SHORT_DATETIME_FORMAT'
|
||||
|
||||
#
|
||||
# User access by date graph
|
||||
#
|
||||
samplingIntervals = []
|
||||
prevVal = None
|
||||
for val in range(start, end, (end - start) / (samplingPoints + 1)):
|
||||
@ -197,11 +187,44 @@ class StatsReportLogin(StatsReport):
|
||||
data.append((key, val)) # @UndefinedVariable
|
||||
reportData.append(
|
||||
{
|
||||
'date': tools.timestampAsStr(interval[0], xLabelFormat) + ' - ' + tools.timestampAsStr(interval[1]),
|
||||
'date': tools.timestampAsStr(interval[0], xLabelFormat) + ' - ' + tools.timestampAsStr(interval[1], xLabelFormat),
|
||||
'users': val
|
||||
}
|
||||
)
|
||||
|
||||
return (xLabelFormat, data, reportData)
|
||||
|
||||
def getWeekHourlyData(self):
|
||||
start = self.startDate.stamp()
|
||||
end = self.endDate.stamp()
|
||||
|
||||
dataWeek = [0] * 7
|
||||
dataHour = [0] * 24
|
||||
for val in events.statsManager().getEvents(events.OT_AUTHENTICATOR, events.ET_LOGIN, since=start, to=end):
|
||||
s = datetime.datetime.fromtimestamp(val.stamp)
|
||||
dataWeek[s.weekday()] += 1
|
||||
dataHour[s.hour] += 1
|
||||
|
||||
return (dataWeek, dataHour)
|
||||
|
||||
def generate(self):
|
||||
# Sample query:
|
||||
# 'SELECT *, count(*) as number, CEIL(stamp/(3600))*3600 as block'
|
||||
# ' FROM {table}'
|
||||
# ' WHERE event_type = 0 and stamp >= {start} and stamp <= {end}'
|
||||
# ' GROUP BY CEIL(stamp/(3600))'
|
||||
# ' ORDER BY block'
|
||||
|
||||
# Generate the sampling intervals and get data from db
|
||||
start = self.startDate.stamp()
|
||||
end = self.endDate.stamp()
|
||||
|
||||
xLabelFormat, data, reportData = self.getRangeData()
|
||||
|
||||
#
|
||||
# User access by date graph
|
||||
#
|
||||
|
||||
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, WIDTH, HEIGHT)
|
||||
|
||||
dataset = ((ugettext('Users access to UDS'), data),)
|
||||
@ -259,12 +282,7 @@ class StatsReportLogin(StatsReport):
|
||||
#
|
||||
# User access by day of week
|
||||
#
|
||||
dataWeek = [0] * 7
|
||||
dataHour = [0] * 24
|
||||
for val in events.statsManager().getEvents(events.OT_AUTHENTICATOR, events.ET_LOGIN, since=start, to=end):
|
||||
s = datetime.datetime.fromtimestamp(val.stamp)
|
||||
dataWeek[s.weekday()] += 1
|
||||
dataHour[s.hour] += 1
|
||||
dataWeek, dataHour = self.getWeekHourlyData()
|
||||
|
||||
dataset = ((ugettext('Users access to UDS'), [(i, dataWeek[i]) for i in range(0, 7)]),)
|
||||
|
||||
@ -331,3 +349,30 @@ class StatsReportLogin(StatsReport):
|
||||
except Exception:
|
||||
logger.exception('Errool')
|
||||
return None
|
||||
|
||||
|
||||
class StatsReportLoginCSV(StatsReportLogin):
|
||||
filename = 'access.csv'
|
||||
mime_type = 'text/csv' # Report returns pdfs by default, but could be anything else
|
||||
name = _('Users access report by date') # Report name
|
||||
description = _('Report of user access to platform by date') # Report description
|
||||
uuid = '765b5580-1840-11e5-8137-10feed05884b'
|
||||
encoded = False
|
||||
|
||||
# Input fields
|
||||
startDate = StatsReportLogin.startDate
|
||||
endDate = StatsReportLogin.endDate
|
||||
samplingPoints = StatsReportLogin.samplingPoints
|
||||
|
||||
def generate(self):
|
||||
output = StringIO.StringIO()
|
||||
writer = csv.writer(output)
|
||||
|
||||
reportData = self.getRangeData()[2]
|
||||
|
||||
writer.writerow([ugettext('Date range'), ugettext('Users')])
|
||||
|
||||
for v in reportData:
|
||||
writer.writerow([v['date'], v['users']])
|
||||
|
||||
return output.getvalue()
|
||||
|
@ -38,7 +38,10 @@ gui.reports.link = (event) ->
|
||||
api.reports.save fields, ((data) -> # Success on put
|
||||
closeFnc()
|
||||
gui.doLog data
|
||||
content = base64.decode(data.data)
|
||||
if data.encoded
|
||||
content = base64.decode(data.data)
|
||||
else
|
||||
content = data.data
|
||||
setTimeout( (()->
|
||||
saveAs(
|
||||
new Blob([content],
|
||||
|
Loading…
Reference in New Issue
Block a user