Added a couple csv reports

This commit is contained in:
Adolfo Gómez García 2015-06-21 21:51:36 +02:00
parent abf6d3751b
commit f8934acbe4
39 changed files with 3113 additions and 1677 deletions

View File

@ -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()

View File

@ -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)

View File

@ -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)

File diff suppressed because it is too large Load Diff

View File

@ -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"

View File

@ -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 ""

View File

@ -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 ""

File diff suppressed because it is too large Load Diff

View File

@ -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: "

View File

@ -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

View File

@ -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 ""

File diff suppressed because it is too large Load Diff

View File

@ -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"

File diff suppressed because it is too large Load Diff

View File

@ -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"

File diff suppressed because it is too large Load Diff

View File

@ -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"

View File

@ -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__()

View File

@ -31,4 +31,4 @@
@author: Adolfo Gómez, dkmaster at dkmon dot com
'''
from .users import ListReportUsers
from .users import ListReportUsers, ListReportsUsersCSV

View File

@ -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

View File

@ -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()

View File

@ -32,4 +32,4 @@
'''
from .usage import StatsReportUsage
from .login import StatsReportLogin
from .login import StatsReportLogin, StatsReportLoginCSV

View File

@ -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

View File

@ -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()

View File

@ -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],