diff --git a/server/src/uds/REST/methods/users_groups.py b/server/src/uds/REST/methods/users_groups.py index 0b073e3e6..61d2623a6 100644 --- a/server/src/uds/REST/methods/users_groups.py +++ b/server/src/uds/REST/methods/users_groups.py @@ -33,8 +33,10 @@ from __future__ import unicode_literals #import time from django.utils.translation import ugettext as _ +from django.forms.models import model_to_dict from uds.core.util.State import State +from uds.core.util import log from uds.models import Authenticator from uds.REST.handlers import HandlerError @@ -44,7 +46,7 @@ import logging logger = logging.getLogger(__name__) -# Enclosed methods under /auth path +# Details of /auth class Users(DetailHandler): @@ -54,10 +56,14 @@ class Users(DetailHandler): if item is None: return list(parent.users.all().values('id','name','real_name','comments','state','staff_member','is_admin','last_access','parent')) else: - return parent.get(pk=item).values('id','name','real_name','comments','state','staff_member','is_admin','last_access','parent') + u = parent.users.get(pk=item) + res = model_to_dict(u, fields = ('id','name','real_name','comments','state','staff_member','is_admin','last_access','parent')) + res['groups'] = [g.id for g in u.groups.all()] + logger.debug('Item: {0}'.format(res)) + return res except: logger.exception('En users') - return { 'error': 'not found' } + self.invalidItemException() def getTitle(self, parent): try: @@ -72,7 +78,15 @@ class Users(DetailHandler): { 'comments': { 'title': _('Comments') } }, { 'state': { 'title': _('state'), 'type': 'dict', 'dict': State.dictionary() } }, { 'last_access': { 'title': _('Last access'), 'type': 'datetime' } }, - ] + ] + + def getLogs(self, parent, item): + try: + user = parent.users.get(pk=item) + except: + self.invalidItemException() + + return log.getLogs(user) class Groups(DetailHandler): @@ -82,10 +96,10 @@ class Groups(DetailHandler): if item is None: return list(parent.groups.all().values('id','name', 'comments','state','is_meta')) else: - return parent.get(pk=item).values('id','name', 'comments','state','is_meta') + return parent.groups.filter(pk=item).values('id','name', 'comments','state','is_meta')[0] except: logger.exception('REST groups') - raise HandlerError('exception') + self.invalidItemException() def getTitle(self, parent): try: diff --git a/server/src/uds/REST/model.py b/server/src/uds/REST/model.py index fc19cac0d..2eb7bbfc9 100644 --- a/server/src/uds/REST/model.py +++ b/server/src/uds/REST/model.py @@ -119,18 +119,17 @@ class BaseModelHandler(Handler): } def processTableFields(self, title, fields): - processedFields = [{ 'id' : {'visible': False, 'sortable': False, 'searchable': False } }] - - for f in fields: - for k1, v1 in f.iteritems(): - dct = {} - for k2, v2 in v1.iteritems(): - if type(v2) in (bool, int, long, float, unicode, list, tuple, dict): - dct[k2] = v2 - else: - dct[k2] = unicode(v2) - processedFields.append({k1: dct}) - return { 'title': unicode(title), 'fields': processedFields }; +# processedFields = [{ 'id' : {'visible': False, 'sortable': False, 'searchable': False } }] +# for f in fields: +# for k1, v1 in f.iteritems(): +# dct = {} +# for k2, v2 in v1.iteritems(): +# if type(v2) in (bool, int, long, float, unicode, list, tuple, dict): +# dct[k2] = v2 +# else: +# dct[k2] = unicode(v2) +# processedFields.append({k1: dct}) + return { 'title': unicode(title), 'fields': fields }; def readFieldsFromParams(self, fldList): args = {} diff --git a/server/src/uds/REST/processors.py b/server/src/uds/REST/processors.py index 0c3da72b3..fa7c730f6 100644 --- a/server/src/uds/REST/processors.py +++ b/server/src/uds/REST/processors.py @@ -34,6 +34,9 @@ from __future__ import unicode_literals #from django.utils import simplejson as json import ujson as json +import datetime +import time +import types from django import http import logging @@ -67,6 +70,29 @@ class ContentProcessor(object): def render(self, obj): return unicode(obj) + @staticmethod + def procesForRender(obj): + ''' + Helper for renderers. Alters some types so they can be serialized correctly (as we want them to be) + ''' + if type(obj) in (bool, int, float, unicode): + return obj + elif isinstance(obj, long): + return int(obj) + elif isinstance(obj, dict): + res = {} + for k, v in obj.iteritems(): + res[k] = ContentProcessor.procesForRender(v) + return res + elif type(obj) in (list, tuple, types.GeneratorType): + res = [] + for v in obj: + res.append(ContentProcessor.procesForRender(v)) + return res + elif isinstance(obj, datetime.datetime): + return int(time.mktime(obj.timetuple())) + return unicode(obj) + # --------------- # Json Processor # --------------- @@ -84,9 +110,11 @@ class JsonProcessor(ContentProcessor): except Exception as e: logger.error('parsing json: {0}'.format(e)) raise ParametersException(unicode(e)) + def render(self, obj): - return json.dumps(obj) + return json.dumps( ContentProcessor.procesForRender(obj)) + #return json.dumps(obj) # --------------- # Json Processor diff --git a/server/src/uds/locale/de/LC_MESSAGES/django.mo b/server/src/uds/locale/de/LC_MESSAGES/django.mo index c235eb9ec..c156a3e45 100644 Binary files a/server/src/uds/locale/de/LC_MESSAGES/django.mo and b/server/src/uds/locale/de/LC_MESSAGES/django.mo differ diff --git a/server/src/uds/locale/de/LC_MESSAGES/django.po b/server/src/uds/locale/de/LC_MESSAGES/django.po index d814a6ebd..622a703b2 100644 --- a/server/src/uds/locale/de/LC_MESSAGES/django.po +++ b/server/src/uds/locale/de/LC_MESSAGES/django.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -42,94 +42,152 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: REST/mixins.py:172 REST/methods/authenticators.py:82 -#: REST/methods/networks.py:68 REST/methods/osmanagers.py:71 -#: REST/methods/providers.py:75 REST/methods/transports.py:79 -#: REST/methods/users_groups.py:73 +#: REST/model.py:81 REST/methods/authenticators.py:56 +#: REST/methods/networks.py:51 REST/methods/osmanagers.py:52 +#: REST/methods/providers.py:57 REST/methods/transports.py:54 +#: REST/methods/users_groups.py:72 msgid "Name" msgstr "Name" -#: REST/mixins.py:175 +#: REST/model.py:82 msgid "Name of this element" msgstr "Name dieses Elements" -#: REST/mixins.py:189 REST/methods/authenticators.py:83 -#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76 -#: REST/methods/transports.py:80 REST/methods/users_groups.py:74 -#: REST/methods/users_groups.py:102 +#: REST/model.py:88 REST/methods/authenticators.py:57 +#: REST/methods/osmanagers.py:53 REST/methods/providers.py:58 +#: REST/methods/services.py:126 REST/methods/transports.py:55 +#: REST/methods/users_groups.py:73 REST/methods/users_groups.py:108 msgid "Comments" msgstr "Kommentare" -#: REST/mixins.py:192 +#: REST/model.py:89 msgid "Comments for this element" msgstr "Kommentare für dieses element" -#: REST/methods/authenticators.py:80 +#: REST/model.py:97 REST/methods/authenticators.py:58 +#: REST/methods/transports.py:56 REST/methods/transports.py:69 +msgid "Priority" +msgstr "Priorität" + +#: REST/model.py:98 +msgid "" +"Selects the priority of this element (lower number means higher priority)" +msgstr "" +"Bestimmt die Priorität dieses Elements (niedrigere Zahl bedeutet höhere Priorität)" + +#: REST/model.py:106 REST/methods/authenticators.py:59 +msgid "Small name" +msgstr "Kleine Namen" + +#: REST/model.py:107 +msgid "Small name of this element" +msgstr "Kleine Name dieses Elements" + +#: REST/model.py:157 +msgid "Invalid Request" +msgstr "Ungültige Anforderung" + +#: REST/model.py:160 +msgid "Method not found" +msgstr "Methode nicht gefunden" + +#: REST/model.py:163 +msgid "Item not found" +msgstr "Element nicht gefunden" + +#: REST/methods/authenticators.py:54 msgid "Current authenticators" msgstr "Aktuelle Authentifikatoren" -#: REST/methods/authenticators.py:84 +#: REST/methods/authenticators.py:60 +#: templates/uds/admin/tmpl/authenticators.html:18 msgid "Users" msgstr "Benutzer" -#: REST/methods/networks.py:66 +#: REST/methods/networks.py:49 msgid "Current Networks" msgstr "Aktuellen Netze" -#: REST/methods/networks.py:69 templates/uds/index.html:79 -#: templates/uds/html5/index.html:127 +#: REST/methods/networks.py:52 templates/uds/index.html:79 +#: templates/uds/html5/index.html:124 msgid "Networks" msgstr "Netzwerke" -#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 -#: REST/methods/transports.py:81 +#: REST/methods/networks.py:53 REST/methods/osmanagers.py:54 +#: REST/methods/transports.py:57 msgid "Used by" msgstr "Von verwendet" -#: REST/methods/osmanagers.py:69 +#: REST/methods/osmanagers.py:50 msgid "Current OS Managers" msgstr "Aktuelle OS-Manager" -#: REST/methods/providers.py:73 -msgid "Current service providers" -msgstr "Aktuelle Service-Provider" +#: REST/methods/providers.py:53 templates/uds/admin/snippets/navbar.html:18 +msgid "Service providers" +msgstr "Service-Provider" -#: REST/methods/providers.py:77 templates/uds/index.html:51 -#: templates/uds/html5/index.html:68 +#: REST/methods/providers.py:59 templates/uds/index.html:51 +#: templates/uds/admin/tmpl/providers.html:18 +#: templates/uds/html5/index.html:65 msgid "Services" msgstr "Dienstleistungen" -#: REST/methods/transports.py:77 +#: REST/methods/services.py:119 +#, python-brace-format +msgid "Services of {0}" +msgstr "Dienstleistungen von {0}" + +#: REST/methods/services.py:121 +msgid "Current services" +msgstr "Aktuelle Dienstleistungen" + +#: REST/methods/services.py:125 +msgid "Service name" +msgstr "Dienstnamen" + +#: REST/methods/services.py:127 +msgid "Type" +msgstr "Typ" + +#: REST/methods/services.py:128 templates/uds/admin/snippets/navbar.html:22 +msgid "Deployed services" +msgstr "Bereitgestellten Dienste" + +#: REST/methods/transports.py:52 msgid "Current Transports" msgstr "Aktuelle Transporte" -#: REST/methods/users_groups.py:66 +#: REST/methods/transports.py:70 +msgid "Priority of this transport" +msgstr "Priorität dieses Transportes" + +#: REST/methods/users_groups.py:65 #, python-brace-format msgid "Users of {0}" msgstr "Benutzer von {0}" -#: REST/methods/users_groups.py:68 +#: REST/methods/users_groups.py:67 msgid "Current users" msgstr "Momentane Benutzer" -#: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101 +#: REST/methods/users_groups.py:71 REST/methods/users_groups.py:107 msgid "User Id" msgstr "Benutzer-Id" -#: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103 +#: REST/methods/users_groups.py:74 REST/methods/users_groups.py:109 msgid "state" msgstr "Zustand" -#: REST/methods/users_groups.py:76 +#: REST/methods/users_groups.py:75 msgid "Last access" msgstr "Zuletzt online" -#: REST/methods/users_groups.py:95 +#: REST/methods/users_groups.py:101 #, python-brace-format msgid "Groups of {0}" msgstr "Gruppen von {0}" -#: REST/methods/users_groups.py:97 +#: REST/methods/users_groups.py:103 msgid "Current groups" msgstr "Aktuelle Gruppen" @@ -226,10 +284,8 @@ msgid "Timeout" msgstr "Timeout" #: auths/ActiveDirectory_enterprise/Authenticator.py:35 -#: auths/EDirectory_enterprise/Authenticator.py:65 -#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 -msgid "Timeout in seconds of connection to LDAP" -msgstr "Timeout in Sekunden über LDAP-Verbindung" +msgid "Timeout in seconds of connection to Active Directory" +msgstr "Timeout in Sekunden der Verbindung mit Active Directory" #: auths/ActiveDirectory_enterprise/Authenticator.py:37 msgid "Active Directory Authenticator" @@ -268,10 +324,8 @@ msgid "Must specify the username in the form USERNAME@DOMAIN.DOM" msgstr "Müssen der Benutzername in der Form USERNAME@DOMAIN angeben.DOM" #: auths/ActiveDirectory_enterprise/Authenticator.py:164 -#: auths/EDirectory_enterprise/Authenticator.py:123 -#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 -msgid "Ldap connection error: " -msgstr "LDAP-Verbindungsfehler: " +msgid "Active directory connection error: " +msgstr "Active Directory-Verbindung-Fehler: " #: auths/ActiveDirectory_enterprise/Authenticator.py:344 #: auths/ActiveDirectory_enterprise/Authenticator.py:390 @@ -300,18 +354,18 @@ msgid "Domain seems to be incorrect, please check it" msgstr "Domäne scheint nicht korrekt, bitte überprüfen es" #: auths/ActiveDirectory_enterprise/Authenticator.py:456 -msgid "Ldap does not seem an Active Directory (do not have user objects)" -msgstr "LDAP scheint kein Active Directory (Benutzerobjekte nicht haben)" +msgid "Server does not seem an Active Directory (do not have user objects)" +msgstr "Server scheint kein Active Directory (Benutzerobjekte nicht haben)" #: auths/ActiveDirectory_enterprise/Authenticator.py:464 -msgid "Ldap does not seem an Active Directory (no not have group objects)" -msgstr "LDAP scheint kein Active Directory (Nein, nicht haben Gruppenobjekte)" +msgid "Server does not seem an Active Directory (no not have group objects)" +msgstr "Server scheint kein Active Directory (Nein, nicht haben Gruppenobjekte)" #: auths/ActiveDirectory_enterprise/Authenticator.py:472 msgid "" -"Ldap does not seem an Active Directory (do not have any user nor groups)" +"Server does not seem an Active Directory (do not have any user nor groups)" msgstr "" -"LDAP scheint kein Active Directory (haben noch keine Benutzer oder Gruppen)" +"Server scheint kein Active Directory (haben noch keine Benutzer oder Gruppen)" #: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/EDirectory_enterprise/Authenticator.py:358 @@ -353,6 +407,11 @@ msgstr "Admin-Benutzer" msgid "Username with read privileges on the eDirectory" msgstr "Benutzernamen mit lesen Berechtigungen für das eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 +msgid "Timeout in seconds of connection to LDAP" +msgstr "Timeout in Sekunden über LDAP-Verbindung" + #: auths/EDirectory_enterprise/Authenticator.py:67 msgid "eDirectory Authenticator" msgstr "eDirectory Authenticator" @@ -361,6 +420,11 @@ msgstr "eDirectory Authenticator" msgid "Authenticate against eDirectory" msgstr "Authentifizieren gegen eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:123 +#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 +msgid "Ldap connection error: " +msgstr "LDAP-Verbindungsfehler: " + #: auths/EDirectory_enterprise/Authenticator.py:323 #: auths/RegexLdap/Authenticator.py:387 auths/SimpleLDAP/Authenticator.py:363 msgid "Ldap search base is incorrect" @@ -642,6 +706,7 @@ msgid "Fake Group" msgstr "Fake-Gruppe" #: auths/Sample/SampleAuth.py:111 +#: templates/uds/admin/tmpl/authenticators.html:19 msgid "Groups" msgstr "Gruppen" @@ -748,11 +813,11 @@ msgstr "" msgid "Can't cancel non running publication" msgstr "Nicht ausgeführte Veröffentlichung kann nicht abgebrochen werden." -#: core/managers/PublicationManager.py:212 +#: core/managers/PublicationManager.py:213 msgid "Can't unpublish non usable publication" msgstr "Kann nicht nicht nutzbare Veröffentlichung aufheben" -#: core/managers/PublicationManager.py:215 +#: core/managers/PublicationManager.py:216 msgid "Can't unpublish publications with services in process" msgstr "" "Publikationen mit Dienstleistungen im Prozess kann nicht Veröffentlichung " @@ -786,17 +851,17 @@ msgstr "24 Bit" msgid "32 bits" msgstr "32 bits" -#: core/managers/UserServiceManager.py:320 +#: core/managers/UserServiceManager.py:322 msgid "Cancel requested for a non running operation, doing remove instead" msgstr "" "Abbrechen angefordert für eine nicht ausgeführte Operation entfernen " "stattdessen tun" -#: core/managers/UserServiceManager.py:341 +#: core/managers/UserServiceManager.py:343 msgid "Can't remove a non active element" msgstr "Ein nicht aktive Element kann nicht entfernt werden." -#: core/managers/UserServiceManager.py:354 +#: core/managers/UserServiceManager.py:356 #, python-brace-format msgid "Can't remove nor cancel {0} cause its states doesn't allows it" msgstr "" @@ -824,7 +889,7 @@ msgstr "Keine" msgid "Base Clustered Service" msgstr "Base gruppierten Dienst" -#: core/transports/BaseTransport.py:147 +#: core/transports/BaseTransport.py:153 msgid "Transport empty" msgstr "Transport leer" @@ -1188,7 +1253,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/OVirt/OVirtLinkedService.py:77 -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 +#: services/Vmware_enterprise/VCLinkedCloneService.py:73 msgid "Number of desired machines to keep running waiting for a user" msgstr "" "Anzahl der gewünschten Maschinen warten für einen Benutzer ausgeführt wird" @@ -1196,7 +1261,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:78 #: services/HyperV_enterprise/HyperVLinkedService.py:81 #: services/OVirt/OVirtLinkedService.py:83 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 msgid "Number of desired machines to keep suspended waiting for use" msgstr "" "Anzahl der gewünschten Maschinen zu ausgesetzten Personen, die für die " @@ -1205,7 +1270,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:97 #: services/OVirt/OVirtLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base Machine" msgstr "Grundmaschine" @@ -1217,13 +1282,13 @@ msgstr "Service-Grundmaschine" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:98 -#: services/Vmware_enterprise/VCLinkedCloneService.py:38 +#: services/Vmware_enterprise/VCLinkedCloneService.py:39 msgid "Network" msgstr "Netzwerk" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:39 +#: services/Vmware_enterprise/VCLinkedCloneService.py:40 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -1233,13 +1298,13 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OVirt/OVirtLinkedService.py:112 -#: services/Vmware_enterprise/VCLinkedCloneService.py:51 +#: services/Vmware_enterprise/VCLinkedCloneService.py:52 msgid "Memory (Mb)" msgstr "Speicher (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:52 +#: services/Vmware_enterprise/VCLinkedCloneService.py:53 msgid "Memory for machines deployed from this service" msgstr "Speicher für Maschinen, die von diesem Dienst bereitgestellt" @@ -1256,27 +1321,27 @@ msgstr "Datastores wohin mit inkrementellen & Publikationen" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/OVirt/OVirtLinkedService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Machine Names" msgstr "Computernamen" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Base name for clones from this machine" msgstr "Basisname für Clones von Maschine" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:103 #: services/HyperV_enterprise/HyperVLinkedService.py:106 #: services/OVirt/OVirtLinkedService.py:119 -#: services/Vmware_enterprise/VCLinkedCloneService.py:56 +#: services/Vmware_enterprise/VCLinkedCloneService.py:57 msgid "Name Length" msgstr "Länge des Dateinamens" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:107 #: services/OVirt/OVirtLinkedService.py:120 -#: services/Vmware_enterprise/VCLinkedCloneService.py:57 +#: services/Vmware_enterprise/VCLinkedCloneService.py:58 msgid "Length of numeric part for the names of this machines (betwen 3 and 6" msgstr "" "Länge der numerische Teil für die Namen dieser Maschinen (zwischen 3 und 6" @@ -1284,14 +1349,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:116 #: services/HyperV_enterprise/HyperVLinkedService.py:119 #: services/OVirt/OVirtLinkedService.py:143 -#: services/Vmware_enterprise/VCLinkedCloneService.py:95 +#: services/Vmware_enterprise/VCLinkedCloneService.py:96 msgid "The length of basename plus length must not be greater than 15" msgstr "Die Länge der Basename plus Länge darf nicht größer als 15 sein." #: services/HyperV_enterprise/HyperVClusterLinkedService.py:118 #: services/HyperV_enterprise/HyperVLinkedService.py:121 #: services/OVirt/OVirtLinkedService.py:145 -#: services/Vmware_enterprise/VCLinkedCloneService.py:97 +#: services/Vmware_enterprise/VCLinkedCloneService.py:98 msgid "The machine name can't be only numbers" msgstr "Der Computername kann nicht nur Zahlen sein." @@ -1422,6 +1487,10 @@ msgstr "Display" msgid "Display type (only for administration pourposses)" msgstr "Displaytyp (nur für Verwaltung Pourposses)" +#: services/OVirt/OVirtLinkedService.py:147 +msgid "The minimum allowed memory is 256 Mb" +msgstr "Die minimale zulässige Speicher 256 Mb" + #: services/OVirt/OVirtProvider.py:73 msgid "oVirt Platform Provider" msgstr "oVirt Plattform-Anbieter" @@ -1628,55 +1697,55 @@ msgstr "VmwareVC-Anbieter: " msgid "Connection params ok" msgstr "Verbindung Params ok" -#: services/Vmware_enterprise/VCLinkedCloneService.py:30 +#: services/Vmware_enterprise/VCLinkedCloneService.py:31 msgid "Datacenter" msgstr "Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:36 +#: services/Vmware_enterprise/VCLinkedCloneService.py:37 msgid "Datacenter containing base machine" msgstr "Enthaltenden Datacenter-Grundmaschine" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Pub. Resource Pool" msgstr "Pub. Ressourcen-Pool" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Resource Pool where deploy clones" msgstr "Ressourcen-Pool wo bereitstellen Klone" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Clones Folder" msgstr "Klone Ordner" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Folder where deploy clones" msgstr "Ordner wo bereitstellen Klone" -#: services/Vmware_enterprise/VCLinkedCloneService.py:42 +#: services/Vmware_enterprise/VCLinkedCloneService.py:43 msgid "Resource Pool" msgstr "Ressourcen-Pool" -#: services/Vmware_enterprise/VCLinkedCloneService.py:48 +#: services/Vmware_enterprise/VCLinkedCloneService.py:49 msgid "Resource Pool containing base machine" msgstr "Ressource Pool enthaltenden Grundmaschine" -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base machine for this service" msgstr "Basismaschine für diesen Dienst" -#: services/Vmware_enterprise/VCLinkedCloneService.py:53 +#: services/Vmware_enterprise/VCLinkedCloneService.py:54 msgid "Datastores" msgstr "Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:54 +#: services/Vmware_enterprise/VCLinkedCloneService.py:55 msgid "Datastores where to put incrementals" msgstr "Datastores wo Sie inkrementelle Backups" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "VMWare Linked clone base" msgstr "VMWare Linked Clone base" -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "" "This service provides access to Linked Clones machines on a Virtual Center" msgstr "" @@ -1712,34 +1781,34 @@ msgstr "" "Diese Seite enthält eine Liste der Downloads von verschiedenen Modulen " "bereitgestellt" -#: templates/uds/index.html:70 templates/uds/html5/index.html:106 +#: templates/uds/index.html:70 templates/uds/html5/index.html:103 msgid "Java not found" msgstr "Java nicht gefunden" -#: templates/uds/index.html:71 templates/uds/html5/index.html:109 +#: templates/uds/index.html:71 templates/uds/html5/index.html:106 msgid "" "Java is not available on your browser, and the selected transport needs it." msgstr "" "Java ist nicht verfügbar in Ihrem Browser, und der ausgewählte Transport " "muss es." -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Please, install latest version from" msgstr "Bitte installieren Sie neueste Version von" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Java website" msgstr "Java-website" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "and restart browser" msgstr "und Browser neu starten" -#: templates/uds/index.html:78 templates/uds/html5/index.html:126 +#: templates/uds/index.html:78 templates/uds/html5/index.html:123 msgid "Ip" msgstr "IP" -#: templates/uds/index.html:80 templates/uds/html5/index.html:128 +#: templates/uds/index.html:80 templates/uds/html5/index.html:125 msgid "Transports" msgstr "Transporte" @@ -1781,14 +1850,9 @@ msgid "Save Preferences" msgstr "Speichern Sie Einstellungen" #: templates/uds/admin/snippets/navbar.html:6 -#: templates/uds/html5/snippets/navbar.html:6 -msgid "toggle navigation" +msgid "Toggle navigation" msgstr "Toggle navigation" -#: templates/uds/admin/snippets/navbar.html:18 -msgid "Service providers" -msgstr "Service-Provider" - #: templates/uds/admin/snippets/navbar.html:19 #: templates/uds/admin/tmpl/authenticators.html:4 msgid "Authenticators" @@ -1799,33 +1863,55 @@ msgstr "Authentifikatoren" msgid "Connectivity" msgstr "Konnektivität" -#: templates/uds/admin/snippets/navbar.html:22 -msgid "Deployed services" -msgstr "Bereitgestellten Dienste" - #: templates/uds/admin/snippets/navbar.html:26 msgid "Configuration" msgstr "Konfiguration" +#: templates/uds/admin/snippets/navbar.html:27 +msgid "Clear cache" +msgstr "Cache löschen" + #: templates/uds/admin/snippets/navbar.html:57 -msgid "Exit dashboard" -msgstr "Ausfahrt dashboard" +msgid "Exit" +msgstr "Ausfahrt" #: templates/uds/admin/snippets/navbar.html:58 -#: templates/uds/html5/snippets/navbar.html:47 -msgid "logout" +msgid "Logout" msgstr "Logout" +#: templates/uds/admin/tmpl/authenticators.html:20 +#: templates/uds/admin/tmpl/providers.html:19 +msgid "Logs" +msgstr "Protokolle" + #: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/dashboard.html:4 msgid "overview" msgstr "Übersicht" -#: templates/uds/admin/tmpl/modal.html:18 +#: templates/uds/admin/tmpl/providers.html:4 +#: templates/uds/admin/tmpl/providers.html:7 +msgid "Providers" +msgstr "Anbieter" + +#: templates/uds/admin/tmpl/request_failed.html:4 +msgid "Error on request" +msgstr "Fehler auf Anfrage" + +#: templates/uds/admin/tmpl/request_failed.html:7 +msgid "There was an error requesting data from server, please, try again" +msgstr "Fehler beim anfordern, dass Daten vom Server, bitte erneut versuchen" + +#: templates/uds/admin/tmpl/request_failed.html:9 +#: templates/uds/html5/snippets/navbar.html:44 +msgid "Dashboard" +msgstr "Dashboard" + +#: templates/uds/admin/tmpl/comp/modal.html:19 msgid "Close" msgstr "Schließen" -#: templates/uds/admin/tmpl/modal.html:25 +#: templates/uds/admin/tmpl/comp/modal.html:26 msgid "Save" msgstr "Speichern" @@ -1837,6 +1923,26 @@ msgstr "Ja" msgid "No" msgstr "Nr." +#: templates/uds/admin/tmpl/fld/editlist_popup.html:5 +msgid "Current list" +msgstr "Aktuelle Liste" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:13 +msgid "Remove selected" +msgstr "Markierte entfernen" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:14 +msgid "Remove all" +msgstr "Entfernen Sie alle" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:19 +msgid "Add element" +msgstr "Add-element" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:23 +msgid "Add" +msgstr "Hinzufügen" + #: templates/uds/html5/detectJava.html:4 msgid "Login redirection to UDS" msgstr "Login-Umleitung zu UDS" @@ -1855,19 +1961,19 @@ msgstr "Zurück zur Liste" msgid "Available services list" msgstr "Liste der verfügbaren Dienste" -#: templates/uds/html5/index.html:83 +#: templates/uds/html5/index.html:80 msgid "transports" msgstr "Transporte" -#: templates/uds/html5/index.html:123 +#: templates/uds/html5/index.html:120 msgid "Administrator info panel" msgstr "Administrator-Info-Tafel" -#: templates/uds/html5/index.html:129 +#: templates/uds/html5/index.html:126 msgid "User Agent" msgstr "User-Agent" -#: templates/uds/html5/index.html:130 +#: templates/uds/html5/index.html:127 msgid "OS" msgstr "OS" @@ -1920,13 +2026,17 @@ msgstr "" msgid "Back" msgstr "Zurück" +#: templates/uds/html5/snippets/navbar.html:6 +msgid "toggle navigation" +msgstr "Toggle navigation" + #: templates/uds/html5/snippets/navbar.html:20 msgid "About" msgstr "Über" -#: templates/uds/html5/snippets/navbar.html:44 -msgid "Dashboard" -msgstr "Dashboard" +#: templates/uds/html5/snippets/navbar.html:47 +msgid "logout" +msgstr "Logout" #: templates/uds/html5/templates/base.html:52 msgid "" @@ -2461,8 +2571,8 @@ msgstr "Authentifikator ist nicht vorhanden" #: xmlrpc/auths/Authenticators.py:163 xmlrpc/osmanagers/OSManagers.py:117 #: xmlrpc/services/ServiceProviders.py:115 -#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:164 -#: xmlrpc/services/Services.py:188 xmlrpc/transports/Networks.py:87 +#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:165 +#: xmlrpc/services/Services.py:189 xmlrpc/transports/Networks.py:87 #: xmlrpc/transports/Networks.py:98 #, python-format msgid "Name %s already exists" @@ -2535,19 +2645,19 @@ msgstr "Service-Provider kann nicht mit verbundenen Services gelöscht werden" msgid "Can't locate the service provider" msgstr "Der Diensteanbieter kann nicht gefunden werden." -#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:206 +#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:207 #: xmlrpc/transports/Networks.py:71 xmlrpc/transports/Networks.py:79 #: xmlrpc/transports/Networks.py:96 msgid "Please, refresh interface" msgstr "Bitte aktualisieren Sie Schnittstelle" -#: xmlrpc/services/Services.py:203 +#: xmlrpc/services/Services.py:204 msgid "Can't delete services with deployed services associated" msgstr "" "Dienstleistungen mit bereitgestellten Leistungen können nicht gelöscht " "werden." -#: xmlrpc/services/Services.py:206 +#: xmlrpc/services/Services.py:207 msgid "Can't locate the service" msgstr "Der Dienst kann nicht gesucht werden." diff --git a/server/src/uds/locale/de/LC_MESSAGES/djangojs.mo b/server/src/uds/locale/de/LC_MESSAGES/djangojs.mo index ede7bc985..f2df1fd1a 100644 Binary files a/server/src/uds/locale/de/LC_MESSAGES/djangojs.mo and b/server/src/uds/locale/de/LC_MESSAGES/djangojs.mo differ diff --git a/server/src/uds/locale/de/LC_MESSAGES/djangojs.po b/server/src/uds/locale/de/LC_MESSAGES/djangojs.po index 95fd510aa..74d42005f 100644 --- a/server/src/uds/locale/de/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/de/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,83 +18,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: static/adm/js/api-tools.js:46 -msgid "Just a moment..." -msgstr "Einen Moment..." - -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Sunday" msgstr "Sonntag" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Monday" msgstr "Montag" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Tuesday" msgstr "Dienstag" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Wednesday" msgstr "Mittwoch" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Thursday" msgstr "Donnerstag" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Friday" msgstr "Freitag" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Saturday" msgstr "Samstag" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "January" msgstr "Januar" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "February" msgstr "Februar" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "March" msgstr "März" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "April" msgstr "April" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "May" msgstr "Mai" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "June" msgstr "Juni" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "July" msgstr "Juli" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "August" msgstr "August" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "September" msgstr "September" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "October" msgstr "Oktober" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "November" msgstr "November" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "December" msgstr "Dezember" @@ -102,26 +98,154 @@ msgstr "Dezember" msgid "_MENU_ records per page" msgstr "_MENU_ Datensätze pro Seite" -#: static/adm/js/gui-elements.js:33 -msgid "Service Providers" -msgstr "Service-Provider" +#: static/adm/js/gui-definition.js:38 +msgid "Test" +msgstr "Test" -#: static/adm/js/gui-elements.js:40 -msgid "Edit service provider" -msgstr "Dienstleister bearbeiten" +#: static/adm/js/gui-definition.js:140 +msgid "Edit service" +msgstr "Bearbeiten service" -#: static/adm/js/gui-elements.js:104 +#: static/adm/js/gui-definition.js:140 +msgid "Error processing service" +msgstr "Fehler-Dienstleistung" + +#: static/adm/js/gui-definition.js:141 +msgid "New service" +msgstr "Neuer service" + +#: static/adm/js/gui-definition.js:141 +msgid "Error creating service" +msgstr "Fehler beim Erstellen des service" + +#: static/adm/js/gui-definition.js:142 +msgid "Delete service" +msgstr "Dienst löschen" + +#: static/adm/js/gui-definition.js:142 +msgid "Error deleting service" +msgstr "Fehler beim Löschen der Dienst" + +#: static/adm/js/gui-definition.js:157 +msgid "New provider" +msgstr "Neuer Anbieter" + +#: static/adm/js/gui-definition.js:157 +msgid "Error creating provider" +msgstr "Erstellen von Fehleranbieter" + +#: static/adm/js/gui-definition.js:158 +msgid "Edit provider" +msgstr "Bearbeiten Anbieter" + +#: static/adm/js/gui-definition.js:158 +msgid "Error processing provider" +msgstr "Fehleranbieter Verarbeitung" + +#: static/adm/js/gui-definition.js:159 +msgid "Delete provider" +msgstr "Anbieter löschen" + +#: static/adm/js/gui-definition.js:159 +msgid "Error deleting provider" +msgstr "Löschen von Fehleranbieter" + +#: static/adm/js/gui-definition.js:177 +msgid "Test authenticator" +msgstr "Test-Authentifikator" + +#: static/adm/js/gui-definition.js:295 +msgid "New authenticator" +msgstr "Neuen Authentifikator" + +#: static/adm/js/gui-definition.js:295 +msgid "Error creating authenticator" +msgstr "Fehler erstellen Authentifikator" + +#: static/adm/js/gui-definition.js:296 msgid "Edit authenticator" msgstr "Authentifikator bearbeiten" -#: static/adm/js/gui-elements.js:149 +#: static/adm/js/gui-definition.js:296 +msgid "Error processing authenticator" +msgstr "Fehler Verarbeitung Authentifikator" + +#: static/adm/js/gui-definition.js:297 +msgid "Delete authenticator" +msgstr "Authentifikator löschen" + +#: static/adm/js/gui-definition.js:297 +msgid "Error deleting authenticator" +msgstr "Fehler löschen Authentifikator" + +#: static/adm/js/gui-definition.js:363 msgid "Edit transport" msgstr "Bearbeiten Verkehr" -#: static/adm/js/gui-elements.js:159 +#: static/adm/js/gui-definition.js:370 static/adm/js/gui-definition.js.c:405 +msgid "Error creating transport" +msgstr "Fehler beim Erstellen des transport" + +#: static/adm/js/gui-definition.js:388 +msgid "Available for networks" +msgstr "Für Netzwerke verfügbar" + +#: static/adm/js/gui-definition.js:389 +msgid "Select networks that will see this transport" +msgstr "Wählen Sie Netzwerke, die diesen Transport angezeigt wird" + +#: static/adm/js/gui-definition.js:390 +msgid "Transport active for selected networks" +msgstr "Transport für ausgewählte Netzwerke aktiv" + +#: static/adm/js/gui-definition.js:391 +msgid "" +"If active, transport will only be available on selected networks. If " +"inactive, transport will be available form any net EXCEPT selected networks" +msgstr "" +"Wenn aktiv, werden Transport nur auf ausgewählten Netzen verfügbar. If " +"inaktiv, Transport verfügbare Form werden alle außer ausgewählten Netzen net" + +#: static/adm/js/gui-definition.js:397 msgid "New transport" msgstr "Neue Verkehrsmittel" +#: static/adm/js/gui-definition.js:414 +msgid "Error removing transport" +msgstr "Fehler beim Entfernen der Verkehr" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache" +msgstr "Cache" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache has been flushed" +msgstr "Cache geleert hat, wurde" + +#: static/adm/js/gui-element.js:471 +msgid "Date" +msgstr "Datum" + +#: static/adm/js/gui-element.js:478 +msgid "level" +msgstr "Ebene" + +#: static/adm/js/gui-element.js:486 +msgid "source" +msgstr "Quelle" + +#: static/adm/js/gui-element.js:493 +msgid "message" +msgstr "Nachricht" + +#: static/adm/js/gui-element.js:499 +msgid "Logs" +msgstr "Protokolle" + +#: static/adm/js/gui-tools.js:7 +msgid "Just a moment..." +msgstr "Einen Moment..." + #: static/adm/js/gui.js:20 msgid "Empty" msgstr "Leer" @@ -154,14 +278,6 @@ msgstr "Erste" msgid "Last" msgstr "Letzter" -#: static/adm/js/gui.js:30 -msgid "Next" -msgstr "Nächste" - -#: static/adm/js/gui.js:31 -msgid "Previous" -msgstr "Vorherige" - #: static/adm/js/gui.js:37 msgid "New" msgstr "Neu" @@ -170,82 +286,106 @@ msgstr "Neu" msgid "Edit" msgstr "Bearbeiten" -#: static/adm/js/gui.js:45 +#: static/adm/js/gui.js:45 static/adm/js/gui.js.c:322 msgid "Delete" msgstr "Löschen" #: static/adm/js/gui.js:49 -msgid "Refresh" -msgstr "Aktualisieren" - -#: static/adm/js/gui.js:53 msgid "Xls" msgstr "Xls" -#: static/adm/js/gui.js:166 +#: static/adm/js/gui.js:111 +msgid "Message" +msgstr "Nachricht" + +#: static/adm/js/gui.js:133 msgid "Deployed services" msgstr "Bereitgestellten Dienste" -#: static/adm/js/gui.js:204 +#: static/adm/js/gui.js:207 msgid "This field is required." msgstr "Dieses Feld ist erforderlich." -#: static/adm/js/gui.js:205 +#: static/adm/js/gui.js:208 msgid "Please fix this field." msgstr "Bitte korrigieren Sie in diesem Feld." -#: static/adm/js/gui.js:206 +#: static/adm/js/gui.js:209 msgid "Please enter a valid email address." msgstr "Bitte geben Sie eine gültige e-Mail-Adresse." -#: static/adm/js/gui.js:207 +#: static/adm/js/gui.js:210 msgid "Please enter a valid URL." msgstr "Bitte geben Sie eine gültige URL." -#: static/adm/js/gui.js:208 +#: static/adm/js/gui.js:211 msgid "Please enter a valid date." msgstr "Bitte geben Sie ein gültiges Datum." -#: static/adm/js/gui.js:209 +#: static/adm/js/gui.js:212 msgid "Please enter a valid date (ISO)." msgstr "Bitte geben Sie ein gültiges Datum (ISO)." -#: static/adm/js/gui.js:210 +#: static/adm/js/gui.js:213 msgid "Please enter a valid number." msgstr "Bitte geben Sie eine gültige Nummer." -#: static/adm/js/gui.js:211 +#: static/adm/js/gui.js:214 msgid "Please enter only digits." msgstr "Bitte geben Sie nur Ziffern." -#: static/adm/js/gui.js:212 +#: static/adm/js/gui.js:215 msgid "Please enter a valid credit card number." msgstr "Bitte geben Sie eine gültige Kreditkartennummer." -#: static/adm/js/gui.js:213 +#: static/adm/js/gui.js:216 msgid "Please enter the same value again." msgstr "Bitte geben Sie den gleichen Wert wieder." -#: static/adm/js/gui.js:214 +#: static/adm/js/gui.js:217 msgid "Please enter no more than {0} characters." msgstr "Bitte geben Sie nicht mehr als {0} Zeichen." -#: static/adm/js/gui.js:215 +#: static/adm/js/gui.js:218 msgid "Please enter at least {0} characters." msgstr "Bitte geben Sie mindestens {0} Zeichen." -#: static/adm/js/gui.js:216 +#: static/adm/js/gui.js:219 msgid "Please enter a value between {0} and {1} characters long." msgstr "Bitte geben Sie einen Wert zwischen {0} und {1} Zeichen lang." -#: static/adm/js/gui.js:217 +#: static/adm/js/gui.js:220 msgid "Please enter a value between {0} and {1}." msgstr "Bitte geben Sie einen Wert zwischen {0} und {1}." -#: static/adm/js/gui.js:218 +#: static/adm/js/gui.js:221 msgid "Please enter a value less than or equal to {0}." msgstr "Bitte geben Sie einen Wert kleiner oder gleich {0}." -#: static/adm/js/gui.js:219 +#: static/adm/js/gui.js:222 msgid "Please enter a value greater than or equal to {0}." msgstr "Bitte geben Sie einen Wert größer oder gleich {0}." + +#: static/adm/js/gui.js:244 +msgid "Test result" +msgstr "Testergebnis" + +#: static/adm/js/gui.js:245 +msgid "Test error" +msgstr "Test-Fehler" + +#: static/adm/js/gui.js:276 +msgid "Edition successfully done" +msgstr "Edition erfolgreich durchgeführt" + +#: static/adm/js/gui.js:310 +msgid "Creation successfully done" +msgstr "Erstellung erfolgreich durchgeführt" + +#: static/adm/js/gui.js:321 +msgid "Are you sure do you want to delete " +msgstr "Bist du sicher wollen Sie löschen " + +#: static/adm/js/gui.js:327 +msgid "Item deleted" +msgstr "Element gelöscht" diff --git a/server/src/uds/locale/es/LC_MESSAGES/django.mo b/server/src/uds/locale/es/LC_MESSAGES/django.mo index ba1510082..0b673d2ce 100644 Binary files a/server/src/uds/locale/es/LC_MESSAGES/django.mo and b/server/src/uds/locale/es/LC_MESSAGES/django.mo differ diff --git a/server/src/uds/locale/es/LC_MESSAGES/django.po b/server/src/uds/locale/es/LC_MESSAGES/django.po index a328b9461..99a30fbec 100644 --- a/server/src/uds/locale/es/LC_MESSAGES/django.po +++ b/server/src/uds/locale/es/LC_MESSAGES/django.po @@ -31,7 +31,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: 2013-04-22 06:24+0200\n" "Last-Translator: \n" "Language-Team: Spanish \n" @@ -42,94 +42,152 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Lokalize 1.4\n" -#: REST/mixins.py:172 REST/methods/authenticators.py:82 -#: REST/methods/networks.py:68 REST/methods/osmanagers.py:71 -#: REST/methods/providers.py:75 REST/methods/transports.py:79 -#: REST/methods/users_groups.py:73 +#: REST/model.py:81 REST/methods/authenticators.py:56 +#: REST/methods/networks.py:51 REST/methods/osmanagers.py:52 +#: REST/methods/providers.py:57 REST/methods/transports.py:54 +#: REST/methods/users_groups.py:72 msgid "Name" msgstr "Nombre" -#: REST/mixins.py:175 +#: REST/model.py:82 msgid "Name of this element" msgstr "Nombre de este elemento" -#: REST/mixins.py:189 REST/methods/authenticators.py:83 -#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76 -#: REST/methods/transports.py:80 REST/methods/users_groups.py:74 -#: REST/methods/users_groups.py:102 +#: REST/model.py:88 REST/methods/authenticators.py:57 +#: REST/methods/osmanagers.py:53 REST/methods/providers.py:58 +#: REST/methods/services.py:126 REST/methods/transports.py:55 +#: REST/methods/users_groups.py:73 REST/methods/users_groups.py:108 msgid "Comments" msgstr "Comentarios" -#: REST/mixins.py:192 +#: REST/model.py:89 msgid "Comments for this element" msgstr "Comentarios para este elemento" -#: REST/methods/authenticators.py:80 +#: REST/model.py:97 REST/methods/authenticators.py:58 +#: REST/methods/transports.py:56 REST/methods/transports.py:69 +msgid "Priority" +msgstr "Prioridad" + +#: REST/model.py:98 +msgid "" +"Selects the priority of this element (lower number means higher priority)" +msgstr "" +"Selecciona la prioridad de este elemento (menor número significa mayor prioridad)" + +#: REST/model.py:106 REST/methods/authenticators.py:59 +msgid "Small name" +msgstr "Nombre pequeño" + +#: REST/model.py:107 +msgid "Small name of this element" +msgstr "Pequeño nombre de este elemento" + +#: REST/model.py:157 +msgid "Invalid Request" +msgstr "Solicitud inválida" + +#: REST/model.py:160 +msgid "Method not found" +msgstr "Método no encontrado" + +#: REST/model.py:163 +msgid "Item not found" +msgstr "Artículo no encontrado" + +#: REST/methods/authenticators.py:54 msgid "Current authenticators" msgstr "Autenticadores actuales" -#: REST/methods/authenticators.py:84 +#: REST/methods/authenticators.py:60 +#: templates/uds/admin/tmpl/authenticators.html:18 msgid "Users" msgstr "Usuarios" -#: REST/methods/networks.py:66 +#: REST/methods/networks.py:49 msgid "Current Networks" msgstr "Redes actuales" -#: REST/methods/networks.py:69 templates/uds/index.html:79 -#: templates/uds/html5/index.html:127 +#: REST/methods/networks.py:52 templates/uds/index.html:79 +#: templates/uds/html5/index.html:124 msgid "Networks" msgstr "Redes" -#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 -#: REST/methods/transports.py:81 +#: REST/methods/networks.py:53 REST/methods/osmanagers.py:54 +#: REST/methods/transports.py:57 msgid "Used by" msgstr "Utilizado por" -#: REST/methods/osmanagers.py:69 +#: REST/methods/osmanagers.py:50 msgid "Current OS Managers" msgstr "Actual OS administradores" -#: REST/methods/providers.py:73 -msgid "Current service providers" -msgstr "Proveedores de servicio actuales" +#: REST/methods/providers.py:53 templates/uds/admin/snippets/navbar.html:18 +msgid "Service providers" +msgstr "Proveedores de servicios" -#: REST/methods/providers.py:77 templates/uds/index.html:51 -#: templates/uds/html5/index.html:68 +#: REST/methods/providers.py:59 templates/uds/index.html:51 +#: templates/uds/admin/tmpl/providers.html:18 +#: templates/uds/html5/index.html:65 msgid "Services" msgstr "Servicios" -#: REST/methods/transports.py:77 +#: REST/methods/services.py:119 +#, python-brace-format +msgid "Services of {0}" +msgstr "Servicios de {0}" + +#: REST/methods/services.py:121 +msgid "Current services" +msgstr "Servicios actuales" + +#: REST/methods/services.py:125 +msgid "Service name" +msgstr "Nombre del servicio" + +#: REST/methods/services.py:127 +msgid "Type" +msgstr "Tipo" + +#: REST/methods/services.py:128 templates/uds/admin/snippets/navbar.html:22 +msgid "Deployed services" +msgstr "Servicios desplegados" + +#: REST/methods/transports.py:52 msgid "Current Transports" msgstr "Transportes actuales" -#: REST/methods/users_groups.py:66 +#: REST/methods/transports.py:70 +msgid "Priority of this transport" +msgstr "Prioridad de este transporte" + +#: REST/methods/users_groups.py:65 #, python-brace-format msgid "Users of {0}" msgstr "Usuarios de {0}" -#: REST/methods/users_groups.py:68 +#: REST/methods/users_groups.py:67 msgid "Current users" msgstr "Usuarios actuales" -#: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101 +#: REST/methods/users_groups.py:71 REST/methods/users_groups.py:107 msgid "User Id" msgstr "Id de usuario" -#: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103 +#: REST/methods/users_groups.py:74 REST/methods/users_groups.py:109 msgid "state" msgstr "estado" -#: REST/methods/users_groups.py:76 +#: REST/methods/users_groups.py:75 msgid "Last access" msgstr "Último acceso" -#: REST/methods/users_groups.py:95 +#: REST/methods/users_groups.py:101 #, python-brace-format msgid "Groups of {0}" msgstr "Grupos de {0}" -#: REST/methods/users_groups.py:97 +#: REST/methods/users_groups.py:103 msgid "Current groups" msgstr "Grupos actuales" @@ -224,10 +282,8 @@ msgid "Timeout" msgstr "Espera " #: auths/ActiveDirectory_enterprise/Authenticator.py:35 -#: auths/EDirectory_enterprise/Authenticator.py:65 -#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 -msgid "Timeout in seconds of connection to LDAP" -msgstr "Tiempo de espera en segundos" +msgid "Timeout in seconds of connection to Active Directory" +msgstr "Tiempo de espera en segundos de conexión a Active Directory" #: auths/ActiveDirectory_enterprise/Authenticator.py:37 msgid "Active Directory Authenticator" @@ -267,10 +323,8 @@ msgstr "" "Debe especificar el nombre de usuario en el formulario USERNAME@DOMAIN.DOM" #: auths/ActiveDirectory_enterprise/Authenticator.py:164 -#: auths/EDirectory_enterprise/Authenticator.py:123 -#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 -msgid "Ldap connection error: " -msgstr "Error de conexión al ldap: " +msgid "Active directory connection error: " +msgstr "Error de conexión del directorio activo: " #: auths/ActiveDirectory_enterprise/Authenticator.py:344 #: auths/ActiveDirectory_enterprise/Authenticator.py:390 @@ -299,18 +353,18 @@ msgid "Domain seems to be incorrect, please check it" msgstr "Dominio parece ser incorrecta, por favor compruebe lo" #: auths/ActiveDirectory_enterprise/Authenticator.py:456 -msgid "Ldap does not seem an Active Directory (do not have user objects)" -msgstr "LDAP no parece un Active Directory (no tienen los objetos de usuario)" +msgid "Server does not seem an Active Directory (do not have user objects)" +msgstr "Servidor no parece un Active Directory (no tienen los objetos de usuario)" #: auths/ActiveDirectory_enterprise/Authenticator.py:464 -msgid "Ldap does not seem an Active Directory (no not have group objects)" -msgstr "LDAP no parece un Active Directory (no tienen objetos de grupo)" +msgid "Server does not seem an Active Directory (no not have group objects)" +msgstr "Servidor no parece un Active Directory (no tienen objetos de grupo)" #: auths/ActiveDirectory_enterprise/Authenticator.py:472 msgid "" -"Ldap does not seem an Active Directory (do not have any user nor groups)" +"Server does not seem an Active Directory (do not have any user nor groups)" msgstr "" -"LDAP no parece un Active Directory (no tienen ningún usuario ni grupos)" +"Servidor no parece un Active Directory (no tienen ningún usuario ni grupos)" #: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/EDirectory_enterprise/Authenticator.py:358 @@ -354,6 +408,11 @@ msgstr "Usuario admin" msgid "Username with read privileges on the eDirectory" msgstr "Nombre de usuario con privilegios de lectura en el eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 +msgid "Timeout in seconds of connection to LDAP" +msgstr "Tiempo de espera en segundos" + #: auths/EDirectory_enterprise/Authenticator.py:67 msgid "eDirectory Authenticator" msgstr "eDirectory autenticador" @@ -362,6 +421,11 @@ msgstr "eDirectory autenticador" msgid "Authenticate against eDirectory" msgstr "Autenticar con eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:123 +#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 +msgid "Ldap connection error: " +msgstr "Error de conexión al ldap: " + #: auths/EDirectory_enterprise/Authenticator.py:323 #: auths/RegexLdap/Authenticator.py:387 auths/SimpleLDAP/Authenticator.py:363 msgid "Ldap search base is incorrect" @@ -645,6 +709,7 @@ msgid "Fake Group" msgstr "Grupo falso" #: auths/Sample/SampleAuth.py:111 +#: templates/uds/admin/tmpl/authenticators.html:19 msgid "Groups" msgstr "Grupos" @@ -751,11 +816,11 @@ msgstr "" msgid "Can't cancel non running publication" msgstr "No se puede cancelar una publicación que no está activa" -#: core/managers/PublicationManager.py:212 +#: core/managers/PublicationManager.py:213 msgid "Can't unpublish non usable publication" msgstr "No se puede despublicar una publicación no activa" -#: core/managers/PublicationManager.py:215 +#: core/managers/PublicationManager.py:216 msgid "Can't unpublish publications with services in process" msgstr "No se puede despublicar con servicios en proceso" @@ -787,17 +852,17 @@ msgstr "24 bits" msgid "32 bits" msgstr "32 bits" -#: core/managers/UserServiceManager.py:320 +#: core/managers/UserServiceManager.py:322 msgid "Cancel requested for a non running operation, doing remove instead" msgstr "" "Cancelación solicitada para una operación no corriente, haciendo eliminar en " "su lugar" -#: core/managers/UserServiceManager.py:341 +#: core/managers/UserServiceManager.py:343 msgid "Can't remove a non active element" msgstr "No se puede eliminar un elemento que no está activo" -#: core/managers/UserServiceManager.py:354 +#: core/managers/UserServiceManager.py:356 #, python-brace-format msgid "Can't remove nor cancel {0} cause its states doesn't allows it" msgstr "No se puede eliminar o cancelar {0} porque sus estados no lo permiten" @@ -823,7 +888,7 @@ msgstr "Ninguno" msgid "Base Clustered Service" msgstr "Base en Cluster Service" -#: core/transports/BaseTransport.py:147 +#: core/transports/BaseTransport.py:153 msgid "Transport empty" msgstr "Transporte Vacio" @@ -1182,21 +1247,21 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/OVirt/OVirtLinkedService.py:77 -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 +#: services/Vmware_enterprise/VCLinkedCloneService.py:73 msgid "Number of desired machines to keep running waiting for a user" msgstr "Número de máquinas a manatener en ejecución esperando a un usuario" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:78 #: services/HyperV_enterprise/HyperVLinkedService.py:81 #: services/OVirt/OVirtLinkedService.py:83 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 msgid "Number of desired machines to keep suspended waiting for use" msgstr "Número de maquinas a mantener suspendidas esperando asignación" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:97 #: services/OVirt/OVirtLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base Machine" msgstr "Máquina de base" @@ -1208,13 +1273,13 @@ msgstr "Máquina de base para el servicio" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:98 -#: services/Vmware_enterprise/VCLinkedCloneService.py:38 +#: services/Vmware_enterprise/VCLinkedCloneService.py:39 msgid "Network" msgstr "Red" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:39 +#: services/Vmware_enterprise/VCLinkedCloneService.py:40 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -1224,13 +1289,13 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OVirt/OVirtLinkedService.py:112 -#: services/Vmware_enterprise/VCLinkedCloneService.py:51 +#: services/Vmware_enterprise/VCLinkedCloneService.py:52 msgid "Memory (Mb)" msgstr "Memoria (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:52 +#: services/Vmware_enterprise/VCLinkedCloneService.py:53 msgid "Memory for machines deployed from this service" msgstr "Memoria para máquinas desplegada desde este servicio" @@ -1248,27 +1313,27 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/OVirt/OVirtLinkedService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Machine Names" msgstr "Nombres de máquinas" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Base name for clones from this machine" msgstr "Nombre base de clones de esta máquina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:103 #: services/HyperV_enterprise/HyperVLinkedService.py:106 #: services/OVirt/OVirtLinkedService.py:119 -#: services/Vmware_enterprise/VCLinkedCloneService.py:56 +#: services/Vmware_enterprise/VCLinkedCloneService.py:57 msgid "Name Length" msgstr "Longitud del nombre" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:107 #: services/OVirt/OVirtLinkedService.py:120 -#: services/Vmware_enterprise/VCLinkedCloneService.py:57 +#: services/Vmware_enterprise/VCLinkedCloneService.py:58 msgid "Length of numeric part for the names of this machines (betwen 3 and 6" msgstr "" "Longitud de la parte numérica de los nombres de esta maquinaria (entre 3 y 6" @@ -1276,14 +1341,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:116 #: services/HyperV_enterprise/HyperVLinkedService.py:119 #: services/OVirt/OVirtLinkedService.py:143 -#: services/Vmware_enterprise/VCLinkedCloneService.py:95 +#: services/Vmware_enterprise/VCLinkedCloneService.py:96 msgid "The length of basename plus length must not be greater than 15" msgstr "La longitud de basename más longitud no debe ser superior a 15" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:118 #: services/HyperV_enterprise/HyperVLinkedService.py:121 #: services/OVirt/OVirtLinkedService.py:145 -#: services/Vmware_enterprise/VCLinkedCloneService.py:97 +#: services/Vmware_enterprise/VCLinkedCloneService.py:98 msgid "The machine name can't be only numbers" msgstr "El nombre del equipo no puede ser sólo números" @@ -1414,6 +1479,10 @@ msgstr "Pantalla" msgid "Display type (only for administration pourposses)" msgstr "Tipo de pantalla (solo para la administración)" +#: services/OVirt/OVirtLinkedService.py:147 +msgid "The minimum allowed memory is 256 Mb" +msgstr "El mínimo permitido es de memoria 256 Mb" + #: services/OVirt/OVirtProvider.py:73 msgid "oVirt Platform Provider" msgstr "Proveedor para la plataforma oVirt" @@ -1616,55 +1685,55 @@ msgstr "VmwareVC proveedor: " msgid "Connection params ok" msgstr "Conexión params ok" -#: services/Vmware_enterprise/VCLinkedCloneService.py:30 +#: services/Vmware_enterprise/VCLinkedCloneService.py:31 msgid "Datacenter" msgstr "Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:36 +#: services/Vmware_enterprise/VCLinkedCloneService.py:37 msgid "Datacenter containing base machine" msgstr "Máquina de base que contenga Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Pub. Resource Pool" msgstr "Pub. Fondo de recursos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Resource Pool where deploy clones" msgstr "Agrupación de recursos donde desplegar clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Clones Folder" msgstr "Carpeta de clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Folder where deploy clones" msgstr "Carpeta donde desplegar clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:42 +#: services/Vmware_enterprise/VCLinkedCloneService.py:43 msgid "Resource Pool" msgstr "Fondo de recursos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:48 +#: services/Vmware_enterprise/VCLinkedCloneService.py:49 msgid "Resource Pool containing base machine" msgstr "Máquina base contenedora de recurso piscina" -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base machine for this service" msgstr "Máquina base para este servicio" -#: services/Vmware_enterprise/VCLinkedCloneService.py:53 +#: services/Vmware_enterprise/VCLinkedCloneService.py:54 msgid "Datastores" msgstr "Almacenes de datos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:54 +#: services/Vmware_enterprise/VCLinkedCloneService.py:55 msgid "Datastores where to put incrementals" msgstr "Almacenes de datos dónde poner los backups incrementales" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "VMWare Linked clone base" msgstr "VMWare vinculado base clon" -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "" "This service provides access to Linked Clones machines on a Virtual Center" msgstr "" @@ -1700,34 +1769,34 @@ msgstr "" "Esta página contiene una lista de descargas proporcionadas por diferentes " "módulos" -#: templates/uds/index.html:70 templates/uds/html5/index.html:106 +#: templates/uds/index.html:70 templates/uds/html5/index.html:103 msgid "Java not found" msgstr "Java no encontrado" -#: templates/uds/index.html:71 templates/uds/html5/index.html:109 +#: templates/uds/index.html:71 templates/uds/html5/index.html:106 msgid "" "Java is not available on your browser, and the selected transport needs it." msgstr "" "Java no está disponible en el navegador, y el transporte seleccionado " "precisa de el." -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Please, install latest version from" msgstr "Instale la versión mas reciente desde el" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Java website" msgstr "Sitio Web de Java" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "and restart browser" msgstr "y reinicie el navegador" -#: templates/uds/index.html:78 templates/uds/html5/index.html:126 +#: templates/uds/index.html:78 templates/uds/html5/index.html:123 msgid "Ip" msgstr "IP" -#: templates/uds/index.html:80 templates/uds/html5/index.html:128 +#: templates/uds/index.html:80 templates/uds/html5/index.html:125 msgid "Transports" msgstr "Transportes" @@ -1769,14 +1838,9 @@ msgid "Save Preferences" msgstr "Guardar Preferencias" #: templates/uds/admin/snippets/navbar.html:6 -#: templates/uds/html5/snippets/navbar.html:6 -msgid "toggle navigation" +msgid "Toggle navigation" msgstr "Toggle navegación" -#: templates/uds/admin/snippets/navbar.html:18 -msgid "Service providers" -msgstr "Proveedores de servicios" - #: templates/uds/admin/snippets/navbar.html:19 #: templates/uds/admin/tmpl/authenticators.html:4 msgid "Authenticators" @@ -1787,33 +1851,55 @@ msgstr "Autenticadores" msgid "Connectivity" msgstr "Conectividad" -#: templates/uds/admin/snippets/navbar.html:22 -msgid "Deployed services" -msgstr "Servicios desplegados" - #: templates/uds/admin/snippets/navbar.html:26 msgid "Configuration" msgstr "Configuración" +#: templates/uds/admin/snippets/navbar.html:27 +msgid "Clear cache" +msgstr "Caché de clara" + #: templates/uds/admin/snippets/navbar.html:57 -msgid "Exit dashboard" -msgstr "Tablero de salida" +msgid "Exit" +msgstr "Salida" #: templates/uds/admin/snippets/navbar.html:58 -#: templates/uds/html5/snippets/navbar.html:47 -msgid "logout" -msgstr "logout" +msgid "Logout" +msgstr "Logout" + +#: templates/uds/admin/tmpl/authenticators.html:20 +#: templates/uds/admin/tmpl/providers.html:19 +msgid "Logs" +msgstr "Registros" #: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/dashboard.html:4 msgid "overview" msgstr "Resumen" -#: templates/uds/admin/tmpl/modal.html:18 +#: templates/uds/admin/tmpl/providers.html:4 +#: templates/uds/admin/tmpl/providers.html:7 +msgid "Providers" +msgstr "Proveedores" + +#: templates/uds/admin/tmpl/request_failed.html:4 +msgid "Error on request" +msgstr "Error en la solicitud" + +#: templates/uds/admin/tmpl/request_failed.html:7 +msgid "There was an error requesting data from server, please, try again" +msgstr "Hubo un error solicitando datos del servidor, por favor, pruebe otra vez" + +#: templates/uds/admin/tmpl/request_failed.html:9 +#: templates/uds/html5/snippets/navbar.html:44 +msgid "Dashboard" +msgstr "Tablero de instrumentos" + +#: templates/uds/admin/tmpl/comp/modal.html:19 msgid "Close" msgstr "Cerrar" -#: templates/uds/admin/tmpl/modal.html:25 +#: templates/uds/admin/tmpl/comp/modal.html:26 msgid "Save" msgstr "Salvar" @@ -1825,6 +1911,26 @@ msgstr "Sí" msgid "No" msgstr "No" +#: templates/uds/admin/tmpl/fld/editlist_popup.html:5 +msgid "Current list" +msgstr "Lista actualizada" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:13 +msgid "Remove selected" +msgstr "Eliminar seleccionados" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:14 +msgid "Remove all" +msgstr "Eliminar todos" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:19 +msgid "Add element" +msgstr "Añadir elemento" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:23 +msgid "Add" +msgstr "Añadir" + #: templates/uds/html5/detectJava.html:4 msgid "Login redirection to UDS" msgstr "Redirección de inicio de sesión para UDS" @@ -1843,19 +1949,19 @@ msgstr "Volver a la lista de servicios" msgid "Available services list" msgstr "Lista de servicios disponibles" -#: templates/uds/html5/index.html:83 +#: templates/uds/html5/index.html:80 msgid "transports" msgstr "transportes" -#: templates/uds/html5/index.html:123 +#: templates/uds/html5/index.html:120 msgid "Administrator info panel" msgstr "Panel de información del administrador" -#: templates/uds/html5/index.html:129 +#: templates/uds/html5/index.html:126 msgid "User Agent" msgstr "Agente de usuario" -#: templates/uds/html5/index.html:130 +#: templates/uds/html5/index.html:127 msgid "OS" msgstr "OS" @@ -1908,13 +2014,17 @@ msgstr "" msgid "Back" msgstr "Atrás" +#: templates/uds/html5/snippets/navbar.html:6 +msgid "toggle navigation" +msgstr "Toggle navegación" + #: templates/uds/html5/snippets/navbar.html:20 msgid "About" msgstr "Acerca de" -#: templates/uds/html5/snippets/navbar.html:44 -msgid "Dashboard" -msgstr "Tablero de instrumentos" +#: templates/uds/html5/snippets/navbar.html:47 +msgid "logout" +msgstr "logout" #: templates/uds/html5/templates/base.html:52 msgid "" @@ -2443,8 +2553,8 @@ msgstr "El autenticador no existe" #: xmlrpc/auths/Authenticators.py:163 xmlrpc/osmanagers/OSManagers.py:117 #: xmlrpc/services/ServiceProviders.py:115 -#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:164 -#: xmlrpc/services/Services.py:188 xmlrpc/transports/Networks.py:87 +#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:165 +#: xmlrpc/services/Services.py:189 xmlrpc/transports/Networks.py:87 #: xmlrpc/transports/Networks.py:98 #, python-format msgid "Name %s already exists" @@ -2518,17 +2628,17 @@ msgstr "No se puede borrar un proveedor de servicios con servicios asociados" msgid "Can't locate the service provider" msgstr "No puedo hallar el proveedor de servicios" -#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:206 +#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:207 #: xmlrpc/transports/Networks.py:71 xmlrpc/transports/Networks.py:79 #: xmlrpc/transports/Networks.py:96 msgid "Please, refresh interface" msgstr "Por favor, refresque la interfaz." -#: xmlrpc/services/Services.py:203 +#: xmlrpc/services/Services.py:204 msgid "Can't delete services with deployed services associated" msgstr "No se puede borrar un servicio con servicios desplegados asociados" -#: xmlrpc/services/Services.py:206 +#: xmlrpc/services/Services.py:207 msgid "Can't locate the service" msgstr "No puedo hallar el servicio" diff --git a/server/src/uds/locale/es/LC_MESSAGES/djangojs.mo b/server/src/uds/locale/es/LC_MESSAGES/djangojs.mo index 5954b39e1..d734c0e7e 100644 Binary files a/server/src/uds/locale/es/LC_MESSAGES/djangojs.mo and b/server/src/uds/locale/es/LC_MESSAGES/djangojs.mo differ diff --git a/server/src/uds/locale/es/LC_MESSAGES/djangojs.po b/server/src/uds/locale/es/LC_MESSAGES/djangojs.po index d94edc8db..a83ec8264 100644 --- a/server/src/uds/locale/es/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/es/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,83 +18,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: static/adm/js/api-tools.js:46 -msgid "Just a moment..." -msgstr "Un momento..." - -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Sunday" msgstr "Domingo" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Monday" msgstr "Lunes" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Tuesday" msgstr "Martes" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Wednesday" msgstr "Miércoles" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Thursday" msgstr "Jueves" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Friday" msgstr "Viernes" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Saturday" msgstr "Sábado" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "January" msgstr "Enero" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "February" msgstr "Febrero" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "March" msgstr "Marzo" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "April" msgstr "Abril" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "May" msgstr "Mayo" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "June" msgstr "Junio" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "July" msgstr "Julio" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "August" msgstr "Agosto" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "September" msgstr "Septiembre" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "October" msgstr "Octubre" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "November" msgstr "Noviembre" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "December" msgstr "Diciembre" @@ -102,26 +98,154 @@ msgstr "Diciembre" msgid "_MENU_ records per page" msgstr "Registros _MENU_ por página" -#: static/adm/js/gui-elements.js:33 -msgid "Service Providers" -msgstr "Proveedores de servicios" +#: static/adm/js/gui-definition.js:38 +msgid "Test" +msgstr "Prueba" -#: static/adm/js/gui-elements.js:40 -msgid "Edit service provider" +#: static/adm/js/gui-definition.js:140 +msgid "Edit service" +msgstr "Editar servicio" + +#: static/adm/js/gui-definition.js:140 +msgid "Error processing service" +msgstr "Servicio de procesamiento de errores" + +#: static/adm/js/gui-definition.js:141 +msgid "New service" +msgstr "Nuevo servicio" + +#: static/adm/js/gui-definition.js:141 +msgid "Error creating service" +msgstr "Error al crear el servicio" + +#: static/adm/js/gui-definition.js:142 +msgid "Delete service" +msgstr "Eliminar servicio" + +#: static/adm/js/gui-definition.js:142 +msgid "Error deleting service" +msgstr "Error eliminar servicio" + +#: static/adm/js/gui-definition.js:157 +msgid "New provider" +msgstr "Nuevo proveedor" + +#: static/adm/js/gui-definition.js:157 +msgid "Error creating provider" +msgstr "Proveedor creando error" + +#: static/adm/js/gui-definition.js:158 +msgid "Edit provider" msgstr "Editar proveedor" -#: static/adm/js/gui-elements.js:104 +#: static/adm/js/gui-definition.js:158 +msgid "Error processing provider" +msgstr "Proveedor de procesamiento de error" + +#: static/adm/js/gui-definition.js:159 +msgid "Delete provider" +msgstr "Eliminar proveedor" + +#: static/adm/js/gui-definition.js:159 +msgid "Error deleting provider" +msgstr "Proveedor de eliminación de errores" + +#: static/adm/js/gui-definition.js:177 +msgid "Test authenticator" +msgstr "Autenticador de prueba" + +#: static/adm/js/gui-definition.js:295 +msgid "New authenticator" +msgstr "Nuevo autenticador" + +#: static/adm/js/gui-definition.js:295 +msgid "Error creating authenticator" +msgstr "Autenticador creando error" + +#: static/adm/js/gui-definition.js:296 msgid "Edit authenticator" msgstr "Editar autenticador" -#: static/adm/js/gui-elements.js:149 +#: static/adm/js/gui-definition.js:296 +msgid "Error processing authenticator" +msgstr "Procesamiento de autenticador de error" + +#: static/adm/js/gui-definition.js:297 +msgid "Delete authenticator" +msgstr "Eliminar autenticador" + +#: static/adm/js/gui-definition.js:297 +msgid "Error deleting authenticator" +msgstr "Autenticador eliminar error" + +#: static/adm/js/gui-definition.js:363 msgid "Edit transport" msgstr "Editar transporte" -#: static/adm/js/gui-elements.js:159 +#: static/adm/js/gui-definition.js:370 static/adm/js/gui-definition.js.c:405 +msgid "Error creating transport" +msgstr "Error al crear el transporte" + +#: static/adm/js/gui-definition.js:388 +msgid "Available for networks" +msgstr "Disponible para redes" + +#: static/adm/js/gui-definition.js:389 +msgid "Select networks that will see this transport" +msgstr "Seleccione redes que verán este transporte" + +#: static/adm/js/gui-definition.js:390 +msgid "Transport active for selected networks" +msgstr "Transporte activo para redes seleccionadas" + +#: static/adm/js/gui-definition.js:391 +msgid "" +"If active, transport will only be available on selected networks. If " +"inactive, transport will be available form any net EXCEPT selected networks" +msgstr "" +"Si está activo, transporte sólo estará disponible en las redes. If " +"inactivo, transporte estará disponible forma cualquiera neto excepto redes seleccionadas" + +#: static/adm/js/gui-definition.js:397 msgid "New transport" msgstr "Nuevo transporte" +#: static/adm/js/gui-definition.js:414 +msgid "Error removing transport" +msgstr "Error quitar transporte" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache" +msgstr "Caché" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache has been flushed" +msgstr "Caché ha sido volcada" + +#: static/adm/js/gui-element.js:471 +msgid "Date" +msgstr "Fecha" + +#: static/adm/js/gui-element.js:478 +msgid "level" +msgstr "nivel" + +#: static/adm/js/gui-element.js:486 +msgid "source" +msgstr "fuente" + +#: static/adm/js/gui-element.js:493 +msgid "message" +msgstr "Mensaje" + +#: static/adm/js/gui-element.js:499 +msgid "Logs" +msgstr "Registros" + +#: static/adm/js/gui-tools.js:7 +msgid "Just a moment..." +msgstr "Un momento..." + #: static/adm/js/gui.js:20 msgid "Empty" msgstr "Vacío" @@ -154,14 +278,6 @@ msgstr "Primero" msgid "Last" msgstr "Duran" -#: static/adm/js/gui.js:30 -msgid "Next" -msgstr "Próxima" - -#: static/adm/js/gui.js:31 -msgid "Previous" -msgstr "Anterior" - #: static/adm/js/gui.js:37 msgid "New" msgstr "Nuevo" @@ -170,82 +286,108 @@ msgstr "Nuevo" msgid "Edit" msgstr "Editar" -#: static/adm/js/gui.js:45 +#: static/adm/js/gui.js:45 static/adm/js/gui.js.c:322 msgid "Delete" msgstr "Borrar" #: static/adm/js/gui.js:49 -msgid "Refresh" -msgstr "Actualización" - -#: static/adm/js/gui.js:53 msgid "Xls" msgstr "XLS" -#: static/adm/js/gui.js:166 +#: static/adm/js/gui.js:111 +msgid "Message" +msgstr "Mensaje" + +#: static/adm/js/gui.js:133 msgid "Deployed services" msgstr "Servicios desplegados" -#: static/adm/js/gui.js:204 +#: static/adm/js/gui.js:207 msgid "This field is required." msgstr "Este campo es requerido." -#: static/adm/js/gui.js:205 +#: static/adm/js/gui.js:208 msgid "Please fix this field." msgstr "Por favor arreglar este campo." -#: static/adm/js/gui.js:206 +#: static/adm/js/gui.js:209 msgid "Please enter a valid email address." msgstr "Introduzca una dirección de correo electrónico válida." -#: static/adm/js/gui.js:207 +#: static/adm/js/gui.js:210 msgid "Please enter a valid URL." msgstr "Por favor, introduzca una URL válida." -#: static/adm/js/gui.js:208 +#: static/adm/js/gui.js:211 msgid "Please enter a valid date." msgstr "Por favor, introduzca una fecha válida." -#: static/adm/js/gui.js:209 +#: static/adm/js/gui.js:212 msgid "Please enter a valid date (ISO)." msgstr "Por favor, introduzca una fecha válida (ISO)." -#: static/adm/js/gui.js:210 +#: static/adm/js/gui.js:213 msgid "Please enter a valid number." msgstr "Por favor, introduzca un número válido." -#: static/adm/js/gui.js:211 +#: static/adm/js/gui.js:214 msgid "Please enter only digits." msgstr "Introduce sólo dígitos." -#: static/adm/js/gui.js:212 +#: static/adm/js/gui.js:215 msgid "Please enter a valid credit card number." msgstr "Por favor, introduzca un número de tarjeta de crédito válida." -#: static/adm/js/gui.js:213 +#: static/adm/js/gui.js:216 msgid "Please enter the same value again." msgstr "Por favor, introduzca el valor mismo otra vez." -#: static/adm/js/gui.js:214 +#: static/adm/js/gui.js:217 msgid "Please enter no more than {0} characters." msgstr "Introduce no más de {0} caracteres." -#: static/adm/js/gui.js:215 +#: static/adm/js/gui.js:218 msgid "Please enter at least {0} characters." msgstr "Introduce al menos {0} caracteres." -#: static/adm/js/gui.js:216 +#: static/adm/js/gui.js:219 msgid "Please enter a value between {0} and {1} characters long." -msgstr "Por favor, introduzca un valor entre caracteres {0} y {1} durante mucho tiempo." +msgstr "" +"Por favor, introduzca un valor entre caracteres {0} y {1} durante mucho " +"tiempo." -#: static/adm/js/gui.js:217 +#: static/adm/js/gui.js:220 msgid "Please enter a value between {0} and {1}." msgstr "Por favor, introduzca un valor entre {0} y {1}." -#: static/adm/js/gui.js:218 +#: static/adm/js/gui.js:221 msgid "Please enter a value less than or equal to {0}." msgstr "Por favor, introduzca un valor menor o igual a {0}." -#: static/adm/js/gui.js:219 +#: static/adm/js/gui.js:222 msgid "Please enter a value greater than or equal to {0}." msgstr "Por favor, introduzca un valor mayor o igual a {0}." + +#: static/adm/js/gui.js:244 +msgid "Test result" +msgstr "Resultado de la prueba" + +#: static/adm/js/gui.js:245 +msgid "Test error" +msgstr "Error de prueba" + +#: static/adm/js/gui.js:276 +msgid "Edition successfully done" +msgstr "Edición hecho con éxito" + +#: static/adm/js/gui.js:310 +msgid "Creation successfully done" +msgstr "Creación hecho con éxito" + +#: static/adm/js/gui.js:321 +msgid "Are you sure do you want to delete " +msgstr "¿Estás seguro que quieres borrar " + +#: static/adm/js/gui.js:327 +msgid "Item deleted" +msgstr "Elemento eliminado" diff --git a/server/src/uds/locale/fr/LC_MESSAGES/django.mo b/server/src/uds/locale/fr/LC_MESSAGES/django.mo index ac4a9d093..83d086564 100644 Binary files a/server/src/uds/locale/fr/LC_MESSAGES/django.mo and b/server/src/uds/locale/fr/LC_MESSAGES/django.mo differ diff --git a/server/src/uds/locale/fr/LC_MESSAGES/django.po b/server/src/uds/locale/fr/LC_MESSAGES/django.po index 1fa7772a1..45c60d4e9 100644 --- a/server/src/uds/locale/fr/LC_MESSAGES/django.po +++ b/server/src/uds/locale/fr/LC_MESSAGES/django.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -42,94 +42,152 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: REST/mixins.py:172 REST/methods/authenticators.py:82 -#: REST/methods/networks.py:68 REST/methods/osmanagers.py:71 -#: REST/methods/providers.py:75 REST/methods/transports.py:79 -#: REST/methods/users_groups.py:73 +#: REST/model.py:81 REST/methods/authenticators.py:56 +#: REST/methods/networks.py:51 REST/methods/osmanagers.py:52 +#: REST/methods/providers.py:57 REST/methods/transports.py:54 +#: REST/methods/users_groups.py:72 msgid "Name" msgstr "Nom" -#: REST/mixins.py:175 +#: REST/model.py:82 msgid "Name of this element" msgstr "Nom de cet élément" -#: REST/mixins.py:189 REST/methods/authenticators.py:83 -#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76 -#: REST/methods/transports.py:80 REST/methods/users_groups.py:74 -#: REST/methods/users_groups.py:102 +#: REST/model.py:88 REST/methods/authenticators.py:57 +#: REST/methods/osmanagers.py:53 REST/methods/providers.py:58 +#: REST/methods/services.py:126 REST/methods/transports.py:55 +#: REST/methods/users_groups.py:73 REST/methods/users_groups.py:108 msgid "Comments" msgstr "Commentaires" -#: REST/mixins.py:192 +#: REST/model.py:89 msgid "Comments for this element" msgstr "Commentaires pour cet élément" -#: REST/methods/authenticators.py:80 +#: REST/model.py:97 REST/methods/authenticators.py:58 +#: REST/methods/transports.py:56 REST/methods/transports.py:69 +msgid "Priority" +msgstr "Priorité" + +#: REST/model.py:98 +msgid "" +"Selects the priority of this element (lower number means higher priority)" +msgstr "" +"Sélectionne la priorité de cet élément (priorité supérieure de moyens nombre inférieur)" + +#: REST/model.py:106 REST/methods/authenticators.py:59 +msgid "Small name" +msgstr "Petit nom" + +#: REST/model.py:107 +msgid "Small name of this element" +msgstr "Petit nom de cet élément" + +#: REST/model.py:157 +msgid "Invalid Request" +msgstr "Requête non valide" + +#: REST/model.py:160 +msgid "Method not found" +msgstr "Méthode introuvable" + +#: REST/model.py:163 +msgid "Item not found" +msgstr "Élément introuvable" + +#: REST/methods/authenticators.py:54 msgid "Current authenticators" msgstr "Authentificateurs actuels" -#: REST/methods/authenticators.py:84 +#: REST/methods/authenticators.py:60 +#: templates/uds/admin/tmpl/authenticators.html:18 msgid "Users" msgstr "Utilisateurs" -#: REST/methods/networks.py:66 +#: REST/methods/networks.py:49 msgid "Current Networks" msgstr "Réseaux actuels" -#: REST/methods/networks.py:69 templates/uds/index.html:79 -#: templates/uds/html5/index.html:127 +#: REST/methods/networks.py:52 templates/uds/index.html:79 +#: templates/uds/html5/index.html:124 msgid "Networks" msgstr "Réseaux" -#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 -#: REST/methods/transports.py:81 +#: REST/methods/networks.py:53 REST/methods/osmanagers.py:54 +#: REST/methods/transports.py:57 msgid "Used by" msgstr "Utilisé par" -#: REST/methods/osmanagers.py:69 +#: REST/methods/osmanagers.py:50 msgid "Current OS Managers" msgstr "Dirigeants de OS actuels" -#: REST/methods/providers.py:73 -msgid "Current service providers" -msgstr "Fournisseurs de services actuels" +#: REST/methods/providers.py:53 templates/uds/admin/snippets/navbar.html:18 +msgid "Service providers" +msgstr "Fournisseurs de services" -#: REST/methods/providers.py:77 templates/uds/index.html:51 -#: templates/uds/html5/index.html:68 +#: REST/methods/providers.py:59 templates/uds/index.html:51 +#: templates/uds/admin/tmpl/providers.html:18 +#: templates/uds/html5/index.html:65 msgid "Services" msgstr "Services" -#: REST/methods/transports.py:77 +#: REST/methods/services.py:119 +#, python-brace-format +msgid "Services of {0}" +msgstr "Services de {0}" + +#: REST/methods/services.py:121 +msgid "Current services" +msgstr "Services actuels" + +#: REST/methods/services.py:125 +msgid "Service name" +msgstr "Nom du service" + +#: REST/methods/services.py:127 +msgid "Type" +msgstr "Type" + +#: REST/methods/services.py:128 templates/uds/admin/snippets/navbar.html:22 +msgid "Deployed services" +msgstr "Services déployés" + +#: REST/methods/transports.py:52 msgid "Current Transports" msgstr "Transports actuels" -#: REST/methods/users_groups.py:66 +#: REST/methods/transports.py:70 +msgid "Priority of this transport" +msgstr "Priorité de ce transport" + +#: REST/methods/users_groups.py:65 #, python-brace-format msgid "Users of {0}" msgstr "Utilisateurs de {0}" -#: REST/methods/users_groups.py:68 +#: REST/methods/users_groups.py:67 msgid "Current users" msgstr "Utilisateurs actuels" -#: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101 +#: REST/methods/users_groups.py:71 REST/methods/users_groups.py:107 msgid "User Id" msgstr "Id de l'utilisateur" -#: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103 +#: REST/methods/users_groups.py:74 REST/methods/users_groups.py:109 msgid "state" msgstr "État" -#: REST/methods/users_groups.py:76 +#: REST/methods/users_groups.py:75 msgid "Last access" msgstr "Dernier accès" -#: REST/methods/users_groups.py:95 +#: REST/methods/users_groups.py:101 #, python-brace-format msgid "Groups of {0}" msgstr "Groupes de {0}" -#: REST/methods/users_groups.py:97 +#: REST/methods/users_groups.py:103 msgid "Current groups" msgstr "Groupes actuels" @@ -226,10 +284,8 @@ msgid "Timeout" msgstr "Temporisation" #: auths/ActiveDirectory_enterprise/Authenticator.py:35 -#: auths/EDirectory_enterprise/Authenticator.py:65 -#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 -msgid "Timeout in seconds of connection to LDAP" -msgstr "Délai en secondes de la connexion à LDAP" +msgid "Timeout in seconds of connection to Active Directory" +msgstr "Délai d'attente en secondes de connexion à Active Directory" #: auths/ActiveDirectory_enterprise/Authenticator.py:37 msgid "Active Directory Authenticator" @@ -268,10 +324,8 @@ msgid "Must specify the username in the form USERNAME@DOMAIN.DOM" msgstr "Doit spécifier le nom d'utilisateur sous la forme USERNAME@DOMAIN.DOM" #: auths/ActiveDirectory_enterprise/Authenticator.py:164 -#: auths/EDirectory_enterprise/Authenticator.py:123 -#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 -msgid "Ldap connection error: " -msgstr "Erreur de connexion LDAP : " +msgid "Active directory connection error: " +msgstr "Erreur de connexion active directory : " #: auths/ActiveDirectory_enterprise/Authenticator.py:344 #: auths/ActiveDirectory_enterprise/Authenticator.py:390 @@ -300,23 +354,18 @@ msgid "Domain seems to be incorrect, please check it" msgstr "Domaine semble être incorrect, veuillez bien consulter le" #: auths/ActiveDirectory_enterprise/Authenticator.py:456 -msgid "Ldap does not seem an Active Directory (do not have user objects)" -msgstr "" -"LDAP ne semble pas un serveur Active Directory (n'ont pas les objets " -"utilisateur)" +msgid "Server does not seem an Active Directory (do not have user objects)" +msgstr "Serveur ne semble pas un serveur Active Directory (n'ont pas les objets utilisateur)" #: auths/ActiveDirectory_enterprise/Authenticator.py:464 -msgid "Ldap does not seem an Active Directory (no not have group objects)" -msgstr "" -"LDAP ne semble pas un serveur Active Directory (ne pas ont des objets de " -"groupe)" +msgid "Server does not seem an Active Directory (no not have group objects)" +msgstr "Serveur ne semble pas un serveur Active Directory (ne pas ont des objets de groupe)" #: auths/ActiveDirectory_enterprise/Authenticator.py:472 msgid "" -"Ldap does not seem an Active Directory (do not have any user nor groups)" +"Server does not seem an Active Directory (do not have any user nor groups)" msgstr "" -"LDAP ne semble pas un serveur Active Directory (n'ont pas l'utilisateur ou " -"groupes)" +"Serveur ne semble pas un serveur Active Directory (n'ont pas l'utilisateur ou groupes)" #: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/EDirectory_enterprise/Authenticator.py:358 @@ -359,6 +408,11 @@ msgstr "Utilisateur admin" msgid "Username with read privileges on the eDirectory" msgstr "Nom d'utilisateur avec des privilèges de lecture sur l'eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 +msgid "Timeout in seconds of connection to LDAP" +msgstr "Délai en secondes de la connexion à LDAP" + #: auths/EDirectory_enterprise/Authenticator.py:67 msgid "eDirectory Authenticator" msgstr "eDirectory authentificateur" @@ -367,6 +421,11 @@ msgstr "eDirectory authentificateur" msgid "Authenticate against eDirectory" msgstr "S'authentifier auprès d'eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:123 +#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 +msgid "Ldap connection error: " +msgstr "Erreur de connexion LDAP : " + #: auths/EDirectory_enterprise/Authenticator.py:323 #: auths/RegexLdap/Authenticator.py:387 auths/SimpleLDAP/Authenticator.py:363 msgid "Ldap search base is incorrect" @@ -651,6 +710,7 @@ msgid "Fake Group" msgstr "Faux groupe" #: auths/Sample/SampleAuth.py:111 +#: templates/uds/admin/tmpl/authenticators.html:19 msgid "Groups" msgstr "Groupes" @@ -758,11 +818,11 @@ msgstr "" msgid "Can't cancel non running publication" msgstr "Ne peut annuler la publication non courante" -#: core/managers/PublicationManager.py:212 +#: core/managers/PublicationManager.py:213 msgid "Can't unpublish non usable publication" msgstr "Ne peut annuler la publication publication non utilisable" -#: core/managers/PublicationManager.py:215 +#: core/managers/PublicationManager.py:216 msgid "Can't unpublish publications with services in process" msgstr "" "Ne peut annuler la publication des publications avec services de processus" @@ -795,17 +855,17 @@ msgstr "24 bits" msgid "32 bits" msgstr "32 bits" -#: core/managers/UserServiceManager.py:320 +#: core/managers/UserServiceManager.py:322 msgid "Cancel requested for a non running operation, doing remove instead" msgstr "" "Annuler demandée pour une opération non en cours d'exécution, faire enlever " "à la place" -#: core/managers/UserServiceManager.py:341 +#: core/managers/UserServiceManager.py:343 msgid "Can't remove a non active element" msgstr "Impossible de supprimer un élément non actif" -#: core/managers/UserServiceManager.py:354 +#: core/managers/UserServiceManager.py:356 #, python-brace-format msgid "Can't remove nor cancel {0} cause its states doesn't allows it" msgstr "Ne peut pas supprimer ni annuler {0} cause ses États ne lui permet pas" @@ -831,7 +891,7 @@ msgstr "Aucun" msgid "Base Clustered Service" msgstr "Base en cluster Service" -#: core/transports/BaseTransport.py:147 +#: core/transports/BaseTransport.py:153 msgid "Transport empty" msgstr "Transport vide" @@ -1194,14 +1254,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/OVirt/OVirtLinkedService.py:77 -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 +#: services/Vmware_enterprise/VCLinkedCloneService.py:73 msgid "Number of desired machines to keep running waiting for a user" msgstr "Nombre de machines désirés de courir d'attente pour un utilisateur." #: services/HyperV_enterprise/HyperVClusterLinkedService.py:78 #: services/HyperV_enterprise/HyperVLinkedService.py:81 #: services/OVirt/OVirtLinkedService.py:83 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 msgid "Number of desired machines to keep suspended waiting for use" msgstr "" "Nombre de machines désirés pour garder suspendu en attente pour utilisation" @@ -1209,7 +1269,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:97 #: services/OVirt/OVirtLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base Machine" msgstr "Machine de base" @@ -1221,13 +1281,13 @@ msgstr "Machine de base de service" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:98 -#: services/Vmware_enterprise/VCLinkedCloneService.py:38 +#: services/Vmware_enterprise/VCLinkedCloneService.py:39 msgid "Network" msgstr "Réseau" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:39 +#: services/Vmware_enterprise/VCLinkedCloneService.py:40 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -1237,13 +1297,13 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OVirt/OVirtLinkedService.py:112 -#: services/Vmware_enterprise/VCLinkedCloneService.py:51 +#: services/Vmware_enterprise/VCLinkedCloneService.py:52 msgid "Memory (Mb)" msgstr "Mémoire (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:52 +#: services/Vmware_enterprise/VCLinkedCloneService.py:53 msgid "Memory for machines deployed from this service" msgstr "Mémoire pour ordinateurs déployés de ce service" @@ -1261,27 +1321,27 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/OVirt/OVirtLinkedService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Machine Names" msgstr "Noms de machine" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Base name for clones from this machine" msgstr "Nom de base des clones de cette machine" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:103 #: services/HyperV_enterprise/HyperVLinkedService.py:106 #: services/OVirt/OVirtLinkedService.py:119 -#: services/Vmware_enterprise/VCLinkedCloneService.py:56 +#: services/Vmware_enterprise/VCLinkedCloneService.py:57 msgid "Name Length" msgstr "Longueur du nom" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:107 #: services/OVirt/OVirtLinkedService.py:120 -#: services/Vmware_enterprise/VCLinkedCloneService.py:57 +#: services/Vmware_enterprise/VCLinkedCloneService.py:58 msgid "Length of numeric part for the names of this machines (betwen 3 and 6" msgstr "" "Longueur de la partie numérique pour les noms de ces machines (images 3 et 6" @@ -1289,7 +1349,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:116 #: services/HyperV_enterprise/HyperVLinkedService.py:119 #: services/OVirt/OVirtLinkedService.py:143 -#: services/Vmware_enterprise/VCLinkedCloneService.py:95 +#: services/Vmware_enterprise/VCLinkedCloneService.py:96 msgid "The length of basename plus length must not be greater than 15" msgstr "" "La longueur du nom de base plus la longueur ne doit pas être supérieure à 15" @@ -1297,7 +1357,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:118 #: services/HyperV_enterprise/HyperVLinkedService.py:121 #: services/OVirt/OVirtLinkedService.py:145 -#: services/Vmware_enterprise/VCLinkedCloneService.py:97 +#: services/Vmware_enterprise/VCLinkedCloneService.py:98 msgid "The machine name can't be only numbers" msgstr "Nom de l'ordinateur ne peut pas être uniquement des nombres" @@ -1430,6 +1490,10 @@ msgstr "Affichage" msgid "Display type (only for administration pourposses)" msgstr "Type d'affichage (uniquement pour l'administration pourposses)" +#: services/OVirt/OVirtLinkedService.py:147 +msgid "The minimum allowed memory is 256 Mb" +msgstr "Le minimum autorisé est de mémoire 256 Mo" + #: services/OVirt/OVirtProvider.py:73 msgid "oVirt Platform Provider" msgstr "oVirt fournisseur de plate-forme" @@ -1634,55 +1698,55 @@ msgstr "VmwareVC fournisseur : " msgid "Connection params ok" msgstr "Connexion params ok" -#: services/Vmware_enterprise/VCLinkedCloneService.py:30 +#: services/Vmware_enterprise/VCLinkedCloneService.py:31 msgid "Datacenter" msgstr "Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:36 +#: services/Vmware_enterprise/VCLinkedCloneService.py:37 msgid "Datacenter containing base machine" msgstr "Machine de base contenant Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Pub. Resource Pool" msgstr "Pub. Liste des ressources" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Resource Pool where deploy clones" msgstr "Liste des ressources où déployer des clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Clones Folder" msgstr "Dossier de clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Folder where deploy clones" msgstr "Dossier où déployer des clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:42 +#: services/Vmware_enterprise/VCLinkedCloneService.py:43 msgid "Resource Pool" msgstr "Liste des ressources" -#: services/Vmware_enterprise/VCLinkedCloneService.py:48 +#: services/Vmware_enterprise/VCLinkedCloneService.py:49 msgid "Resource Pool containing base machine" msgstr "Machine de base contenant de ressource Pool" -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base machine for this service" msgstr "Machine de base pour ce service" -#: services/Vmware_enterprise/VCLinkedCloneService.py:53 +#: services/Vmware_enterprise/VCLinkedCloneService.py:54 msgid "Datastores" msgstr "Entrepôts de données" -#: services/Vmware_enterprise/VCLinkedCloneService.py:54 +#: services/Vmware_enterprise/VCLinkedCloneService.py:55 msgid "Datastores where to put incrementals" msgstr "Entrepôts de données où mettre des sauvegardes incrémentales" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "VMWare Linked clone base" msgstr "Base de clone lié VMWare" -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "" "This service provides access to Linked Clones machines on a Virtual Center" msgstr "" @@ -1717,34 +1781,34 @@ msgstr "" "Cette page contient une liste de téléchargeables fournis par différents " "modules" -#: templates/uds/index.html:70 templates/uds/html5/index.html:106 +#: templates/uds/index.html:70 templates/uds/html5/index.html:103 msgid "Java not found" msgstr "Java non trouvé" -#: templates/uds/index.html:71 templates/uds/html5/index.html:109 +#: templates/uds/index.html:71 templates/uds/html5/index.html:106 msgid "" "Java is not available on your browser, and the selected transport needs it." msgstr "" "Java n'est pas disponible sur votre navigateur, et le transport sélectionné " "en a besoin." -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Please, install latest version from" msgstr "Veuillez installer une version plus récente de" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Java website" msgstr "Site Web Java" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "and restart browser" msgstr "Redémarrez le navigateur" -#: templates/uds/index.html:78 templates/uds/html5/index.html:126 +#: templates/uds/index.html:78 templates/uds/html5/index.html:123 msgid "Ip" msgstr "IP" -#: templates/uds/index.html:80 templates/uds/html5/index.html:128 +#: templates/uds/index.html:80 templates/uds/html5/index.html:125 msgid "Transports" msgstr "Transports" @@ -1786,13 +1850,8 @@ msgid "Save Preferences" msgstr "Enregistrer les préférences" #: templates/uds/admin/snippets/navbar.html:6 -#: templates/uds/html5/snippets/navbar.html:6 -msgid "toggle navigation" -msgstr "activer/désactiver navigation" - -#: templates/uds/admin/snippets/navbar.html:18 -msgid "Service providers" -msgstr "Fournisseurs de services" +msgid "Toggle navigation" +msgstr "Activer/désactiver navigation" #: templates/uds/admin/snippets/navbar.html:19 #: templates/uds/admin/tmpl/authenticators.html:4 @@ -1804,33 +1863,55 @@ msgstr "Authentificateurs" msgid "Connectivity" msgstr "Connectivité" -#: templates/uds/admin/snippets/navbar.html:22 -msgid "Deployed services" -msgstr "Services déployés" - #: templates/uds/admin/snippets/navbar.html:26 msgid "Configuration" msgstr "Configuration" +#: templates/uds/admin/snippets/navbar.html:27 +msgid "Clear cache" +msgstr "Vider le cache" + #: templates/uds/admin/snippets/navbar.html:57 -msgid "Exit dashboard" -msgstr "Tableau de bord de sortie" +msgid "Exit" +msgstr "Sortie" #: templates/uds/admin/snippets/navbar.html:58 -#: templates/uds/html5/snippets/navbar.html:47 -msgid "logout" -msgstr "logout" +msgid "Logout" +msgstr "Logout" + +#: templates/uds/admin/tmpl/authenticators.html:20 +#: templates/uds/admin/tmpl/providers.html:19 +msgid "Logs" +msgstr "Journaux" #: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/dashboard.html:4 msgid "overview" msgstr "vue d'ensemble" -#: templates/uds/admin/tmpl/modal.html:18 +#: templates/uds/admin/tmpl/providers.html:4 +#: templates/uds/admin/tmpl/providers.html:7 +msgid "Providers" +msgstr "Fournisseurs" + +#: templates/uds/admin/tmpl/request_failed.html:4 +msgid "Error on request" +msgstr "Erreur sur demande" + +#: templates/uds/admin/tmpl/request_failed.html:7 +msgid "There was an error requesting data from server, please, try again" +msgstr "Il y avait une erreur en demandant les données depuis le serveur, s'il vous plaît, essaient à nouveau" + +#: templates/uds/admin/tmpl/request_failed.html:9 +#: templates/uds/html5/snippets/navbar.html:44 +msgid "Dashboard" +msgstr "Tableau de bord" + +#: templates/uds/admin/tmpl/comp/modal.html:19 msgid "Close" msgstr "Fermer" -#: templates/uds/admin/tmpl/modal.html:25 +#: templates/uds/admin/tmpl/comp/modal.html:26 msgid "Save" msgstr "Enregistrer" @@ -1842,6 +1923,26 @@ msgstr "Oui" msgid "No" msgstr "Non" +#: templates/uds/admin/tmpl/fld/editlist_popup.html:5 +msgid "Current list" +msgstr "Liste actuelle" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:13 +msgid "Remove selected" +msgstr "Supprimer sélectionné" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:14 +msgid "Remove all" +msgstr "Supprimer tous les" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:19 +msgid "Add element" +msgstr "Ajouter élément" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:23 +msgid "Add" +msgstr "Ajouter" + #: templates/uds/html5/detectJava.html:4 msgid "Login redirection to UDS" msgstr "Redirection de connexion à l'UDS" @@ -1860,19 +1961,19 @@ msgstr "Retour à la liste de services" msgid "Available services list" msgstr "Liste des services disponibles" -#: templates/uds/html5/index.html:83 +#: templates/uds/html5/index.html:80 msgid "transports" msgstr "Transports" -#: templates/uds/html5/index.html:123 +#: templates/uds/html5/index.html:120 msgid "Administrator info panel" msgstr "Panneau info administrateur" -#: templates/uds/html5/index.html:129 +#: templates/uds/html5/index.html:126 msgid "User Agent" msgstr "User Agent" -#: templates/uds/html5/index.html:130 +#: templates/uds/html5/index.html:127 msgid "OS" msgstr "SYSTÈME D'EXPLOITATION" @@ -1925,13 +2026,17 @@ msgstr "" msgid "Back" msgstr "Précédent" +#: templates/uds/html5/snippets/navbar.html:6 +msgid "toggle navigation" +msgstr "activer/désactiver navigation" + #: templates/uds/html5/snippets/navbar.html:20 msgid "About" msgstr "Sur" -#: templates/uds/html5/snippets/navbar.html:44 -msgid "Dashboard" -msgstr "Tableau de bord" +#: templates/uds/html5/snippets/navbar.html:47 +msgid "logout" +msgstr "logout" #: templates/uds/html5/templates/base.html:52 msgid "" @@ -2461,8 +2566,8 @@ msgstr "Authentificateur n'existe pas" #: xmlrpc/auths/Authenticators.py:163 xmlrpc/osmanagers/OSManagers.py:117 #: xmlrpc/services/ServiceProviders.py:115 -#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:164 -#: xmlrpc/services/Services.py:188 xmlrpc/transports/Networks.py:87 +#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:165 +#: xmlrpc/services/Services.py:189 xmlrpc/transports/Networks.py:87 #: xmlrpc/transports/Networks.py:98 #, python-format msgid "Name %s already exists" @@ -2539,17 +2644,17 @@ msgstr "" msgid "Can't locate the service provider" msgstr "Impossible de trouver le fournisseur de services" -#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:206 +#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:207 #: xmlrpc/transports/Networks.py:71 xmlrpc/transports/Networks.py:79 #: xmlrpc/transports/Networks.py:96 msgid "Please, refresh interface" msgstr "Veuillez actualiser interface" -#: xmlrpc/services/Services.py:203 +#: xmlrpc/services/Services.py:204 msgid "Can't delete services with deployed services associated" msgstr "Impossible de supprimer les services avec des services déployés liés" -#: xmlrpc/services/Services.py:206 +#: xmlrpc/services/Services.py:207 msgid "Can't locate the service" msgstr "Impossible de localiser le service" diff --git a/server/src/uds/locale/fr/LC_MESSAGES/djangojs.mo b/server/src/uds/locale/fr/LC_MESSAGES/djangojs.mo index bdaa1e149..e1dedd59d 100644 Binary files a/server/src/uds/locale/fr/LC_MESSAGES/djangojs.mo and b/server/src/uds/locale/fr/LC_MESSAGES/djangojs.mo differ diff --git a/server/src/uds/locale/fr/LC_MESSAGES/djangojs.po b/server/src/uds/locale/fr/LC_MESSAGES/djangojs.po index 48083a586..4cb4c2ca8 100644 --- a/server/src/uds/locale/fr/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/fr/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,83 +18,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: static/adm/js/api-tools.js:46 -msgid "Just a moment..." -msgstr "Un instant..." - -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Sunday" msgstr "Dimanche" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Monday" msgstr "Lundi" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Tuesday" msgstr "Mardi" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Wednesday" msgstr "Mercredi" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Thursday" msgstr "Jeudi" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Friday" msgstr "Vendredi" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Saturday" msgstr "Samedi" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "January" msgstr "Janvier" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "February" msgstr "Février" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "March" msgstr "Mars" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "April" msgstr "Avril" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "May" msgstr "Mai" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "June" msgstr "Juin" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "July" msgstr "Juillet" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "August" msgstr "Août" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "September" msgstr "Septembre" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "October" msgstr "Octobre" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "November" msgstr "Novembre" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "December" msgstr "Décembre" @@ -102,26 +98,154 @@ msgstr "Décembre" msgid "_MENU_ records per page" msgstr "Documents _MENU_ par page" -#: static/adm/js/gui-elements.js:33 -msgid "Service Providers" -msgstr "Fournisseurs de services" +#: static/adm/js/gui-definition.js:38 +msgid "Test" +msgstr "Test" -#: static/adm/js/gui-elements.js:40 -msgid "Edit service provider" -msgstr "Modifier le fournisseur de services" +#: static/adm/js/gui-definition.js:140 +msgid "Edit service" +msgstr "Modifier le service" -#: static/adm/js/gui-elements.js:104 +#: static/adm/js/gui-definition.js:140 +msgid "Error processing service" +msgstr "Service de traitement des erreurs" + +#: static/adm/js/gui-definition.js:141 +msgid "New service" +msgstr "Nouveau service" + +#: static/adm/js/gui-definition.js:141 +msgid "Error creating service" +msgstr "Erreur de création du service" + +#: static/adm/js/gui-definition.js:142 +msgid "Delete service" +msgstr "Supprimer le service" + +#: static/adm/js/gui-definition.js:142 +msgid "Error deleting service" +msgstr "Erreur de suppression de service" + +#: static/adm/js/gui-definition.js:157 +msgid "New provider" +msgstr "Nouveau fournisseur" + +#: static/adm/js/gui-definition.js:157 +msgid "Error creating provider" +msgstr "Création fournisseur d'erreur" + +#: static/adm/js/gui-definition.js:158 +msgid "Edit provider" +msgstr "Modifier le fournisseur" + +#: static/adm/js/gui-definition.js:158 +msgid "Error processing provider" +msgstr "Fournisseur de traitement d'erreur" + +#: static/adm/js/gui-definition.js:159 +msgid "Delete provider" +msgstr "Supprimer le fournisseur" + +#: static/adm/js/gui-definition.js:159 +msgid "Error deleting provider" +msgstr "Fournisseur d'erreur suppression" + +#: static/adm/js/gui-definition.js:177 +msgid "Test authenticator" +msgstr "Authentificateur de test" + +#: static/adm/js/gui-definition.js:295 +msgid "New authenticator" +msgstr "Nouvel authentificateur" + +#: static/adm/js/gui-definition.js:295 +msgid "Error creating authenticator" +msgstr "Authentificateur création erreur" + +#: static/adm/js/gui-definition.js:296 msgid "Edit authenticator" msgstr "Modifier l'authentificateur" -#: static/adm/js/gui-elements.js:149 +#: static/adm/js/gui-definition.js:296 +msgid "Error processing authenticator" +msgstr "Authentificateur de traitement d'erreur" + +#: static/adm/js/gui-definition.js:297 +msgid "Delete authenticator" +msgstr "Supprimer l'authentificateur" + +#: static/adm/js/gui-definition.js:297 +msgid "Error deleting authenticator" +msgstr "Authentificateur suppression de l'erreur" + +#: static/adm/js/gui-definition.js:363 msgid "Edit transport" msgstr "Edit de transport" -#: static/adm/js/gui-elements.js:159 +#: static/adm/js/gui-definition.js:370 static/adm/js/gui-definition.js.c:405 +msgid "Error creating transport" +msgstr "Erreur de création du transport" + +#: static/adm/js/gui-definition.js:388 +msgid "Available for networks" +msgstr "Disponible pour les réseaux" + +#: static/adm/js/gui-definition.js:389 +msgid "Select networks that will see this transport" +msgstr "Sélectionnez réseaux qui verront ce transport" + +#: static/adm/js/gui-definition.js:390 +msgid "Transport active for selected networks" +msgstr "Transport actif pour réseaux sélectionnés" + +#: static/adm/js/gui-definition.js:391 +msgid "" +"If active, transport will only be available on selected networks. If " +"inactive, transport will be available form any net EXCEPT selected networks" +msgstr "" +"S'il est activé, transport ne sera disponible sur les réseaux sélectionnés. If " +"inactif, le transport sera disponible sous forme soit tout filet sauf les réseaux sélectionnés" + +#: static/adm/js/gui-definition.js:397 msgid "New transport" msgstr "Nouveau transport" +#: static/adm/js/gui-definition.js:414 +msgid "Error removing transport" +msgstr "Erreur suppression des transports" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache" +msgstr "Cache" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache has been flushed" +msgstr "Cache a été vidé" + +#: static/adm/js/gui-element.js:471 +msgid "Date" +msgstr "Date" + +#: static/adm/js/gui-element.js:478 +msgid "level" +msgstr "niveau" + +#: static/adm/js/gui-element.js:486 +msgid "source" +msgstr "source" + +#: static/adm/js/gui-element.js:493 +msgid "message" +msgstr "Message" + +#: static/adm/js/gui-element.js:499 +msgid "Logs" +msgstr "Journaux" + +#: static/adm/js/gui-tools.js:7 +msgid "Just a moment..." +msgstr "Un instant..." + #: static/adm/js/gui.js:20 msgid "Empty" msgstr "Vide" @@ -154,14 +278,6 @@ msgstr "Première" msgid "Last" msgstr "Dernière" -#: static/adm/js/gui.js:30 -msgid "Next" -msgstr "Prochaine" - -#: static/adm/js/gui.js:31 -msgid "Previous" -msgstr "Précédent" - #: static/adm/js/gui.js:37 msgid "New" msgstr "Nouveau" @@ -170,82 +286,106 @@ msgstr "Nouveau" msgid "Edit" msgstr "Edit" -#: static/adm/js/gui.js:45 +#: static/adm/js/gui.js:45 static/adm/js/gui.js.c:322 msgid "Delete" msgstr "Supprimer" #: static/adm/js/gui.js:49 -msgid "Refresh" -msgstr "Actualisation" - -#: static/adm/js/gui.js:53 msgid "Xls" msgstr "XLS" -#: static/adm/js/gui.js:166 +#: static/adm/js/gui.js:111 +msgid "Message" +msgstr "Message" + +#: static/adm/js/gui.js:133 msgid "Deployed services" msgstr "Services déployés" -#: static/adm/js/gui.js:204 +#: static/adm/js/gui.js:207 msgid "This field is required." msgstr "Ce champ est obligatoire." -#: static/adm/js/gui.js:205 +#: static/adm/js/gui.js:208 msgid "Please fix this field." msgstr "Corrigez ce champ." -#: static/adm/js/gui.js:206 +#: static/adm/js/gui.js:209 msgid "Please enter a valid email address." msgstr "Veuillez entrer une adresse email valide." -#: static/adm/js/gui.js:207 +#: static/adm/js/gui.js:210 msgid "Please enter a valid URL." msgstr "Veuillez entrer une URL valide." -#: static/adm/js/gui.js:208 +#: static/adm/js/gui.js:211 msgid "Please enter a valid date." msgstr "Veuillez entrer une date valide." -#: static/adm/js/gui.js:209 +#: static/adm/js/gui.js:212 msgid "Please enter a valid date (ISO)." msgstr "Veuillez entrer une date valide (ISO)." -#: static/adm/js/gui.js:210 +#: static/adm/js/gui.js:213 msgid "Please enter a valid number." msgstr "Veuillez entrer un numéro valide." -#: static/adm/js/gui.js:211 +#: static/adm/js/gui.js:214 msgid "Please enter only digits." msgstr "Veuillez saisir uniquement des chiffres." -#: static/adm/js/gui.js:212 +#: static/adm/js/gui.js:215 msgid "Please enter a valid credit card number." msgstr "Veuillez entrer un numéro de carte de crédit valide." -#: static/adm/js/gui.js:213 +#: static/adm/js/gui.js:216 msgid "Please enter the same value again." msgstr "Entrez à nouveau la même valeur." -#: static/adm/js/gui.js:214 +#: static/adm/js/gui.js:217 msgid "Please enter no more than {0} characters." msgstr "S'il vous plaît entrez pas plus de {0} caractères." -#: static/adm/js/gui.js:215 +#: static/adm/js/gui.js:218 msgid "Please enter at least {0} characters." msgstr "Veuillez saisir au moins {0} caractères." -#: static/adm/js/gui.js:216 +#: static/adm/js/gui.js:219 msgid "Please enter a value between {0} and {1} characters long." msgstr "Veuillez entrer une valeur entre {0} et {1} caractères longtemps." -#: static/adm/js/gui.js:217 +#: static/adm/js/gui.js:220 msgid "Please enter a value between {0} and {1}." msgstr "Veuillez entrer une valeur entre {0} et {1}." -#: static/adm/js/gui.js:218 +#: static/adm/js/gui.js:221 msgid "Please enter a value less than or equal to {0}." msgstr "Veuillez entrer une valeur inférieure ou égale à {0}." -#: static/adm/js/gui.js:219 +#: static/adm/js/gui.js:222 msgid "Please enter a value greater than or equal to {0}." msgstr "Entrez une valeur supérieure ou égale à {0}." + +#: static/adm/js/gui.js:244 +msgid "Test result" +msgstr "Résultat du test" + +#: static/adm/js/gui.js:245 +msgid "Test error" +msgstr "Erreur de test" + +#: static/adm/js/gui.js:276 +msgid "Edition successfully done" +msgstr "Edition faite avec succès" + +#: static/adm/js/gui.js:310 +msgid "Creation successfully done" +msgstr "Création faite avec succès" + +#: static/adm/js/gui.js:321 +msgid "Are you sure do you want to delete " +msgstr "Êtes-vous sûr que vous souhaitez supprimer " + +#: static/adm/js/gui.js:327 +msgid "Item deleted" +msgstr "Élément supprimé" diff --git a/server/src/uds/locale/it/LC_MESSAGES/django.mo b/server/src/uds/locale/it/LC_MESSAGES/django.mo index 32307f4db..8ab45d2af 100644 Binary files a/server/src/uds/locale/it/LC_MESSAGES/django.mo and b/server/src/uds/locale/it/LC_MESSAGES/django.mo differ diff --git a/server/src/uds/locale/it/LC_MESSAGES/django.po b/server/src/uds/locale/it/LC_MESSAGES/django.po index 227e920f5..e6addbb2f 100644 --- a/server/src/uds/locale/it/LC_MESSAGES/django.po +++ b/server/src/uds/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,94 +18,152 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: REST/mixins.py:172 REST/methods/authenticators.py:82 -#: REST/methods/networks.py:68 REST/methods/osmanagers.py:71 -#: REST/methods/providers.py:75 REST/methods/transports.py:79 -#: REST/methods/users_groups.py:73 +#: REST/model.py:81 REST/methods/authenticators.py:56 +#: REST/methods/networks.py:51 REST/methods/osmanagers.py:52 +#: REST/methods/providers.py:57 REST/methods/transports.py:54 +#: REST/methods/users_groups.py:72 msgid "Name" msgstr "Nome" -#: REST/mixins.py:175 +#: REST/model.py:82 msgid "Name of this element" msgstr "Nome di questo elemento" -#: REST/mixins.py:189 REST/methods/authenticators.py:83 -#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76 -#: REST/methods/transports.py:80 REST/methods/users_groups.py:74 -#: REST/methods/users_groups.py:102 +#: REST/model.py:88 REST/methods/authenticators.py:57 +#: REST/methods/osmanagers.py:53 REST/methods/providers.py:58 +#: REST/methods/services.py:126 REST/methods/transports.py:55 +#: REST/methods/users_groups.py:73 REST/methods/users_groups.py:108 msgid "Comments" msgstr "Commenti" -#: REST/mixins.py:192 +#: REST/model.py:89 msgid "Comments for this element" msgstr "Commenti per questo elemento" -#: REST/methods/authenticators.py:80 +#: REST/model.py:97 REST/methods/authenticators.py:58 +#: REST/methods/transports.py:56 REST/methods/transports.py:69 +msgid "Priority" +msgstr "Priorità" + +#: REST/model.py:98 +msgid "" +"Selects the priority of this element (lower number means higher priority)" +msgstr "" +"Seleziona la priorità di questo elemento (numero significa maggiore priorità inferiore)" + +#: REST/model.py:106 REST/methods/authenticators.py:59 +msgid "Small name" +msgstr "Nome piccolo" + +#: REST/model.py:107 +msgid "Small name of this element" +msgstr "Piccolo nome di questo elemento" + +#: REST/model.py:157 +msgid "Invalid Request" +msgstr "Richiesta non valida" + +#: REST/model.py:160 +msgid "Method not found" +msgstr "Metodo non trovato" + +#: REST/model.py:163 +msgid "Item not found" +msgstr "Articolo non trovato" + +#: REST/methods/authenticators.py:54 msgid "Current authenticators" msgstr "Autenticatori correnti" -#: REST/methods/authenticators.py:84 +#: REST/methods/authenticators.py:60 +#: templates/uds/admin/tmpl/authenticators.html:18 msgid "Users" msgstr "Utenti" -#: REST/methods/networks.py:66 +#: REST/methods/networks.py:49 msgid "Current Networks" msgstr "Reti attuali" -#: REST/methods/networks.py:69 templates/uds/index.html:79 -#: templates/uds/html5/index.html:127 +#: REST/methods/networks.py:52 templates/uds/index.html:79 +#: templates/uds/html5/index.html:124 msgid "Networks" msgstr "Reti" -#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 -#: REST/methods/transports.py:81 +#: REST/methods/networks.py:53 REST/methods/osmanagers.py:54 +#: REST/methods/transports.py:57 msgid "Used by" msgstr "Utilizzato da" -#: REST/methods/osmanagers.py:69 +#: REST/methods/osmanagers.py:50 msgid "Current OS Managers" msgstr "Attuale OS Manager" -#: REST/methods/providers.py:73 -msgid "Current service providers" -msgstr "Attuali fornitori di servizi" +#: REST/methods/providers.py:53 templates/uds/admin/snippets/navbar.html:18 +msgid "Service providers" +msgstr "Fornitori di servizi" -#: REST/methods/providers.py:77 templates/uds/index.html:51 -#: templates/uds/html5/index.html:68 +#: REST/methods/providers.py:59 templates/uds/index.html:51 +#: templates/uds/admin/tmpl/providers.html:18 +#: templates/uds/html5/index.html:65 msgid "Services" msgstr "Servizi" -#: REST/methods/transports.py:77 +#: REST/methods/services.py:119 +#, python-brace-format +msgid "Services of {0}" +msgstr "Servizi di {0}" + +#: REST/methods/services.py:121 +msgid "Current services" +msgstr "Servizi attuali" + +#: REST/methods/services.py:125 +msgid "Service name" +msgstr "Nome servizio" + +#: REST/methods/services.py:127 +msgid "Type" +msgstr "Tipo" + +#: REST/methods/services.py:128 templates/uds/admin/snippets/navbar.html:22 +msgid "Deployed services" +msgstr "Servizi distribuiti" + +#: REST/methods/transports.py:52 msgid "Current Transports" msgstr "Trasporti correnti" -#: REST/methods/users_groups.py:66 +#: REST/methods/transports.py:70 +msgid "Priority of this transport" +msgstr "Priorità di questo trasporto" + +#: REST/methods/users_groups.py:65 #, python-brace-format msgid "Users of {0}" msgstr "Utenti di {0}" -#: REST/methods/users_groups.py:68 +#: REST/methods/users_groups.py:67 msgid "Current users" msgstr "Utenti correnti" -#: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101 +#: REST/methods/users_groups.py:71 REST/methods/users_groups.py:107 msgid "User Id" msgstr "Id utente" -#: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103 +#: REST/methods/users_groups.py:74 REST/methods/users_groups.py:109 msgid "state" msgstr "stato" -#: REST/methods/users_groups.py:76 +#: REST/methods/users_groups.py:75 msgid "Last access" msgstr "Ultimo accesso" -#: REST/methods/users_groups.py:95 +#: REST/methods/users_groups.py:101 #, python-brace-format msgid "Groups of {0}" msgstr "Gruppi di {0}" -#: REST/methods/users_groups.py:97 +#: REST/methods/users_groups.py:103 msgid "Current groups" msgstr "Gruppi di corrente" @@ -202,10 +260,8 @@ msgid "Timeout" msgstr "Timeout" #: auths/ActiveDirectory_enterprise/Authenticator.py:35 -#: auths/EDirectory_enterprise/Authenticator.py:65 -#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 -msgid "Timeout in seconds of connection to LDAP" -msgstr "Timeout in secondi di connessione LDAP" +msgid "Timeout in seconds of connection to Active Directory" +msgstr "Timeout in secondi di connessione in Active Directory" #: auths/ActiveDirectory_enterprise/Authenticator.py:37 msgid "Active Directory Authenticator" @@ -244,10 +300,8 @@ msgid "Must specify the username in the form USERNAME@DOMAIN.DOM" msgstr "Deve specificare il nome utente nella forma USERNAME@DOMAIN.DOM" #: auths/ActiveDirectory_enterprise/Authenticator.py:164 -#: auths/EDirectory_enterprise/Authenticator.py:123 -#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 -msgid "Ldap connection error: " -msgstr "Errore di connessione LDAP: " +msgid "Active directory connection error: " +msgstr "Errore di connessione Active directory: " #: auths/ActiveDirectory_enterprise/Authenticator.py:344 #: auths/ActiveDirectory_enterprise/Authenticator.py:390 @@ -276,17 +330,18 @@ msgid "Domain seems to be incorrect, please check it" msgstr "Dominio sembra essere corretto, si prega di controllare" #: auths/ActiveDirectory_enterprise/Authenticator.py:456 -msgid "Ldap does not seem an Active Directory (do not have user objects)" -msgstr "LDAP non sembra un'Active Directory (non hanno oggetti utente)" +msgid "Server does not seem an Active Directory (do not have user objects)" +msgstr "Server non sembra un'Active Directory (non hanno oggetti utente)" #: auths/ActiveDirectory_enterprise/Authenticator.py:464 -msgid "Ldap does not seem an Active Directory (no not have group objects)" -msgstr "LDAP non sembra un'Active Directory (no, non sono oggetti di gruppo)" +msgid "Server does not seem an Active Directory (no not have group objects)" +msgstr "Server non sembra un'Active Directory (no, non sono oggetti di gruppo)" #: auths/ActiveDirectory_enterprise/Authenticator.py:472 msgid "" -"Ldap does not seem an Active Directory (do not have any user nor groups)" -msgstr "LDAP non sembra un'Active Directory (non hanno alcun utente né gruppi)" +"Server does not seem an Active Directory (do not have any user nor groups)" +msgstr "" +"Server non sembra un'Active Directory (non hanno alcun utente né gruppi)" #: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/EDirectory_enterprise/Authenticator.py:358 @@ -329,6 +384,11 @@ msgstr "Utente admin" msgid "Username with read privileges on the eDirectory" msgstr "Nome utente con privilegi di lettura La eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 +msgid "Timeout in seconds of connection to LDAP" +msgstr "Timeout in secondi di connessione LDAP" + #: auths/EDirectory_enterprise/Authenticator.py:67 msgid "eDirectory Authenticator" msgstr "eDirectory autenticatore" @@ -337,6 +397,11 @@ msgstr "eDirectory autenticatore" msgid "Authenticate against eDirectory" msgstr "Autenticare eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:123 +#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 +msgid "Ldap connection error: " +msgstr "Errore di connessione LDAP: " + #: auths/EDirectory_enterprise/Authenticator.py:323 #: auths/RegexLdap/Authenticator.py:387 auths/SimpleLDAP/Authenticator.py:363 msgid "Ldap search base is incorrect" @@ -616,6 +681,7 @@ msgid "Fake Group" msgstr "Gruppo falso" #: auths/Sample/SampleAuth.py:111 +#: templates/uds/admin/tmpl/authenticators.html:19 msgid "Groups" msgstr "Gruppi" @@ -721,12 +787,12 @@ msgstr "" msgid "Can't cancel non running publication" msgstr "Non è possibile annullare la pubblicazione non in esecuzione" -#: core/managers/PublicationManager.py:212 +#: core/managers/PublicationManager.py:213 msgid "Can't unpublish non usable publication" msgstr "" "Non è possibile annullare la pubblicazione pubblicazione non utilizzabile" -#: core/managers/PublicationManager.py:215 +#: core/managers/PublicationManager.py:216 msgid "Can't unpublish publications with services in process" msgstr "" "Non è possibile annullare la pubblicazione di pubblicazioni con servizi nel " @@ -760,16 +826,16 @@ msgstr "24 bit" msgid "32 bits" msgstr "32 bit" -#: core/managers/UserServiceManager.py:320 +#: core/managers/UserServiceManager.py:322 msgid "Cancel requested for a non running operation, doing remove instead" msgstr "" "Annulla richiesto per un'operazione non in esecuzione, facendo invece Rimuovi" -#: core/managers/UserServiceManager.py:341 +#: core/managers/UserServiceManager.py:343 msgid "Can't remove a non active element" msgstr "Non è possibile rimuovere un elemento non attivo" -#: core/managers/UserServiceManager.py:354 +#: core/managers/UserServiceManager.py:356 #, python-brace-format msgid "Can't remove nor cancel {0} cause its states doesn't allows it" msgstr "" @@ -796,7 +862,7 @@ msgstr "Nessuno" msgid "Base Clustered Service" msgstr "Base in cluster Service" -#: core/transports/BaseTransport.py:147 +#: core/transports/BaseTransport.py:153 msgid "Transport empty" msgstr "Trasporto vuoto" @@ -1158,7 +1224,7 @@ msgstr "Iper servizi basati su modelli e differenziale dischi (sperimentale)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/OVirt/OVirtLinkedService.py:77 -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 +#: services/Vmware_enterprise/VCLinkedCloneService.py:73 msgid "Number of desired machines to keep running waiting for a user" msgstr "" "Numero di macchine desiderate per continuare a correre in attesa di un utente" @@ -1166,14 +1232,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:78 #: services/HyperV_enterprise/HyperVLinkedService.py:81 #: services/OVirt/OVirtLinkedService.py:83 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 msgid "Number of desired machines to keep suspended waiting for use" msgstr "Numero di macchine desiderati tenere sospeso in attesa di utilizzo" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:97 #: services/OVirt/OVirtLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base Machine" msgstr "Macchina base" @@ -1185,13 +1251,13 @@ msgstr "Macchina base servizio" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:98 -#: services/Vmware_enterprise/VCLinkedCloneService.py:38 +#: services/Vmware_enterprise/VCLinkedCloneService.py:39 msgid "Network" msgstr "Rete" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:39 +#: services/Vmware_enterprise/VCLinkedCloneService.py:40 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -1201,13 +1267,13 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OVirt/OVirtLinkedService.py:112 -#: services/Vmware_enterprise/VCLinkedCloneService.py:51 +#: services/Vmware_enterprise/VCLinkedCloneService.py:52 msgid "Memory (Mb)" msgstr "Memoria (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:52 +#: services/Vmware_enterprise/VCLinkedCloneService.py:53 msgid "Memory for machines deployed from this service" msgstr "Memoria per macchine distribuite da questo servizio" @@ -1224,27 +1290,27 @@ msgstr "Datastore dove mettere incrementali & pubblicazioni" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/OVirt/OVirtLinkedService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Machine Names" msgstr "Nomi della macchina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Base name for clones from this machine" msgstr "Nome di base per i cloni da questa macchina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:103 #: services/HyperV_enterprise/HyperVLinkedService.py:106 #: services/OVirt/OVirtLinkedService.py:119 -#: services/Vmware_enterprise/VCLinkedCloneService.py:56 +#: services/Vmware_enterprise/VCLinkedCloneService.py:57 msgid "Name Length" msgstr "Lunghezza del nome" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:107 #: services/OVirt/OVirtLinkedService.py:120 -#: services/Vmware_enterprise/VCLinkedCloneService.py:57 +#: services/Vmware_enterprise/VCLinkedCloneService.py:58 msgid "Length of numeric part for the names of this machines (betwen 3 and 6" msgstr "" "Lunghezza della parte numerica per i nomi di questa macchine (tra 3 e 6" @@ -1252,14 +1318,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:116 #: services/HyperV_enterprise/HyperVLinkedService.py:119 #: services/OVirt/OVirtLinkedService.py:143 -#: services/Vmware_enterprise/VCLinkedCloneService.py:95 +#: services/Vmware_enterprise/VCLinkedCloneService.py:96 msgid "The length of basename plus length must not be greater than 15" msgstr "La lunghezza di basename più lunghezza non deve essere maggiore di 15" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:118 #: services/HyperV_enterprise/HyperVLinkedService.py:121 #: services/OVirt/OVirtLinkedService.py:145 -#: services/Vmware_enterprise/VCLinkedCloneService.py:97 +#: services/Vmware_enterprise/VCLinkedCloneService.py:98 msgid "The machine name can't be only numbers" msgstr "Il nome del computer non può essere solo numeri" @@ -1391,6 +1457,10 @@ msgstr "Visualizzazione" msgid "Display type (only for administration pourposses)" msgstr "Tipo di display (solo per pourposses di amministrazione)" +#: services/OVirt/OVirtLinkedService.py:147 +msgid "The minimum allowed memory is 256 Mb" +msgstr "Il minimo consentito di memoria è di 256 Mb" + #: services/OVirt/OVirtProvider.py:73 msgid "oVirt Platform Provider" msgstr "oVirt fornitore di piattaforma" @@ -1594,55 +1664,55 @@ msgstr "VmwareVC Provider: " msgid "Connection params ok" msgstr "Connessione params ok" -#: services/Vmware_enterprise/VCLinkedCloneService.py:30 +#: services/Vmware_enterprise/VCLinkedCloneService.py:31 msgid "Datacenter" msgstr "Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:36 +#: services/Vmware_enterprise/VCLinkedCloneService.py:37 msgid "Datacenter containing base machine" msgstr "Macchina di base contenente datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Pub. Resource Pool" msgstr "Pub. Pool di risorse" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Resource Pool where deploy clones" msgstr "Pool di risorse dove distribuire cloni" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Clones Folder" msgstr "Cartella di cloni" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Folder where deploy clones" msgstr "Cartella dove distribuire cloni" -#: services/Vmware_enterprise/VCLinkedCloneService.py:42 +#: services/Vmware_enterprise/VCLinkedCloneService.py:43 msgid "Resource Pool" msgstr "Pool di risorse" -#: services/Vmware_enterprise/VCLinkedCloneService.py:48 +#: services/Vmware_enterprise/VCLinkedCloneService.py:49 msgid "Resource Pool containing base machine" msgstr "Macchina base contenente risorse piscina" -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base machine for this service" msgstr "Macchina base per questo servizio" -#: services/Vmware_enterprise/VCLinkedCloneService.py:53 +#: services/Vmware_enterprise/VCLinkedCloneService.py:54 msgid "Datastores" msgstr "Datastore" -#: services/Vmware_enterprise/VCLinkedCloneService.py:54 +#: services/Vmware_enterprise/VCLinkedCloneService.py:55 msgid "Datastores where to put incrementals" msgstr "Datastore dove mettere incrementali" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "VMWare Linked clone base" msgstr "Base di clone collegato VMWare" -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "" "This service provides access to Linked Clones machines on a Virtual Center" msgstr "" @@ -1677,34 +1747,34 @@ msgid "" msgstr "" "Questa pagina contiene un elenco di scaricabili forniti da diversi moduli" -#: templates/uds/index.html:70 templates/uds/html5/index.html:106 +#: templates/uds/index.html:70 templates/uds/html5/index.html:103 msgid "Java not found" msgstr "Java non trovato" -#: templates/uds/index.html:71 templates/uds/html5/index.html:109 +#: templates/uds/index.html:71 templates/uds/html5/index.html:106 msgid "" "Java is not available on your browser, and the selected transport needs it." msgstr "" "Java non è disponibile sul vostro browser, e il trasporto selezionato di cui " "ha bisogno." -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Please, install latest version from" msgstr "Per favore, installare la versione più recente da" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Java website" msgstr "Sito Web Java" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "and restart browser" msgstr "e riavviare il browser" -#: templates/uds/index.html:78 templates/uds/html5/index.html:126 +#: templates/uds/index.html:78 templates/uds/html5/index.html:123 msgid "Ip" msgstr "IP" -#: templates/uds/index.html:80 templates/uds/html5/index.html:128 +#: templates/uds/index.html:80 templates/uds/html5/index.html:125 msgid "Transports" msgstr "Trasporti" @@ -1746,13 +1816,8 @@ msgid "Save Preferences" msgstr "Salva preferenze" #: templates/uds/admin/snippets/navbar.html:6 -#: templates/uds/html5/snippets/navbar.html:6 -msgid "toggle navigation" -msgstr "navigazione Toggle" - -#: templates/uds/admin/snippets/navbar.html:18 -msgid "Service providers" -msgstr "Fornitori di servizi" +msgid "Toggle navigation" +msgstr "Navigazione Toggle" #: templates/uds/admin/snippets/navbar.html:19 #: templates/uds/admin/tmpl/authenticators.html:4 @@ -1764,33 +1829,55 @@ msgstr "Autenticatori" msgid "Connectivity" msgstr "Connettività" -#: templates/uds/admin/snippets/navbar.html:22 -msgid "Deployed services" -msgstr "Servizi distribuiti" - #: templates/uds/admin/snippets/navbar.html:26 msgid "Configuration" msgstr "Configurazione" +#: templates/uds/admin/snippets/navbar.html:27 +msgid "Clear cache" +msgstr "Svuota cache" + #: templates/uds/admin/snippets/navbar.html:57 -msgid "Exit dashboard" -msgstr "Cruscotto di uscita" +msgid "Exit" +msgstr "Uscita" #: templates/uds/admin/snippets/navbar.html:58 -#: templates/uds/html5/snippets/navbar.html:47 -msgid "logout" -msgstr "logout" +msgid "Logout" +msgstr "Logout" + +#: templates/uds/admin/tmpl/authenticators.html:20 +#: templates/uds/admin/tmpl/providers.html:19 +msgid "Logs" +msgstr "Registri" #: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/dashboard.html:4 msgid "overview" msgstr "Panoramica" -#: templates/uds/admin/tmpl/modal.html:18 +#: templates/uds/admin/tmpl/providers.html:4 +#: templates/uds/admin/tmpl/providers.html:7 +msgid "Providers" +msgstr "Fornitori" + +#: templates/uds/admin/tmpl/request_failed.html:4 +msgid "Error on request" +msgstr "Errore su richiesta" + +#: templates/uds/admin/tmpl/request_failed.html:7 +msgid "There was an error requesting data from server, please, try again" +msgstr "C'era un errore che richiede dati dal server, per favore, riprova" + +#: templates/uds/admin/tmpl/request_failed.html:9 +#: templates/uds/html5/snippets/navbar.html:44 +msgid "Dashboard" +msgstr "Cruscotto" + +#: templates/uds/admin/tmpl/comp/modal.html:19 msgid "Close" msgstr "Chiudere" -#: templates/uds/admin/tmpl/modal.html:25 +#: templates/uds/admin/tmpl/comp/modal.html:26 msgid "Save" msgstr "Salvare" @@ -1802,6 +1889,26 @@ msgstr "Sì" msgid "No" msgstr "No" +#: templates/uds/admin/tmpl/fld/editlist_popup.html:5 +msgid "Current list" +msgstr "Lista corrente" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:13 +msgid "Remove selected" +msgstr "Rimuovere selezionati" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:14 +msgid "Remove all" +msgstr "Rimuovere tutti i" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:19 +msgid "Add element" +msgstr "Aggiungi elemento" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:23 +msgid "Add" +msgstr "Aggiungi" + #: templates/uds/html5/detectJava.html:4 msgid "Login redirection to UDS" msgstr "Reindirizzamento login a UDS" @@ -1820,19 +1927,19 @@ msgstr "Torna alla lista di servizi" msgid "Available services list" msgstr "Elenco dei servizi disponibili" -#: templates/uds/html5/index.html:83 +#: templates/uds/html5/index.html:80 msgid "transports" msgstr "trasporti" -#: templates/uds/html5/index.html:123 +#: templates/uds/html5/index.html:120 msgid "Administrator info panel" msgstr "Pannello info amministratore" -#: templates/uds/html5/index.html:129 +#: templates/uds/html5/index.html:126 msgid "User Agent" msgstr "Agente utente" -#: templates/uds/html5/index.html:130 +#: templates/uds/html5/index.html:127 msgid "OS" msgstr "OS" @@ -1885,13 +1992,17 @@ msgstr "" msgid "Back" msgstr "Indietro" +#: templates/uds/html5/snippets/navbar.html:6 +msgid "toggle navigation" +msgstr "navigazione Toggle" + #: templates/uds/html5/snippets/navbar.html:20 msgid "About" msgstr "Circa" -#: templates/uds/html5/snippets/navbar.html:44 -msgid "Dashboard" -msgstr "Cruscotto" +#: templates/uds/html5/snippets/navbar.html:47 +msgid "logout" +msgstr "logout" #: templates/uds/html5/templates/base.html:52 msgid "" @@ -2422,8 +2533,8 @@ msgstr "Autenticatore non esiste" #: xmlrpc/auths/Authenticators.py:163 xmlrpc/osmanagers/OSManagers.py:117 #: xmlrpc/services/ServiceProviders.py:115 -#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:164 -#: xmlrpc/services/Services.py:188 xmlrpc/transports/Networks.py:87 +#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:165 +#: xmlrpc/services/Services.py:189 xmlrpc/transports/Networks.py:87 #: xmlrpc/transports/Networks.py:98 #, python-format msgid "Name %s already exists" @@ -2497,17 +2608,17 @@ msgstr "" msgid "Can't locate the service provider" msgstr "Non è possibile individuare il provider di servizi" -#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:206 +#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:207 #: xmlrpc/transports/Networks.py:71 xmlrpc/transports/Networks.py:79 #: xmlrpc/transports/Networks.py:96 msgid "Please, refresh interface" msgstr "Per favore, aggiorna interfaccia" -#: xmlrpc/services/Services.py:203 +#: xmlrpc/services/Services.py:204 msgid "Can't delete services with deployed services associated" msgstr "Non è possibile eliminare i servizi con servizi distribuiti associati" -#: xmlrpc/services/Services.py:206 +#: xmlrpc/services/Services.py:207 msgid "Can't locate the service" msgstr "Non è possibile individuare il servizio" diff --git a/server/src/uds/locale/it/LC_MESSAGES/djangojs.mo b/server/src/uds/locale/it/LC_MESSAGES/djangojs.mo index ab4860591..f9e51113e 100644 Binary files a/server/src/uds/locale/it/LC_MESSAGES/djangojs.mo and b/server/src/uds/locale/it/LC_MESSAGES/djangojs.mo differ diff --git a/server/src/uds/locale/it/LC_MESSAGES/djangojs.po b/server/src/uds/locale/it/LC_MESSAGES/djangojs.po index 3655967ea..c3b1eee1e 100644 --- a/server/src/uds/locale/it/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/it/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,83 +18,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: static/adm/js/api-tools.js:46 -msgid "Just a moment..." -msgstr "Solo un momento..." - -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Sunday" msgstr "Domenica" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Monday" msgstr "Lunedì" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Tuesday" msgstr "Martedì" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Wednesday" msgstr "Mercoledì" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Thursday" msgstr "Giovedì" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Friday" msgstr "Venerdì" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Saturday" msgstr "Sabato" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "January" msgstr "Gennaio" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "February" msgstr "Febbraio" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "March" msgstr "Marzo" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "April" msgstr "Aprile" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "May" msgstr "Maggio" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "June" msgstr "Giugno" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "July" msgstr "Luglio" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "August" msgstr "Agosto" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "September" msgstr "Settembre" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "October" msgstr "Ottobre" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "November" msgstr "Novembre" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "December" msgstr "Dicembre" @@ -102,26 +98,154 @@ msgstr "Dicembre" msgid "_MENU_ records per page" msgstr "Record _MENU_ per pagina" -#: static/adm/js/gui-elements.js:33 -msgid "Service Providers" -msgstr "Fornitori di servizi" +#: static/adm/js/gui-definition.js:38 +msgid "Test" +msgstr "Prova" -#: static/adm/js/gui-elements.js:40 -msgid "Edit service provider" -msgstr "Modificare il provider di servizi" +#: static/adm/js/gui-definition.js:140 +msgid "Edit service" +msgstr "Modifica servizio" -#: static/adm/js/gui-elements.js:104 +#: static/adm/js/gui-definition.js:140 +msgid "Error processing service" +msgstr "Servizio di elaborazione di Errori" + +#: static/adm/js/gui-definition.js:141 +msgid "New service" +msgstr "Nuovo servizio" + +#: static/adm/js/gui-definition.js:141 +msgid "Error creating service" +msgstr "Errore durante la creazione di servizio" + +#: static/adm/js/gui-definition.js:142 +msgid "Delete service" +msgstr "Eliminare il servizio" + +#: static/adm/js/gui-definition.js:142 +msgid "Error deleting service" +msgstr "Errore eliminazione servizio" + +#: static/adm/js/gui-definition.js:157 +msgid "New provider" +msgstr "Nuovo provider" + +#: static/adm/js/gui-definition.js:157 +msgid "Error creating provider" +msgstr "Provider creazione di errore" + +#: static/adm/js/gui-definition.js:158 +msgid "Edit provider" +msgstr "Modificare il provider di" + +#: static/adm/js/gui-definition.js:158 +msgid "Error processing provider" +msgstr "Provider di errore elaborazione" + +#: static/adm/js/gui-definition.js:159 +msgid "Delete provider" +msgstr "Eliminare provider" + +#: static/adm/js/gui-definition.js:159 +msgid "Error deleting provider" +msgstr "Provider di eliminazione errore" + +#: static/adm/js/gui-definition.js:177 +msgid "Test authenticator" +msgstr "Autenticatore di prova" + +#: static/adm/js/gui-definition.js:295 +msgid "New authenticator" +msgstr "Nuovo autenticatore" + +#: static/adm/js/gui-definition.js:295 +msgid "Error creating authenticator" +msgstr "Creazione autenticatore errore" + +#: static/adm/js/gui-definition.js:296 msgid "Edit authenticator" msgstr "Modifica autenticatore" -#: static/adm/js/gui-elements.js:149 +#: static/adm/js/gui-definition.js:296 +msgid "Error processing authenticator" +msgstr "Autenticatore di errore elaborazione" + +#: static/adm/js/gui-definition.js:297 +msgid "Delete authenticator" +msgstr "Eliminare l'autenticatore" + +#: static/adm/js/gui-definition.js:297 +msgid "Error deleting authenticator" +msgstr "Autenticatore eliminazione errore" + +#: static/adm/js/gui-definition.js:363 msgid "Edit transport" msgstr "Modifica trasporto" -#: static/adm/js/gui-elements.js:159 +#: static/adm/js/gui-definition.js:370 static/adm/js/gui-definition.js.c:405 +msgid "Error creating transport" +msgstr "Errore durante la creazione di trasporto" + +#: static/adm/js/gui-definition.js:388 +msgid "Available for networks" +msgstr "Disponibile per le reti" + +#: static/adm/js/gui-definition.js:389 +msgid "Select networks that will see this transport" +msgstr "Selezionare reti che vedranno questo trasporto" + +#: static/adm/js/gui-definition.js:390 +msgid "Transport active for selected networks" +msgstr "Trasporto attivo per reti selezionate" + +#: static/adm/js/gui-definition.js:391 +msgid "" +"If active, transport will only be available on selected networks. If " +"inactive, transport will be available form any net EXCEPT selected networks" +msgstr "" +"Se attivo, trasporto sarà disponibile solo su reti selezionate. Se " +"inattivo, trasporto sarà disponibile forma qualsiasi netto tranne reti selezionate" + +#: static/adm/js/gui-definition.js:397 msgid "New transport" msgstr "Nuovo trasporto" +#: static/adm/js/gui-definition.js:414 +msgid "Error removing transport" +msgstr "Errore rimuovendo il trasporto" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache" +msgstr "Cache" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache has been flushed" +msgstr "Cache è stata scaricata" + +#: static/adm/js/gui-element.js:471 +msgid "Date" +msgstr "Data" + +#: static/adm/js/gui-element.js:478 +msgid "level" +msgstr "livello" + +#: static/adm/js/gui-element.js:486 +msgid "source" +msgstr "fonte" + +#: static/adm/js/gui-element.js:493 +msgid "message" +msgstr "Messaggio" + +#: static/adm/js/gui-element.js:499 +msgid "Logs" +msgstr "Registri" + +#: static/adm/js/gui-tools.js:7 +msgid "Just a moment..." +msgstr "Solo un momento..." + #: static/adm/js/gui.js:20 msgid "Empty" msgstr "Vuoto" @@ -154,14 +278,6 @@ msgstr "Primo" msgid "Last" msgstr "Ultima" -#: static/adm/js/gui.js:30 -msgid "Next" -msgstr "Prossimo" - -#: static/adm/js/gui.js:31 -msgid "Previous" -msgstr "Precedente" - #: static/adm/js/gui.js:37 msgid "New" msgstr "Nuovo" @@ -170,82 +286,106 @@ msgstr "Nuovo" msgid "Edit" msgstr "Modifica" -#: static/adm/js/gui.js:45 +#: static/adm/js/gui.js:45 static/adm/js/gui.js.c:322 msgid "Delete" msgstr "Eliminare" #: static/adm/js/gui.js:49 -msgid "Refresh" -msgstr "Aggiornamento" - -#: static/adm/js/gui.js:53 msgid "Xls" msgstr "Xls" -#: static/adm/js/gui.js:166 +#: static/adm/js/gui.js:111 +msgid "Message" +msgstr "Messaggio" + +#: static/adm/js/gui.js:133 msgid "Deployed services" msgstr "Servizi distribuiti" -#: static/adm/js/gui.js:204 +#: static/adm/js/gui.js:207 msgid "This field is required." msgstr "Questo campo è obbligatorio." -#: static/adm/js/gui.js:205 +#: static/adm/js/gui.js:208 msgid "Please fix this field." msgstr "Si prega di correggere questo campo." -#: static/adm/js/gui.js:206 +#: static/adm/js/gui.js:209 msgid "Please enter a valid email address." msgstr "Inserisci un indirizzo email valido." -#: static/adm/js/gui.js:207 +#: static/adm/js/gui.js:210 msgid "Please enter a valid URL." msgstr "Immettere un URL valido." -#: static/adm/js/gui.js:208 +#: static/adm/js/gui.js:211 msgid "Please enter a valid date." msgstr "Inserisci una data valida." -#: static/adm/js/gui.js:209 +#: static/adm/js/gui.js:212 msgid "Please enter a valid date (ISO)." msgstr "Inserisci una data valida (ISO)." -#: static/adm/js/gui.js:210 +#: static/adm/js/gui.js:213 msgid "Please enter a valid number." msgstr "Si prega di inserire un numero valido." -#: static/adm/js/gui.js:211 +#: static/adm/js/gui.js:214 msgid "Please enter only digits." msgstr "Inserire solo cifre." -#: static/adm/js/gui.js:212 +#: static/adm/js/gui.js:215 msgid "Please enter a valid credit card number." msgstr "Si prega di inserire un numero di carta di credito valida." -#: static/adm/js/gui.js:213 +#: static/adm/js/gui.js:216 msgid "Please enter the same value again." msgstr "Inserisci nuovamente lo stesso valore." -#: static/adm/js/gui.js:214 +#: static/adm/js/gui.js:217 msgid "Please enter no more than {0} characters." msgstr "Si prega di inserire non più di {0} caratteri." -#: static/adm/js/gui.js:215 +#: static/adm/js/gui.js:218 msgid "Please enter at least {0} characters." msgstr "Si prega di inserire almeno {0} caratteri." -#: static/adm/js/gui.js:216 +#: static/adm/js/gui.js:219 msgid "Please enter a value between {0} and {1} characters long." msgstr "Per favore inserisci un valore tra {0} e {1} caratteri lungo." -#: static/adm/js/gui.js:217 +#: static/adm/js/gui.js:220 msgid "Please enter a value between {0} and {1}." msgstr "Immettere un valore compreso tra {0} e {1}." -#: static/adm/js/gui.js:218 +#: static/adm/js/gui.js:221 msgid "Please enter a value less than or equal to {0}." msgstr "Inserisci un valore minore o uguale a {0}." -#: static/adm/js/gui.js:219 +#: static/adm/js/gui.js:222 msgid "Please enter a value greater than or equal to {0}." msgstr "Immettere un valore maggiore o uguale a {0}." + +#: static/adm/js/gui.js:244 +msgid "Test result" +msgstr "Risultato del test" + +#: static/adm/js/gui.js:245 +msgid "Test error" +msgstr "Errore test" + +#: static/adm/js/gui.js:276 +msgid "Edition successfully done" +msgstr "Edizione fatto con successo" + +#: static/adm/js/gui.js:310 +msgid "Creation successfully done" +msgstr "Creazione fatto con successo" + +#: static/adm/js/gui.js:321 +msgid "Are you sure do you want to delete " +msgstr "Sei sicuro che si desidera eliminare " + +#: static/adm/js/gui.js:327 +msgid "Item deleted" +msgstr "Elemento eliminato" diff --git a/server/src/uds/locale/pt/LC_MESSAGES/django.mo b/server/src/uds/locale/pt/LC_MESSAGES/django.mo index fabadfad6..3a86f53cb 100644 Binary files a/server/src/uds/locale/pt/LC_MESSAGES/django.mo and b/server/src/uds/locale/pt/LC_MESSAGES/django.mo differ diff --git a/server/src/uds/locale/pt/LC_MESSAGES/django.po b/server/src/uds/locale/pt/LC_MESSAGES/django.po index 43630fe4e..4b3be2265 100644 --- a/server/src/uds/locale/pt/LC_MESSAGES/django.po +++ b/server/src/uds/locale/pt/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,94 +18,152 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: REST/mixins.py:172 REST/methods/authenticators.py:82 -#: REST/methods/networks.py:68 REST/methods/osmanagers.py:71 -#: REST/methods/providers.py:75 REST/methods/transports.py:79 -#: REST/methods/users_groups.py:73 +#: REST/model.py:81 REST/methods/authenticators.py:56 +#: REST/methods/networks.py:51 REST/methods/osmanagers.py:52 +#: REST/methods/providers.py:57 REST/methods/transports.py:54 +#: REST/methods/users_groups.py:72 msgid "Name" msgstr "Nome" -#: REST/mixins.py:175 +#: REST/model.py:82 msgid "Name of this element" msgstr "Nome deste elemento" -#: REST/mixins.py:189 REST/methods/authenticators.py:83 -#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76 -#: REST/methods/transports.py:80 REST/methods/users_groups.py:74 -#: REST/methods/users_groups.py:102 +#: REST/model.py:88 REST/methods/authenticators.py:57 +#: REST/methods/osmanagers.py:53 REST/methods/providers.py:58 +#: REST/methods/services.py:126 REST/methods/transports.py:55 +#: REST/methods/users_groups.py:73 REST/methods/users_groups.py:108 msgid "Comments" msgstr "Comentários" -#: REST/mixins.py:192 +#: REST/model.py:89 msgid "Comments for this element" msgstr "Comentários para este elemento" -#: REST/methods/authenticators.py:80 +#: REST/model.py:97 REST/methods/authenticators.py:58 +#: REST/methods/transports.py:56 REST/methods/transports.py:69 +msgid "Priority" +msgstr "Prioridade" + +#: REST/model.py:98 +msgid "" +"Selects the priority of this element (lower number means higher priority)" +msgstr "" +"Seleciona a prioridade deste elemento (número significa maior prioridade mais baixa)" + +#: REST/model.py:106 REST/methods/authenticators.py:59 +msgid "Small name" +msgstr "Nome pequeno" + +#: REST/model.py:107 +msgid "Small name of this element" +msgstr "Pequeno nome deste elemento" + +#: REST/model.py:157 +msgid "Invalid Request" +msgstr "Pedido inválido" + +#: REST/model.py:160 +msgid "Method not found" +msgstr "Método não encontrado" + +#: REST/model.py:163 +msgid "Item not found" +msgstr "Item não encontrado" + +#: REST/methods/authenticators.py:54 msgid "Current authenticators" msgstr "Autenticadores atuais" -#: REST/methods/authenticators.py:84 +#: REST/methods/authenticators.py:60 +#: templates/uds/admin/tmpl/authenticators.html:18 msgid "Users" msgstr "Usuários" -#: REST/methods/networks.py:66 +#: REST/methods/networks.py:49 msgid "Current Networks" msgstr "Redes atuais" -#: REST/methods/networks.py:69 templates/uds/index.html:79 -#: templates/uds/html5/index.html:127 +#: REST/methods/networks.py:52 templates/uds/index.html:79 +#: templates/uds/html5/index.html:124 msgid "Networks" msgstr "Redes" -#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 -#: REST/methods/transports.py:81 +#: REST/methods/networks.py:53 REST/methods/osmanagers.py:54 +#: REST/methods/transports.py:57 msgid "Used by" msgstr "Usado por" -#: REST/methods/osmanagers.py:69 +#: REST/methods/osmanagers.py:50 msgid "Current OS Managers" msgstr "Atual OS gerentes" -#: REST/methods/providers.py:73 -msgid "Current service providers" -msgstr "Provedores de serviço atual" +#: REST/methods/providers.py:53 templates/uds/admin/snippets/navbar.html:18 +msgid "Service providers" +msgstr "Prestadores de serviços" -#: REST/methods/providers.py:77 templates/uds/index.html:51 -#: templates/uds/html5/index.html:68 +#: REST/methods/providers.py:59 templates/uds/index.html:51 +#: templates/uds/admin/tmpl/providers.html:18 +#: templates/uds/html5/index.html:65 msgid "Services" msgstr "Serviços" -#: REST/methods/transports.py:77 +#: REST/methods/services.py:119 +#, python-brace-format +msgid "Services of {0}" +msgstr "Serviços de {0}" + +#: REST/methods/services.py:121 +msgid "Current services" +msgstr "Serviços atuais" + +#: REST/methods/services.py:125 +msgid "Service name" +msgstr "Nome do serviço" + +#: REST/methods/services.py:127 +msgid "Type" +msgstr "Tipo" + +#: REST/methods/services.py:128 templates/uds/admin/snippets/navbar.html:22 +msgid "Deployed services" +msgstr "Serviços implantados" + +#: REST/methods/transports.py:52 msgid "Current Transports" msgstr "Atuais transportes" -#: REST/methods/users_groups.py:66 +#: REST/methods/transports.py:70 +msgid "Priority of this transport" +msgstr "Prioridade deste transporte" + +#: REST/methods/users_groups.py:65 #, python-brace-format msgid "Users of {0}" msgstr "Usuários de {0}" -#: REST/methods/users_groups.py:68 +#: REST/methods/users_groups.py:67 msgid "Current users" msgstr "Usuários atuais" -#: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101 +#: REST/methods/users_groups.py:71 REST/methods/users_groups.py:107 msgid "User Id" msgstr "Id de usuário" -#: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103 +#: REST/methods/users_groups.py:74 REST/methods/users_groups.py:109 msgid "state" msgstr "Estado" -#: REST/methods/users_groups.py:76 +#: REST/methods/users_groups.py:75 msgid "Last access" msgstr "Último acesso" -#: REST/methods/users_groups.py:95 +#: REST/methods/users_groups.py:101 #, python-brace-format msgid "Groups of {0}" msgstr "Grupos de {0}" -#: REST/methods/users_groups.py:97 +#: REST/methods/users_groups.py:103 msgid "Current groups" msgstr "Grupos atuais" @@ -200,10 +258,8 @@ msgid "Timeout" msgstr "Tempo limite" #: auths/ActiveDirectory_enterprise/Authenticator.py:35 -#: auths/EDirectory_enterprise/Authenticator.py:65 -#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 -msgid "Timeout in seconds of connection to LDAP" -msgstr "Tempo limite em segundos de conexão para LDAP" +msgid "Timeout in seconds of connection to Active Directory" +msgstr "Tempo limite em segundos de conexão para o Active Directory" #: auths/ActiveDirectory_enterprise/Authenticator.py:37 msgid "Active Directory Authenticator" @@ -242,10 +298,8 @@ msgid "Must specify the username in the form USERNAME@DOMAIN.DOM" msgstr "Deve especificar o nome de usuário na forma USERNAME@DOMAIN.DOM" #: auths/ActiveDirectory_enterprise/Authenticator.py:164 -#: auths/EDirectory_enterprise/Authenticator.py:123 -#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 -msgid "Ldap connection error: " -msgstr "Erro de conexão LDAP: " +msgid "Active directory connection error: " +msgstr "Erro de conexão do Active directory: " #: auths/ActiveDirectory_enterprise/Authenticator.py:344 #: auths/ActiveDirectory_enterprise/Authenticator.py:390 @@ -274,17 +328,18 @@ msgid "Domain seems to be incorrect, please check it" msgstr "Domínio parece ser incorreta, por favor verifique-" #: auths/ActiveDirectory_enterprise/Authenticator.py:456 -msgid "Ldap does not seem an Active Directory (do not have user objects)" -msgstr "Não parece um Active Directory LDAP (não têm objetos de usuário)" +msgid "Server does not seem an Active Directory (do not have user objects)" +msgstr "Servidor não parece um Active Directory (não têm objetos de usuário)" #: auths/ActiveDirectory_enterprise/Authenticator.py:464 -msgid "Ldap does not seem an Active Directory (no not have group objects)" -msgstr "Não parece um Active Directory LDAP (não não têm objetos de grupo)" +msgid "Server does not seem an Active Directory (no not have group objects)" +msgstr "Servidor não parece um Active Directory (não não têm objetos de grupo)" #: auths/ActiveDirectory_enterprise/Authenticator.py:472 msgid "" -"Ldap does not seem an Active Directory (do not have any user nor groups)" -msgstr "Não parece um Active Directory LDAP (não tem nenhum usuário ou grupos)" +"Server does not seem an Active Directory (do not have any user nor groups)" +msgstr "" +"Servidor não parece um Active Directory (não tem nenhum usuário ou grupos)" #: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/EDirectory_enterprise/Authenticator.py:358 @@ -326,6 +381,11 @@ msgstr "Usuário admin" msgid "Username with read privileges on the eDirectory" msgstr "Nome de usuário com privilégios de leitura sobre o eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:54 auths/SimpleLDAP/Authenticator.py:54 +msgid "Timeout in seconds of connection to LDAP" +msgstr "Tempo limite em segundos de conexão para LDAP" + #: auths/EDirectory_enterprise/Authenticator.py:67 msgid "eDirectory Authenticator" msgstr "eDirectory autenticador" @@ -334,6 +394,11 @@ msgstr "eDirectory autenticador" msgid "Authenticate against eDirectory" msgstr "Autenticar no eDirectory" +#: auths/EDirectory_enterprise/Authenticator.py:123 +#: auths/RegexLdap/Authenticator.py:226 auths/SimpleLDAP/Authenticator.py:158 +msgid "Ldap connection error: " +msgstr "Erro de conexão LDAP: " + #: auths/EDirectory_enterprise/Authenticator.py:323 #: auths/RegexLdap/Authenticator.py:387 auths/SimpleLDAP/Authenticator.py:363 msgid "Ldap search base is incorrect" @@ -616,6 +681,7 @@ msgid "Fake Group" msgstr "Grupo falso" #: auths/Sample/SampleAuth.py:111 +#: templates/uds/admin/tmpl/authenticators.html:19 msgid "Groups" msgstr "Grupos" @@ -721,11 +787,11 @@ msgstr "" msgid "Can't cancel non running publication" msgstr "Não posso cancelar a publicação não execução" -#: core/managers/PublicationManager.py:212 +#: core/managers/PublicationManager.py:213 msgid "Can't unpublish non usable publication" msgstr "Não é possível cancelar a publicação de publicação não utilizável" -#: core/managers/PublicationManager.py:215 +#: core/managers/PublicationManager.py:216 msgid "Can't unpublish publications with services in process" msgstr "" "Não é possível cancelar a publicação de publicações com serviços em processo" @@ -758,17 +824,17 @@ msgstr "24 bits" msgid "32 bits" msgstr "32 bits" -#: core/managers/UserServiceManager.py:320 +#: core/managers/UserServiceManager.py:322 msgid "Cancel requested for a non running operation, doing remove instead" msgstr "" "Cancelar requisitado para uma operação de não-execução, fazendo remover em " "vez disso" -#: core/managers/UserServiceManager.py:341 +#: core/managers/UserServiceManager.py:343 msgid "Can't remove a non active element" msgstr "Não é possível remover um elemento não-ativo" -#: core/managers/UserServiceManager.py:354 +#: core/managers/UserServiceManager.py:356 #, python-brace-format msgid "Can't remove nor cancel {0} cause its states doesn't allows it" msgstr "" @@ -795,7 +861,7 @@ msgstr "Nenhum" msgid "Base Clustered Service" msgstr "Base em Cluster Service" -#: core/transports/BaseTransport.py:147 +#: core/transports/BaseTransport.py:153 msgid "Transport empty" msgstr "Transportar vazio" @@ -1157,7 +1223,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/OVirt/OVirtLinkedService.py:77 -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 +#: services/Vmware_enterprise/VCLinkedCloneService.py:73 msgid "Number of desired machines to keep running waiting for a user" msgstr "" "Número de máquinas desejados para continuar funcionando à espera de um " @@ -1166,14 +1232,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:78 #: services/HyperV_enterprise/HyperVLinkedService.py:81 #: services/OVirt/OVirtLinkedService.py:83 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 msgid "Number of desired machines to keep suspended waiting for use" msgstr "Número de máquinas desejados manter suspenso à espera de uso" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:97 #: services/OVirt/OVirtLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base Machine" msgstr "Máquina base" @@ -1185,13 +1251,13 @@ msgstr "Máquina base de serviço" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:98 -#: services/Vmware_enterprise/VCLinkedCloneService.py:38 +#: services/Vmware_enterprise/VCLinkedCloneService.py:39 msgid "Network" msgstr "Rede" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:99 -#: services/Vmware_enterprise/VCLinkedCloneService.py:39 +#: services/Vmware_enterprise/VCLinkedCloneService.py:40 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -1201,13 +1267,13 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OVirt/OVirtLinkedService.py:112 -#: services/Vmware_enterprise/VCLinkedCloneService.py:51 +#: services/Vmware_enterprise/VCLinkedCloneService.py:52 msgid "Memory (Mb)" msgstr "Memória (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:52 +#: services/Vmware_enterprise/VCLinkedCloneService.py:53 msgid "Memory for machines deployed from this service" msgstr "Memória para máquinas implantado a partir deste serviço" @@ -1224,27 +1290,27 @@ msgstr "Armazenamentos de dados onde colocar incrementais & publicações" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/OVirt/OVirtLinkedService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Machine Names" msgstr "Nomes de máquina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:55 +#: services/Vmware_enterprise/VCLinkedCloneService.py:56 msgid "Base name for clones from this machine" msgstr "Nome de base para clones desta máquina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:103 #: services/HyperV_enterprise/HyperVLinkedService.py:106 #: services/OVirt/OVirtLinkedService.py:119 -#: services/Vmware_enterprise/VCLinkedCloneService.py:56 +#: services/Vmware_enterprise/VCLinkedCloneService.py:57 msgid "Name Length" msgstr "Comprimento do nome do" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:107 #: services/OVirt/OVirtLinkedService.py:120 -#: services/Vmware_enterprise/VCLinkedCloneService.py:57 +#: services/Vmware_enterprise/VCLinkedCloneService.py:58 msgid "Length of numeric part for the names of this machines (betwen 3 and 6" msgstr "" "Comprimento da parte numérica para os nomes desta máquinas (entre 3 e 6" @@ -1252,14 +1318,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:116 #: services/HyperV_enterprise/HyperVLinkedService.py:119 #: services/OVirt/OVirtLinkedService.py:143 -#: services/Vmware_enterprise/VCLinkedCloneService.py:95 +#: services/Vmware_enterprise/VCLinkedCloneService.py:96 msgid "The length of basename plus length must not be greater than 15" msgstr "O comprimento de basename mais comprimento não deve ser superior a 15" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:118 #: services/HyperV_enterprise/HyperVLinkedService.py:121 #: services/OVirt/OVirtLinkedService.py:145 -#: services/Vmware_enterprise/VCLinkedCloneService.py:97 +#: services/Vmware_enterprise/VCLinkedCloneService.py:98 msgid "The machine name can't be only numbers" msgstr "O nome da máquina não pode ser apenas números" @@ -1392,6 +1458,10 @@ msgstr "Exposição" msgid "Display type (only for administration pourposses)" msgstr "Tipo de exibição (somente para pourposses de administração)" +#: services/OVirt/OVirtLinkedService.py:147 +msgid "The minimum allowed memory is 256 Mb" +msgstr "O mínimo permitido é de memória 256MB" + #: services/OVirt/OVirtProvider.py:73 msgid "oVirt Platform Provider" msgstr "oVirt provedor de plataforma" @@ -1595,55 +1665,55 @@ msgstr "Provedor de VmwareVC: " msgid "Connection params ok" msgstr "Conexão params ok" -#: services/Vmware_enterprise/VCLinkedCloneService.py:30 +#: services/Vmware_enterprise/VCLinkedCloneService.py:31 msgid "Datacenter" msgstr "Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:36 +#: services/Vmware_enterprise/VCLinkedCloneService.py:37 msgid "Datacenter containing base machine" msgstr "Máquina de base contendo datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Pub. Resource Pool" msgstr "Pub. Pool de recursos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +#: services/Vmware_enterprise/VCLinkedCloneService.py:41 msgid "Resource Pool where deploy clones" msgstr "Pool de recursos onde implantar clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Clones Folder" msgstr "Pasta de clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 msgid "Folder where deploy clones" msgstr "Pasta onde implantar clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:42 +#: services/Vmware_enterprise/VCLinkedCloneService.py:43 msgid "Resource Pool" msgstr "Pool de recursos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:48 +#: services/Vmware_enterprise/VCLinkedCloneService.py:49 msgid "Resource Pool containing base machine" msgstr "Máquina contendo base Pool de recursos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:50 +#: services/Vmware_enterprise/VCLinkedCloneService.py:51 msgid "Base machine for this service" msgstr "Máquina de base para este serviço" -#: services/Vmware_enterprise/VCLinkedCloneService.py:53 +#: services/Vmware_enterprise/VCLinkedCloneService.py:54 msgid "Datastores" msgstr "Armazenamentos de dados" -#: services/Vmware_enterprise/VCLinkedCloneService.py:54 +#: services/Vmware_enterprise/VCLinkedCloneService.py:55 msgid "Datastores where to put incrementals" msgstr "Armazenamentos de dados onde colocar backups incrementais" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "VMWare Linked clone base" msgstr "Base de clones vinculados da VMWare" -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "" "This service provides access to Linked Clones machines on a Virtual Center" msgstr "" @@ -1679,34 +1749,34 @@ msgstr "" "Esta página contém uma lista de downloadables fornecidos por diferentes " "módulos" -#: templates/uds/index.html:70 templates/uds/html5/index.html:106 +#: templates/uds/index.html:70 templates/uds/html5/index.html:103 msgid "Java not found" msgstr "Java não encontrado" -#: templates/uds/index.html:71 templates/uds/html5/index.html:109 +#: templates/uds/index.html:71 templates/uds/html5/index.html:106 msgid "" "Java is not available on your browser, and the selected transport needs it." msgstr "" "Java não está disponível em seu navegador, e o transporte selecionado " "precisa disso." -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Please, install latest version from" msgstr "Por favor, instale a versão mais recente do" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "Java website" msgstr "Site de Java" -#: templates/uds/index.html:72 templates/uds/html5/index.html:110 +#: templates/uds/index.html:72 templates/uds/html5/index.html:107 msgid "and restart browser" msgstr "e reinicie o navegador" -#: templates/uds/index.html:78 templates/uds/html5/index.html:126 +#: templates/uds/index.html:78 templates/uds/html5/index.html:123 msgid "Ip" msgstr "IP" -#: templates/uds/index.html:80 templates/uds/html5/index.html:128 +#: templates/uds/index.html:80 templates/uds/html5/index.html:125 msgid "Transports" msgstr "Transportes" @@ -1748,13 +1818,8 @@ msgid "Save Preferences" msgstr "Salvar preferências" #: templates/uds/admin/snippets/navbar.html:6 -#: templates/uds/html5/snippets/navbar.html:6 -msgid "toggle navigation" -msgstr "navegação toggle" - -#: templates/uds/admin/snippets/navbar.html:18 -msgid "Service providers" -msgstr "Prestadores de serviços" +msgid "Toggle navigation" +msgstr "Navegação toggle" #: templates/uds/admin/snippets/navbar.html:19 #: templates/uds/admin/tmpl/authenticators.html:4 @@ -1766,33 +1831,55 @@ msgstr "Autenticadores" msgid "Connectivity" msgstr "Conectividade" -#: templates/uds/admin/snippets/navbar.html:22 -msgid "Deployed services" -msgstr "Serviços implantados" - #: templates/uds/admin/snippets/navbar.html:26 msgid "Configuration" msgstr "Configuração" +#: templates/uds/admin/snippets/navbar.html:27 +msgid "Clear cache" +msgstr "Limpar cache" + #: templates/uds/admin/snippets/navbar.html:57 -msgid "Exit dashboard" -msgstr "Painel de saída" +msgid "Exit" +msgstr "Saída" #: templates/uds/admin/snippets/navbar.html:58 -#: templates/uds/html5/snippets/navbar.html:47 -msgid "logout" -msgstr "logout" +msgid "Logout" +msgstr "Logout" + +#: templates/uds/admin/tmpl/authenticators.html:20 +#: templates/uds/admin/tmpl/providers.html:19 +msgid "Logs" +msgstr "Logs" #: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/dashboard.html:4 msgid "overview" msgstr "Visão geral" -#: templates/uds/admin/tmpl/modal.html:18 +#: templates/uds/admin/tmpl/providers.html:4 +#: templates/uds/admin/tmpl/providers.html:7 +msgid "Providers" +msgstr "Provedores" + +#: templates/uds/admin/tmpl/request_failed.html:4 +msgid "Error on request" +msgstr "Erro no pedido" + +#: templates/uds/admin/tmpl/request_failed.html:7 +msgid "There was an error requesting data from server, please, try again" +msgstr "Houve um erro solicitando dados do servidor, por favor, tente novamente" + +#: templates/uds/admin/tmpl/request_failed.html:9 +#: templates/uds/html5/snippets/navbar.html:44 +msgid "Dashboard" +msgstr "Painel de controle" + +#: templates/uds/admin/tmpl/comp/modal.html:19 msgid "Close" msgstr "Fechar" -#: templates/uds/admin/tmpl/modal.html:25 +#: templates/uds/admin/tmpl/comp/modal.html:26 msgid "Save" msgstr "Salvar" @@ -1804,6 +1891,26 @@ msgstr "Sim" msgid "No" msgstr "Não" +#: templates/uds/admin/tmpl/fld/editlist_popup.html:5 +msgid "Current list" +msgstr "Lista atual" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:13 +msgid "Remove selected" +msgstr "Remover selecionados" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:14 +msgid "Remove all" +msgstr "Remova todas as" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:19 +msgid "Add element" +msgstr "Adicionar elemento" + +#: templates/uds/admin/tmpl/fld/editlist_popup.html:23 +msgid "Add" +msgstr "Adicionar" + #: templates/uds/html5/detectJava.html:4 msgid "Login redirection to UDS" msgstr "Redirecionamento de login para UDS" @@ -1822,19 +1929,19 @@ msgstr "Voltar à lista de serviços" msgid "Available services list" msgstr "Lista de serviços disponíveis" -#: templates/uds/html5/index.html:83 +#: templates/uds/html5/index.html:80 msgid "transports" msgstr "transportes" -#: templates/uds/html5/index.html:123 +#: templates/uds/html5/index.html:120 msgid "Administrator info panel" msgstr "Painel de informações do administrador" -#: templates/uds/html5/index.html:129 +#: templates/uds/html5/index.html:126 msgid "User Agent" msgstr "Agente do usuário" -#: templates/uds/html5/index.html:130 +#: templates/uds/html5/index.html:127 msgid "OS" msgstr "SISTEMA OPERACIONAL" @@ -1887,13 +1994,17 @@ msgstr "" msgid "Back" msgstr "Voltar" +#: templates/uds/html5/snippets/navbar.html:6 +msgid "toggle navigation" +msgstr "navegação toggle" + #: templates/uds/html5/snippets/navbar.html:20 msgid "About" msgstr "Sobre" -#: templates/uds/html5/snippets/navbar.html:44 -msgid "Dashboard" -msgstr "Painel de controle" +#: templates/uds/html5/snippets/navbar.html:47 +msgid "logout" +msgstr "logout" #: templates/uds/html5/templates/base.html:52 msgid "" @@ -2414,8 +2525,8 @@ msgstr "Autenticador não existe" #: xmlrpc/auths/Authenticators.py:163 xmlrpc/osmanagers/OSManagers.py:117 #: xmlrpc/services/ServiceProviders.py:115 -#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:164 -#: xmlrpc/services/Services.py:188 xmlrpc/transports/Networks.py:87 +#: xmlrpc/services/ServiceProviders.py:139 xmlrpc/services/Services.py:165 +#: xmlrpc/services/Services.py:189 xmlrpc/transports/Networks.py:87 #: xmlrpc/transports/Networks.py:98 #, python-format msgid "Name %s already exists" @@ -2489,17 +2600,17 @@ msgstr "Não é possível excluir o provedor de serviço com serviços associado msgid "Can't locate the service provider" msgstr "Não é possível localizar o provedor de serviço" -#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:206 +#: xmlrpc/services/ServiceProviders.py:157 xmlrpc/services/Services.py:207 #: xmlrpc/transports/Networks.py:71 xmlrpc/transports/Networks.py:79 #: xmlrpc/transports/Networks.py:96 msgid "Please, refresh interface" msgstr "Por favor, atualizar a interface" -#: xmlrpc/services/Services.py:203 +#: xmlrpc/services/Services.py:204 msgid "Can't delete services with deployed services associated" msgstr "Não é possível excluir serviços com serviços implantados associados" -#: xmlrpc/services/Services.py:206 +#: xmlrpc/services/Services.py:207 msgid "Can't locate the service" msgstr "Não é possível localizar o serviço" diff --git a/server/src/uds/locale/pt/LC_MESSAGES/djangojs.mo b/server/src/uds/locale/pt/LC_MESSAGES/djangojs.mo index 94e40ba9c..82d0a6a68 100644 Binary files a/server/src/uds/locale/pt/LC_MESSAGES/djangojs.mo and b/server/src/uds/locale/pt/LC_MESSAGES/djangojs.mo differ diff --git a/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po b/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po index 907e2bce3..9b3ea23c2 100644 --- a/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-23 22:34+0100\n" +"POT-Creation-Date: 2013-12-08 19:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,83 +18,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: static/adm/js/api-tools.js:46 -msgid "Just a moment..." -msgstr "Só um momento..." - -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Sunday" msgstr "Domingo" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Monday" msgstr "Segunda-feira" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Tuesday" msgstr "Terça-feira" -#: static/adm/js/api-tools.js:75 +#: static/adm/js/api-tools.js:31 msgid "Wednesday" msgstr "Quarta-feira" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Thursday" msgstr "Quinta-feira" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Friday" msgstr "Sexta-feira" -#: static/adm/js/api-tools.js:76 +#: static/adm/js/api-tools.js:32 msgid "Saturday" msgstr "Sábado" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "January" msgstr "Janeiro de" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "February" msgstr "Fevereiro" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "March" msgstr "Março de" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "April" msgstr "Abril" -#: static/adm/js/api-tools.js:77 +#: static/adm/js/api-tools.js:33 msgid "May" msgstr "Maio" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "June" msgstr "Junho de" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "July" msgstr "Julho" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "August" msgstr "Agosto" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "September" msgstr "Setembro" -#: static/adm/js/api-tools.js:78 +#: static/adm/js/api-tools.js:34 msgid "October" msgstr "Outubro" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "November" msgstr "Novembro" -#: static/adm/js/api-tools.js:79 +#: static/adm/js/api-tools.js:35 msgid "December" msgstr "Dezembro de" @@ -102,26 +98,154 @@ msgstr "Dezembro de" msgid "_MENU_ records per page" msgstr "Registros _MENU_ por página" -#: static/adm/js/gui-elements.js:33 -msgid "Service Providers" -msgstr "Prestadores de serviços" +#: static/adm/js/gui-definition.js:38 +msgid "Test" +msgstr "Teste" -#: static/adm/js/gui-elements.js:40 -msgid "Edit service provider" -msgstr "Editar Provedor de serviço" +#: static/adm/js/gui-definition.js:140 +msgid "Edit service" +msgstr "Editar serviço" -#: static/adm/js/gui-elements.js:104 +#: static/adm/js/gui-definition.js:140 +msgid "Error processing service" +msgstr "Serviço de processamento de erro" + +#: static/adm/js/gui-definition.js:141 +msgid "New service" +msgstr "Novo serviço" + +#: static/adm/js/gui-definition.js:141 +msgid "Error creating service" +msgstr "Erro ao criar o serviço" + +#: static/adm/js/gui-definition.js:142 +msgid "Delete service" +msgstr "Excluir o serviço" + +#: static/adm/js/gui-definition.js:142 +msgid "Error deleting service" +msgstr "Erro ao excluir o serviço" + +#: static/adm/js/gui-definition.js:157 +msgid "New provider" +msgstr "Novo provedor" + +#: static/adm/js/gui-definition.js:157 +msgid "Error creating provider" +msgstr "Provedor de criação de erro" + +#: static/adm/js/gui-definition.js:158 +msgid "Edit provider" +msgstr "Editar provedor" + +#: static/adm/js/gui-definition.js:158 +msgid "Error processing provider" +msgstr "Provedor de processamento de erro" + +#: static/adm/js/gui-definition.js:159 +msgid "Delete provider" +msgstr "Exclua o provedor" + +#: static/adm/js/gui-definition.js:159 +msgid "Error deleting provider" +msgstr "Provedor de erro excluindo" + +#: static/adm/js/gui-definition.js:177 +msgid "Test authenticator" +msgstr "Autenticador de teste" + +#: static/adm/js/gui-definition.js:295 +msgid "New authenticator" +msgstr "Novo autenticador" + +#: static/adm/js/gui-definition.js:295 +msgid "Error creating authenticator" +msgstr "Criando autenticador de erro" + +#: static/adm/js/gui-definition.js:296 msgid "Edit authenticator" msgstr "Editar autenticador" -#: static/adm/js/gui-elements.js:149 +#: static/adm/js/gui-definition.js:296 +msgid "Error processing authenticator" +msgstr "Autenticador de processamento de erro" + +#: static/adm/js/gui-definition.js:297 +msgid "Delete authenticator" +msgstr "Excluir o autenticador" + +#: static/adm/js/gui-definition.js:297 +msgid "Error deleting authenticator" +msgstr "Autenticador excluindo erro" + +#: static/adm/js/gui-definition.js:363 msgid "Edit transport" msgstr "Editar transportes" -#: static/adm/js/gui-elements.js:159 +#: static/adm/js/gui-definition.js:370 static/adm/js/gui-definition.js.c:405 +msgid "Error creating transport" +msgstr "Erro ao criar o transporte" + +#: static/adm/js/gui-definition.js:388 +msgid "Available for networks" +msgstr "Disponíveis para redes" + +#: static/adm/js/gui-definition.js:389 +msgid "Select networks that will see this transport" +msgstr "Selecione as redes que vão ver este transporte" + +#: static/adm/js/gui-definition.js:390 +msgid "Transport active for selected networks" +msgstr "Transporte ativo para redes selecionadas" + +#: static/adm/js/gui-definition.js:391 +msgid "" +"If active, transport will only be available on selected networks. If " +"inactive, transport will be available form any net EXCEPT selected networks" +msgstr "" +"Se ativo, transporte só estará disponível em redes selecionadas. Se " +"inativo, o transporte será formulário disponível qualquer rede exceto redes selecionadas" + +#: static/adm/js/gui-definition.js:397 msgid "New transport" msgstr "Novo transporte" +#: static/adm/js/gui-definition.js:414 +msgid "Error removing transport" +msgstr "Erro na remoção de transporte" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache" +msgstr "Cache" + +#: static/adm/js/gui-definition.js:432 +msgid "Cache has been flushed" +msgstr "Cache foi liberado" + +#: static/adm/js/gui-element.js:471 +msgid "Date" +msgstr "Data" + +#: static/adm/js/gui-element.js:478 +msgid "level" +msgstr "nível" + +#: static/adm/js/gui-element.js:486 +msgid "source" +msgstr "fonte" + +#: static/adm/js/gui-element.js:493 +msgid "message" +msgstr "Mensagem" + +#: static/adm/js/gui-element.js:499 +msgid "Logs" +msgstr "Logs" + +#: static/adm/js/gui-tools.js:7 +msgid "Just a moment..." +msgstr "Só um momento..." + #: static/adm/js/gui.js:20 msgid "Empty" msgstr "Vazio" @@ -154,14 +278,6 @@ msgstr "Primeiro" msgid "Last" msgstr "Última" -#: static/adm/js/gui.js:30 -msgid "Next" -msgstr "Próxima" - -#: static/adm/js/gui.js:31 -msgid "Previous" -msgstr "Anterior" - #: static/adm/js/gui.js:37 msgid "New" msgstr "Novo" @@ -170,82 +286,106 @@ msgstr "Novo" msgid "Edit" msgstr "Editar" -#: static/adm/js/gui.js:45 +#: static/adm/js/gui.js:45 static/adm/js/gui.js.c:322 msgid "Delete" msgstr "Excluir" #: static/adm/js/gui.js:49 -msgid "Refresh" -msgstr "Atualização" - -#: static/adm/js/gui.js:53 msgid "Xls" msgstr "Xls" -#: static/adm/js/gui.js:166 +#: static/adm/js/gui.js:111 +msgid "Message" +msgstr "Mensagem" + +#: static/adm/js/gui.js:133 msgid "Deployed services" msgstr "Serviços implantados" -#: static/adm/js/gui.js:204 +#: static/adm/js/gui.js:207 msgid "This field is required." msgstr "Este campo é obrigatório." -#: static/adm/js/gui.js:205 +#: static/adm/js/gui.js:208 msgid "Please fix this field." msgstr "Por favor corrigi este campo." -#: static/adm/js/gui.js:206 +#: static/adm/js/gui.js:209 msgid "Please enter a valid email address." msgstr "Por favor insira um endereço de email válido." -#: static/adm/js/gui.js:207 +#: static/adm/js/gui.js:210 msgid "Please enter a valid URL." msgstr "Por favor introduza um URL válido." -#: static/adm/js/gui.js:208 +#: static/adm/js/gui.js:211 msgid "Please enter a valid date." msgstr "Por favor introduza uma data válida." -#: static/adm/js/gui.js:209 +#: static/adm/js/gui.js:212 msgid "Please enter a valid date (ISO)." msgstr "Por favor introduza uma data válida (ISO)." -#: static/adm/js/gui.js:210 +#: static/adm/js/gui.js:213 msgid "Please enter a valid number." msgstr "Por favor, insira um número válido." -#: static/adm/js/gui.js:211 +#: static/adm/js/gui.js:214 msgid "Please enter only digits." msgstr "Por favor, digite somente dígitos." -#: static/adm/js/gui.js:212 +#: static/adm/js/gui.js:215 msgid "Please enter a valid credit card number." msgstr "Por favor, insira um número válido de cartão de crédito." -#: static/adm/js/gui.js:213 +#: static/adm/js/gui.js:216 msgid "Please enter the same value again." msgstr "Digite novamente o mesmo valor." -#: static/adm/js/gui.js:214 +#: static/adm/js/gui.js:217 msgid "Please enter no more than {0} characters." msgstr "Não mais de {0} caracteres digite." -#: static/adm/js/gui.js:215 +#: static/adm/js/gui.js:218 msgid "Please enter at least {0} characters." msgstr "Por favor, insira pelo menos {0} caracteres." -#: static/adm/js/gui.js:216 +#: static/adm/js/gui.js:219 msgid "Please enter a value between {0} and {1} characters long." msgstr "Por favor, insira um valor entre {0} e {1} caracteres longo." -#: static/adm/js/gui.js:217 +#: static/adm/js/gui.js:220 msgid "Please enter a value between {0} and {1}." msgstr "Por favor, insira um valor entre {0} e {1}." -#: static/adm/js/gui.js:218 +#: static/adm/js/gui.js:221 msgid "Please enter a value less than or equal to {0}." msgstr "Por favor digite um valor menor ou igual a {0}." -#: static/adm/js/gui.js:219 +#: static/adm/js/gui.js:222 msgid "Please enter a value greater than or equal to {0}." msgstr "Por favor, insira um valor maior ou igual a {0}." + +#: static/adm/js/gui.js:244 +msgid "Test result" +msgstr "Resultado do teste" + +#: static/adm/js/gui.js:245 +msgid "Test error" +msgstr "Erro de teste" + +#: static/adm/js/gui.js:276 +msgid "Edition successfully done" +msgstr "Edição com sucesso" + +#: static/adm/js/gui.js:310 +msgid "Creation successfully done" +msgstr "Criação feita com sucesso" + +#: static/adm/js/gui.js:321 +msgid "Are you sure do you want to delete " +msgstr "Você tem certeza que quer excluir " + +#: static/adm/js/gui.js:327 +msgid "Item deleted" +msgstr "Item excluído" diff --git a/server/src/uds/static/adm/js/api.js b/server/src/uds/static/adm/js/api.js index 23c6c21e6..a43bd69a4 100644 --- a/server/src/uds/static/adm/js/api.js +++ b/server/src/uds/static/adm/js/api.js @@ -127,7 +127,7 @@ // Public attributes - api.debug = true; + api.debug = false; }(window.api = window.api || {}, jQuery)); diff --git a/server/src/uds/static/adm/js/gui-authenticators.js b/server/src/uds/static/adm/js/gui-authenticators.js new file mode 100644 index 000000000..0f1275e98 --- /dev/null +++ b/server/src/uds/static/adm/js/gui-authenticators.js @@ -0,0 +1,136 @@ +/* jshint strict: true */ +gui.authenticators = new GuiElement(api.authenticators, 'auth'); + +gui.authenticators.link = function(event) { + "use strict"; + + // Button definition to trigger "Test" action + var testButton = { + testButton: { + text: gettext('Test authenticator'), + css: 'btn-info', + }, + }; + + var detailLogTable; + var clearDetailLog = function() { + if( detailLogTable ) { + var $tbl = $(detailLogTable).dataTable(); + $tbl.fnClearTable(); + $tbl.fnDestroy(); + $('#user-log-placeholder').empty(); + detailLogTable = undefined; + } + }; + + var prevTables = []; + var clearDetails = function() { + $.each(prevTables, function(undefined, tbl){ + var $tbl = $(tbl).dataTable(); + $tbl.fnClearTable(); + $tbl.fnDestroy(); + }); + + clearDetailLog(); + + $('#users-placeholder').empty(); + $('#groups-placeholder').empty(); + $('#logs-placeholder').empty(); + + $('#detail-placeholder').addClass('hidden'); + + prevTables = []; + }; + + gui.doLog('enter auths'); + api.templates.get('authenticators', function(tmpl) { + gui.clearWorkspace(); + gui.appendToWorkspace(api.templates.evaluate(tmpl, { + auths : 'auths-placeholder', + users : 'users-placeholder', + users_log : 'users-log-placeholder', + groups: 'groups-placeholder', + logs: 'logs-placeholder', + })); + gui.setLinksEvents(); + + var tableId = gui.authenticators.table({ + container : 'auths-placeholder', + rowSelect : 'single', + buttons : [ 'new', 'edit', 'delete', 'xls' ], + onRowDeselect: function() { + clearDetails(); + }, + onRowSelect : function(selected) { + + // We can have lots of users, so memory can grow up rapidly if we do not keep thins clena + // To do so, we empty previous table contents before storing new table contents + // Anyway, TabletTools will keep "leaking" memory, but we can handle a little "leak" that will be fixed as soon as we change the section + clearDetails(); + $('#detail-placeholder').removeClass('hidden'); + + gui.tools.blockUI(); + var id = selected[0].id; + var user = new GuiElement(api.authenticators.detail(id, 'users'), 'users'); + var group = new GuiElement(api.authenticators.detail(id, 'groups'), 'groups'); + var grpTable = group.table({ + container : 'groups-placeholder', + rowSelect : 'multi', + buttons : [ 'edit', 'delete', 'xls' ], + onLoad: function(k) { + gui.tools.unblockUI(); + }, + }); + var tmpLogTable; + // Use defered rendering for users, this table can be "huge" + var usrTable = user.table({ + container : 'users-placeholder', + rowSelect : 'single', + onRowSelect: function(uselected) { + gui.tools.blockUI(); + var uId = uselected[0].id; + + clearDetailLog(); + + tmpLogTable = user.logTable(uId, { + container: 'users-log-placeholder', + onLoad: function() { + detailLogTable = tmpLogTable; + gui.tools.unblockUI(); + } + }); + }, + onRowDeselect : function() { + clearDetailLog(); + }, + buttons : [ 'new', 'edit', 'delete', 'xls' ], + deferedRender: true, + scrollToTable : false, + onLoad: function(k) { + gui.tools.unblockUI(); + }, + }); + + var logTable = gui.authenticators.logTable(id, { + container : 'logs-placeholder', + }); + + // So we can destroy the tables beforing adding new ones + prevTables.push(grpTable); + prevTables.push(usrTable); + prevTables.push(logTable); + + return false; + }, + onRefresh : function() { + $('#users-placeholder').empty(); // Remove detail on parent refresh + }, + onNew : gui.methods.typedNew(gui.authenticators, gettext('New authenticator'), gettext('Error creating authenticator'),testButton), + onEdit: gui.methods.typedEdit(gui.authenticators, gettext('Edit authenticator'), gettext('Error processing authenticator'), testButton), + onDelete: gui.methods.del(gui.authenticators, gettext('Delete authenticator'), gettext('Error deleting authenticator')), + + }); + }); + + return false; +}; diff --git a/server/src/uds/static/adm/js/gui-definition.js b/server/src/uds/static/adm/js/gui-definition.js index 3f28d3ec4..1ba190cc5 100644 --- a/server/src/uds/static/adm/js/gui-definition.js +++ b/server/src/uds/static/adm/js/gui-definition.js @@ -1,6 +1,6 @@ /* jshint strict: true */ -// Compose gui elements +// Compose gui elements gui.dashboard = new BasicGuiElement('Dashboard'); gui.dashboard.link = function(event) { "use strict"; @@ -25,282 +25,7 @@ gui.dashboard.link = function(event) { }); }; -// ------------------------ -// Service providers -// ------------------------ -gui.providers = new GuiElement(api.providers, 'provi'); -gui.providers.link = function(event) { - "use strict"; - // Button definition to trigger "Test" action - var testButton = { - testButton: { - text: gettext('Test'), - css: 'btn-info', - }, - }; - - var detailLogTable; - var clearDetailLog = function() { - if( detailLogTable ) { - var $tbl = $(detailLogTable).dataTable(); - $tbl.fnClearTable(); - $tbl.fnDestroy(); - $('#services-log-placeholder').empty(); - detailLogTable = undefined; - } - }; - - var prevTables = []; - var clearDetails = function() { - gui.doLog('Clearing details'); - $.each(prevTables, function(undefined, tbl){ - var $tbl = $(tbl).dataTable(); - $tbl.fnClearTable(); - $tbl.fnDestroy(); - }); - - clearDetailLog(); - - prevTables = []; - $('#services-placeholder').empty(); - $('#logs-placeholder').empty(); - - $('#detail-placeholder').addClass('hidden'); - }; - - api.templates.get('providers', function(tmpl) { - gui.clearWorkspace(); - gui.appendToWorkspace(api.templates.evaluate(tmpl, { - providers : 'providers-placeholder', - services : 'services-placeholder', - services_log : 'services-log-placeholder', - logs: 'logs-placeholder', - })); - gui.setLinksEvents(); - - var tableId = gui.providers.table({ - container : 'providers-placeholder', - rowSelect : 'single', - onCheck : function(check, items) { // Check if item can be deleted - /*if( check == 'delete' ) { - for( var i in items ) { - if( items[i].services_count > 0) - return false; - } - return true; - }*/ - return true; - }, - onRowDeselect: function() { - clearDetails(); - }, - onRowSelect : function(selected) { - gui.tools.blockUI(); - - clearDetails(); - $('#detail-placeholder').removeClass('hidden'); - - var id = selected[0].id; - // Giving the name compossed with type, will ensure that only styles will be reattached once - var services = new GuiElement(api.providers.detail(id, 'services'), 'services-'+selected[0].type); - - var tmpLogTable; - var servicesTable = services.table({ - container : 'services-placeholder', - rowSelect : 'single', - onRowSelect: function(sselected) { - gui.tools.blockUI(); - var sId = sselected[0].id; - - clearDetailLog(); - - tmpLogTable = services.logTable(sId, { - container: 'services-log-placeholder', - onLoad: function() { - detailLogTable = tmpLogTable; - gui.tools.unblockUI(); - } - }); - }, - onRowDeselect : function() { - clearDetailLog(); - }, - onCheck: function(check, items) { - if( check == 'delete' ) { - for( var i in items ) { - if( items[i].deployed_services_count > 0) - return false; - } - return true; - } - return true; - }, - buttons : [ 'new', 'edit', 'delete', 'xls' ], - onEdit : gui.methods.typedEdit(services, gettext('Edit service'), gettext('Error processing service'), testButton), - onNew : gui.methods.typedNew(services, gettext('New service'), gettext('Error creating service'), testButton), - onDelete: gui.methods.del(services, gettext('Delete service'), gettext('Error deleting service'), testButton), - scrollToTable : false, - onLoad: function(k) { - gui.tools.unblockUI(); - }, - }); - - var logTable = gui.providers.logTable(id, { - container : 'logs-placeholder', - }); - - prevTables.push(servicesTable); - prevTables.push(logTable); - }, - buttons : [ 'new', 'edit', 'delete', 'xls' ], - onNew : gui.methods.typedNew(gui.providers, gettext('New provider'), gettext('Error creating provider'), testButton), - onEdit: gui.methods.typedEdit(gui.providers, gettext('Edit provider'), gettext('Error processing provider'), testButton), - onDelete: gui.methods.del(gui.providers, gettext('Delete provider'), gettext('Error deleting provider')), - }); - }); - - return false; -}; - -//------------------------ -// Authenticators -//------------------------ -gui.authenticators = new GuiElement(api.authenticators, 'auth'); - -gui.authenticators.link = function(event) { - "use strict"; - - // Button definition to trigger "Test" action - var testButton = { - testButton: { - text: gettext('Test authenticator'), - css: 'btn-info', - }, - }; - - var detailLogTable; - var clearDetailLog = function() { - if( detailLogTable ) { - var $tbl = $(detailLogTable).dataTable(); - $tbl.fnClearTable(); - $tbl.fnDestroy(); - $('#user-log-placeholder').empty(); - detailLogTable = undefined; - } - }; - - var prevTables = []; - var clearDetails = function() { - $.each(prevTables, function(undefined, tbl){ - var $tbl = $(tbl).dataTable(); - $tbl.fnClearTable(); - $tbl.fnDestroy(); - }); - - clearDetailLog(); - - $('#users-placeholder').empty(); - $('#groups-placeholder').empty(); - $('#logs-placeholder').empty(); - - $('#detail-placeholder').addClass('hidden'); - - prevTables = []; - }; - - gui.doLog('enter auths'); - api.templates.get('authenticators', function(tmpl) { - gui.clearWorkspace(); - gui.appendToWorkspace(api.templates.evaluate(tmpl, { - auths : 'auths-placeholder', - users : 'users-placeholder', - users_log : 'users-log-placeholder', - groups: 'groups-placeholder', - logs: 'logs-placeholder', - })); - gui.setLinksEvents(); - - var tableId = gui.authenticators.table({ - container : 'auths-placeholder', - rowSelect : 'single', - buttons : [ 'new', 'edit', 'delete', 'xls' ], - onRowDeselect: function() { - clearDetails(); - }, - onRowSelect : function(selected) { - - // We can have lots of users, so memory can grow up rapidly if we do not keep thins clena - // To do so, we empty previous table contents before storing new table contents - // Anyway, TabletTools will keep "leaking" memory, but we can handle a little "leak" that will be fixed as soon as we change the section - clearDetails(); - $('#detail-placeholder').removeClass('hidden'); - - gui.tools.blockUI(); - var id = selected[0].id; - var user = new GuiElement(api.authenticators.detail(id, 'users'), 'users'); - var group = new GuiElement(api.authenticators.detail(id, 'groups'), 'groups'); - var grpTable = group.table({ - container : 'groups-placeholder', - rowSelect : 'multi', - buttons : [ 'edit', 'delete', 'xls' ], - onLoad: function(k) { - gui.tools.unblockUI(); - }, - }); - var tmpLogTable; - // Use defered rendering for users, this table can be "huge" - var usrTable = user.table({ - container : 'users-placeholder', - rowSelect : 'single', - onRowSelect: function(uselected) { - gui.tools.blockUI(); - var uId = uselected[0].id; - - clearDetailLog(); - - tmpLogTable = user.logTable(uId, { - container: 'users-log-placeholder', - onLoad: function() { - detailLogTable = tmpLogTable; - gui.tools.unblockUI(); - } - }); - }, - onRowDeselect : function() { - clearDetailLog(); - }, - buttons : [ 'new', 'edit', 'delete', 'xls' ], - deferedRender: true, - scrollToTable : false, - onLoad: function(k) { - gui.tools.unblockUI(); - }, - }); - - var logTable = gui.authenticators.logTable(id, { - container : 'logs-placeholder', - }); - - // So we can destroy the tables beforing adding new ones - prevTables.push(grpTable); - prevTables.push(usrTable); - prevTables.push(logTable); - - return false; - }, - onRefresh : function() { - $('#users-placeholder').empty(); // Remove detail on parent refresh - }, - onNew : gui.methods.typedNew(gui.authenticators, gettext('New authenticator'), gettext('Error creating authenticator'),testButton), - onEdit: gui.methods.typedEdit(gui.authenticators, gettext('Edit authenticator'), gettext('Error processing authenticator'), testButton), - onDelete: gui.methods.del(gui.authenticators, gettext('Delete authenticator'), gettext('Error deleting authenticator')), - - }); - }); - - return false; -}; //------------------------ // Os managers diff --git a/server/src/uds/static/adm/js/gui-element.js b/server/src/uds/static/adm/js/gui-element.js index 8c89891da..8b237ab80 100644 --- a/server/src/uds/static/adm/js/gui-element.js +++ b/server/src/uds/static/adm/js/gui-element.js @@ -447,6 +447,24 @@ GuiElement.prototype = { var self = this; // Store this for child functions // Renderers for columns + + var refreshFnc = function() { + // Refreshes table content + var tbl = $('#' + tableId).dataTable(); + + gui.tools.blockUI(); + + self.rest.getLogs(itemId, function(data) { + setTimeout( function() { + tbl.fnClearTable(); + tbl.fnAddData(data); + gui.tools.unblockUI(); + }, 0); + }); // End restore overview + return false; // This may be used on button or href, better disable execution of it + }; + + // Columns description var columns = [ { "mData" : 'date', @@ -504,6 +522,12 @@ GuiElement.prototype = { "sDom" : "<'row'<'col-xs-8'T><'col-xs-4'f>r>t<'row'<'col-xs-5'i><'col-xs-7'p>>", "bDeferRender": options.deferedRender || false, }); + + // Fix form + $('#' + tableId + '_filter input').addClass('form-control'); + + // Add refresh action to panel + $(table.refreshSelector).click(refreshFnc); // if table rendered event if( options.onLoad ) { diff --git a/server/src/uds/static/adm/js/gui-form.js b/server/src/uds/static/adm/js/gui-form.js index 800373871..897b5b977 100644 --- a/server/src/uds/static/adm/js/gui-form.js +++ b/server/src/uds/static/adm/js/gui-form.js @@ -24,8 +24,6 @@ var originalValues = {}; // Initial stored values (defaults to "reset" form and also used on fillers callback to try to restore previous value) // itemGui is expected to have fields sorted by .gui.order (REST api returns them sorted) $.each(itemGui, function(index, f){ - gui.doLog(f); - gui.doLog(item[f.name]); // Fix multiline text fields to textbox if( f.gui.type == 'text' && f.gui.multiline ) { f.gui.type = 'textbox'; diff --git a/server/src/uds/static/adm/js/gui-service-providers.js b/server/src/uds/static/adm/js/gui-service-providers.js new file mode 100644 index 000000000..3971d69f2 --- /dev/null +++ b/server/src/uds/static/adm/js/gui-service-providers.js @@ -0,0 +1,135 @@ +/* jshint strict: true */ +gui.providers = new GuiElement(api.providers, 'provi'); +gui.providers.link = function(event) { + "use strict"; + + // Button definition to trigger "Test" action + var testButton = { + testButton: { + text: gettext('Test'), + css: 'btn-info', + }, + }; + + var detailLogTable; + var clearDetailLog = function() { + if( detailLogTable ) { + var $tbl = $(detailLogTable).dataTable(); + $tbl.fnClearTable(); + $tbl.fnDestroy(); + $('#services-log-placeholder').empty(); + detailLogTable = undefined; + } + }; + + var prevTables = []; + var clearDetails = function() { + gui.doLog('Clearing details'); + $.each(prevTables, function(undefined, tbl){ + var $tbl = $(tbl).dataTable(); + $tbl.fnClearTable(); + $tbl.fnDestroy(); + }); + + clearDetailLog(); + + prevTables = []; + $('#services-placeholder').empty(); + $('#logs-placeholder').empty(); + + $('#detail-placeholder').addClass('hidden'); + }; + + api.templates.get('providers', function(tmpl) { + gui.clearWorkspace(); + gui.appendToWorkspace(api.templates.evaluate(tmpl, { + providers : 'providers-placeholder', + services : 'services-placeholder', + services_log : 'services-log-placeholder', + logs: 'logs-placeholder', + })); + gui.setLinksEvents(); + + var tableId = gui.providers.table({ + container : 'providers-placeholder', + rowSelect : 'single', + onCheck : function(check, items) { // Check if item can be deleted + /*if( check == 'delete' ) { + for( var i in items ) { + if( items[i].services_count > 0) + return false; + } + return true; + }*/ + return true; + }, + onRowDeselect: function() { + clearDetails(); + }, + onRowSelect : function(selected) { + gui.tools.blockUI(); + + clearDetails(); + $('#detail-placeholder').removeClass('hidden'); + + var id = selected[0].id; + // Giving the name compossed with type, will ensure that only styles will be reattached once + var services = new GuiElement(api.providers.detail(id, 'services'), 'services-'+selected[0].type); + + var tmpLogTable; + var servicesTable = services.table({ + container : 'services-placeholder', + rowSelect : 'single', + onRowSelect: function(sselected) { + gui.tools.blockUI(); + var sId = sselected[0].id; + + clearDetailLog(); + + tmpLogTable = services.logTable(sId, { + container: 'services-log-placeholder', + onLoad: function() { + detailLogTable = tmpLogTable; + gui.tools.unblockUI(); + } + }); + }, + onRowDeselect : function() { + clearDetailLog(); + }, + onCheck: function(check, items) { + if( check == 'delete' ) { + for( var i in items ) { + if( items[i].deployed_services_count > 0) + return false; + } + return true; + } + return true; + }, + buttons : [ 'new', 'edit', 'delete', 'xls' ], + onEdit : gui.methods.typedEdit(services, gettext('Edit service'), gettext('Error processing service'), testButton), + onNew : gui.methods.typedNew(services, gettext('New service'), gettext('Error creating service'), testButton), + onDelete: gui.methods.del(services, gettext('Delete service'), gettext('Error deleting service'), testButton), + scrollToTable : false, + onLoad: function(k) { + gui.tools.unblockUI(); + }, + }); + + var logTable = gui.providers.logTable(id, { + container : 'logs-placeholder', + }); + + prevTables.push(servicesTable); + prevTables.push(logTable); + }, + buttons : [ 'new', 'edit', 'delete', 'xls' ], + onNew : gui.methods.typedNew(gui.providers, gettext('New provider'), gettext('Error creating provider'), testButton), + onEdit: gui.methods.typedEdit(gui.providers, gettext('Edit provider'), gettext('Error processing provider'), testButton), + onDelete: gui.methods.del(gui.providers, gettext('Delete provider'), gettext('Error deleting provider')), + }); + }); + + return false; +}; diff --git a/server/src/uds/templates/uds/admin/index.html b/server/src/uds/templates/uds/admin/index.html index 351a12133..0dcc92bba 100644 --- a/server/src/uds/templates/uds/admin/index.html +++ b/server/src/uds/templates/uds/admin/index.html @@ -99,6 +99,8 @@ + +