From 425257a46401b68fecec1890bf57401ebb494961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adolfo=20G=C3=B3mez=20Garc=C3=ADa?= Date: Tue, 19 Apr 2016 10:04:01 +0200 Subject: [PATCH] adding information to services, so we can figure whats going on from services list --- server/src/uds/REST/methods/services.py | 16 + .../src/uds/locale/de/LC_MESSAGES/django.po | 348 +-- .../src/uds/locale/de/LC_MESSAGES/djangojs.po | 78 +- .../src/uds/locale/en/LC_MESSAGES/django.po | 334 +-- .../src/uds/locale/en/LC_MESSAGES/djangojs.po | 77 +- .../src/uds/locale/es/LC_MESSAGES/django.po | 348 +-- .../src/uds/locale/es/LC_MESSAGES/djangojs.po | 78 +- .../src/uds/locale/eu/LC_MESSAGES/django.po | 336 +-- .../src/uds/locale/eu/LC_MESSAGES/djangojs.po | 77 +- .../src/uds/locale/fr/LC_MESSAGES/django.po | 348 +-- .../src/uds/locale/fr/LC_MESSAGES/djangojs.po | 78 +- .../src/uds/locale/it/LC_MESSAGES/django.po | 348 +-- .../src/uds/locale/it/LC_MESSAGES/djangojs.po | 78 +- .../src/uds/locale/pt/LC_MESSAGES/django.po | 1930 ++++++++++++----- .../src/uds/locale/pt/LC_MESSAGES/djangojs.po | 114 +- .../uds/static/adm/js/api-templates.coffee | 12 +- server/src/uds/static/adm/js/api.coffee | 2 +- .../uds/static/adm/js/gui-d-services.coffee | 86 +- server/src/uds/static/adm/js/gui-form.coffee | 10 +- .../src/uds/static/adm/js/gui-methods.coffee | 4 +- .../templates/uds/admin/tmpl/providers.html | 16 +- .../uds/admin/tmpl/service-info.html | 42 + 22 files changed, 3089 insertions(+), 1671 deletions(-) create mode 100644 server/src/uds/templates/uds/admin/tmpl/service-info.html diff --git a/server/src/uds/REST/methods/services.py b/server/src/uds/REST/methods/services.py index 8eee6fe86..b24563082 100644 --- a/server/src/uds/REST/methods/services.py +++ b/server/src/uds/REST/methods/services.py @@ -56,6 +56,8 @@ class Services(DetailHandler): # pylint: disable=too-many-public-methods Detail handler for Services, whose parent is a Provider ''' + custom_methods = ['servicesPools'] + @staticmethod def serviceInfo(item): info = item.getType() @@ -227,3 +229,17 @@ class Services(DetailHandler): # pylint: disable=too-many-public-methods return log.getLogs(item) except Exception: self.invalidItemException() + + def servicesPools(self, parent, item): + logger.debug('Got parameters for servicepools: {}, {}'.format(parent, item)) + uuid = processUuid(item) + service = parent.services.get(uuid=uuid) + res = [] + for i in service.deployedServices.all(): + res.append({ + 'id': i.uuid, + 'name': i.name, + 'thumb': i.image.thumb64 if i.image is not None else DEFAULT_THUMB_BASE64, + }) + + return res diff --git a/server/src/uds/locale/de/LC_MESSAGES/django.po b/server/src/uds/locale/de/LC_MESSAGES/django.po index 1ea06adf6..a0641678d 100644 --- a/server/src/uds/locale/de/LC_MESSAGES/django.po +++ b/server/src/uds/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: German (http://www.transifex.com/openuds/openuds/language/" @@ -46,7 +46,7 @@ msgstr "Aktuelle Authentifikatoren" #: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 #: REST/methods/services_pools.py:76 REST/methods/transports.py:56 #: REST/methods/user_services.py:220 REST/methods/user_services.py:255 -#: REST/methods/users_groups.py:95 REST/model.py:129 +#: REST/methods/users_groups.py:95 REST/model.py:132 #: templates/uds/admin/tmpl/calendar_rule.html:5 #: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 @@ -55,10 +55,10 @@ msgstr "Name" #: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 #: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:66 REST/methods/services.py:186 +#: REST/methods/providers.py:66 REST/methods/services.py:188 #: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 #: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:136 +#: REST/methods/users_groups.py:209 REST/model.py:139 #: templates/uds/admin/tmpl/calendar_rule.html:14 #: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" @@ -66,7 +66,7 @@ msgstr "Kommentare" #: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 #: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 -#: REST/methods/user_services.py:254 REST/model.py:145 +#: REST/methods/user_services.py:254 REST/model.py:148 #: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "Priorität" @@ -86,7 +86,7 @@ msgstr "Benutzer" #: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 #: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 -#: REST/methods/providers.py:70 REST/methods/services.py:190 +#: REST/methods/providers.py:70 REST/methods/services.py:192 #: REST/methods/services_pools.py:81 REST/methods/transports.py:59 msgid "tags" msgstr "Markierungen" @@ -120,7 +120,7 @@ msgstr "Jeder" msgid "Duration" msgstr "Dauer" -#: REST/methods/calendarrules.py:128 REST/methods/services.py:151 +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 msgid "Element already exists (duplicate key error)" msgstr "Element ist bereits vorhanden (doppelte Schlüsselfehler)" @@ -150,6 +150,7 @@ msgstr "Bildergalerie" #: REST/methods/images.py:60 REST/methods/images.py:79 #: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "Bild" @@ -233,7 +234,7 @@ msgstr "Verfügbare Berichte" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:116 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -247,33 +248,33 @@ msgstr "Beschreibung" msgid "Generates" msgstr "Generiert" -#: REST/methods/services.py:155 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "Eingabefehler: {0}" -#: REST/methods/services.py:179 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "Dienstleistungen von {0}" -#: REST/methods/services.py:181 +#: REST/methods/services.py:183 msgid "Current services" msgstr "Aktuelle Dienstleistungen" -#: REST/methods/services.py:185 +#: REST/methods/services.py:187 msgid "Service name" msgstr "Dienstnamen" -#: REST/methods/services.py:187 REST/methods/user_services.py:256 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "Typ" -#: REST/methods/services.py:188 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "Bereitgestellten Dienste" -#: REST/methods/services.py:189 templates/uds/admin/tmpl/dashboard.html.py:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "Benutzerdienste" @@ -302,7 +303,7 @@ msgstr "Geplante Aktionen" msgid "Action" msgstr "Aktion" -#: REST/methods/services_pool_calendars.py:158 +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 msgid "Parameters" msgstr "Parameter" @@ -357,7 +358,7 @@ msgstr "Zeigt Transporte" msgid "Pool Group" msgstr "Schwimmbad-Gruppe" -#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:157 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 msgid "Default" msgstr "In der Standardeinstellung" @@ -389,46 +390,57 @@ msgstr "OS-Manager" msgid "OS Manager used as base of this service pool" msgstr "OS-Manager verwendet als Grundlage dieser Service-pool" -#: REST/methods/services_pools.py:158 +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" +msgstr "Display" + +#: REST/methods/services_pools.py:159 msgid "Pool group" msgstr "Schwimmbad-Gruppe" -#: REST/methods/services_pools.py:159 +#: REST/methods/services_pools.py:160 msgid "Pool group for this pool (for pool clasify on display)" msgstr "" "Schwimmbad-Gruppe für diesen Pool (für Schwimmbad-Clasify auf dem Display)" -#: REST/methods/services_pools.py:166 +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "Erster verfügbaren Dienste" -#: REST/methods/services_pools.py:167 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "Dienste, die ursprünglich für diesen Service-Pool erstellt" -#: REST/methods/services_pools.py:174 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +#| msgid "Availability Zones" +msgid "Availability" +msgstr "Verfügbarkeit" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "Dienstleistungen im Cache behalten" -#: REST/methods/services_pools.py:175 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" msgstr "" "Dienstleistungen, die im Cache für verbesserte Service Zuweisung gehalten" -#: REST/methods/services_pools.py:182 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "Dienstleistungen im L2-Cache zu behalten" -#: REST/methods/services_pools.py:183 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "" "Dienstleistungen gehalten im level2-Cache für verbesserte Service-generation" -#: REST/methods/services_pools.py:190 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "Maximale Anzahl der Dienste" -#: REST/methods/services_pools.py:191 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" @@ -436,19 +448,19 @@ msgstr "" "Maximale Anzahl der Dienst (zugewiesen und L1-Cache) für die erstellt werden " "können dieser service" -#: REST/methods/services_pools.py:197 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "Karte-Transporte" -#: REST/methods/services_pools.py:198 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "Wenn aktiv, werden alternative Transporte für Benutzer angezeigt" -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "Zentrale Dienst existiert nicht mehr" -#: REST/methods/services_pools.py:232 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "Dieser Service erfordert eine OS-Manager" @@ -597,7 +609,7 @@ msgstr "Momentane Benutzer" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 @@ -611,7 +623,7 @@ msgstr "Momentane Benutzer" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:60 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "Benutzername" @@ -649,54 +661,54 @@ msgstr "Meta group" msgid "UDS Meta Group" msgstr "UDS Meta Group" -#: REST/model.py:120 +#: REST/model.py:123 msgid "Tags" msgstr "Markierungen" -#: REST/model.py:122 +#: REST/model.py:125 msgid "Tags for this element" msgstr "Tags für dieses element" -#: REST/model.py:130 +#: REST/model.py:133 msgid "Name of this element" msgstr "Name dieses Elements" -#: REST/model.py:137 +#: REST/model.py:140 msgid "Comments for this element" msgstr "Kommentare für dieses element" -#: REST/model.py:146 +#: REST/model.py:149 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:156 +#: REST/model.py:159 msgid "Label" msgstr "Etikett" -#: REST/model.py:157 +#: REST/model.py:160 msgid "Label for this element" msgstr "Bezeichnung für dieses element" -#: REST/model.py:240 +#: REST/model.py:243 msgid "Invalid Request" msgstr "Ungültige Anforderung" -#: REST/model.py:247 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "Methode nicht gefunden in {}: {}" -#: REST/model.py:253 +#: REST/model.py:256 msgid "Item not found" msgstr "Element nicht gefunden" -#: REST/model.py:258 web/errors.py:75 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "Zugriff verweigert" -#: REST/model.py:261 +#: REST/model.py:264 msgid "Operation not supported" msgstr "Vorgang wird nicht unterstützt" @@ -759,9 +771,12 @@ msgid "Compatibility of AD connection (Usually windows 2000 and later)" msgstr "Kompatibilität der AD-Verbindung (in der Regel Windows 2000 und höher)" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" -msgstr "LDAP-Benutzer" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" +msgstr "Benutzer" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 msgid "" @@ -774,7 +789,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -792,7 +807,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:61 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "Passwort" @@ -839,7 +854,7 @@ msgstr "Active Directory-Verbindung-Fehler: " #: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "Benutzername wurde nicht gefunden" @@ -852,7 +867,7 @@ msgstr "Gruppe nicht gefunden" #: auths/ActiveDirectory_enterprise/Authenticator.py:428 #: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "Zu viele Ergebnisse, sein mehr spezifisch" @@ -882,7 +897,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "Verbindung Params scheinen korrekt, Test wurde erfolgreich ausgeführt" @@ -912,10 +927,6 @@ msgstr "" "Wenn diese Option aktiviert, werden die Verbindung Ssl über Port 636 statt " "389" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "Admin-Benutzer" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "Benutzernamen mit lesen Berechtigungen für das eDirectory" @@ -934,17 +945,17 @@ msgid "Authenticate against eDirectory" msgstr "Authentifizieren gegen eDirectory" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "LDAP-Verbindungsfehler: " #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "LDAP-Suche base ist falsch" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" msgstr "" "LDAP-Benutzerklasse scheint nicht korrekt (kein Benutzer gefunden durch " @@ -1037,56 +1048,65 @@ msgstr "LDAP-Server-Host" msgid "Username with read privileges on the base selected" msgstr "Benutzernamen mit lesen Berechtigungen auf der Basis ausgewählt" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "Base" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "Gemeinsame Suchbeginn (verwendet für \"Benutzer\" und \"Gruppen\")" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "LDAP-info" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "User-Klasse" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "Klasse für LDAP-Benutzer (normalerweise \"posixAccount\")" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "Benutzer-Id Attr" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "Attribut, das die Benutzer-Id enthält" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "Benutzer Name Attr" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "Attributes that contains the user name (list of comma separated values)" msgstr "" "Attribute, die dem Benutzernamen (Liste der durch Kommas getrennte Werte)" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "Gruppe Name Attr" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "Attribut, das den Namen den Gruppe enthält" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "Regex LDAP-Authenticator" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "Reguläre Ausdrücke LDAP-Authentifizierungsserver" -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" @@ -1094,7 +1114,7 @@ msgstr "" "LDAP-Benutzer-Id-Attr ist vermutlich falsch (keiner Benutzer mit beiden " "finden Bedingungen)" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" @@ -1110,11 +1130,6 @@ msgstr "SAML Authenticator" msgid "SAML (v2.0) Authenticator" msgstr "SAML (v2. 0) Authenticator" -#: auths/SAML_enterprise/SAML.py:113 reports/stats/usage_by_pool.py:73 -#: reports/stats/usage_by_pool.py:189 templates/uds/internal_page.html.py:28 -msgid "User" -msgstr "Benutzer" - #: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "Der Private Schlüssel" @@ -1127,7 +1142,12 @@ msgstr "" "Privater Schlüssel zum Zeichen und Encription, wie base-64 von generiert " "OpenSSL" -#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +#| msgid "Certificate" +msgid "Certificates" +msgstr "Zertifikate" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "Zertifikat" @@ -1146,6 +1166,11 @@ msgstr "" "Sie können hier die URL oder die IDP-Metadaten oder die Metadaten selbst " "(Xml) eingeben." +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +#| msgid "IDP Metadata" +msgid "Metadata" +msgstr "Metadaten" + #: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "Einheits-ID" @@ -1162,6 +1187,11 @@ msgstr "Benutzer Name attrs" msgid "Fields from where to extract user name" msgstr "Felder aus wo Sie Benutzernamen extrahieren" +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "Attribute" + #: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "Gruppe Name attrs" @@ -1248,6 +1278,10 @@ msgstr "Wir brauchen mehr als zwei Elemente!" msgid "Ldap Server IP or Hostname" msgstr "LDAP-Server-IP oder Hostname" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "LDAP-Benutzer" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "Group-Klasse" @@ -1457,6 +1491,16 @@ msgstr "Base gruppierten Dienst" msgid "Advanced" msgstr "Erweiterte" +#: core/ui/UserInterface.py:88 +#| msgid "Invalid credentials" +msgid "Credentials" +msgstr "Anmeldeinformationen" + +#: core/ui/UserInterface.py:89 +#| msgid "Tunnel Server" +msgid "Tunnel" +msgstr "Tunnel" + #: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "Aktive" @@ -2094,6 +2138,7 @@ msgstr "Zugriffe von pool" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 #: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "Schwimmbad" @@ -2210,7 +2255,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "Grundmaschine" @@ -2226,14 +2271,14 @@ msgstr "Service-Grundmaschine" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OpenStack/LiveService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "Netzwerk" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -2243,14 +2288,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "Speicher (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "Speicher für Maschinen, die von diesem Dienst bereitgestellt" @@ -2268,7 +2313,7 @@ msgstr "Datastores wohin mit inkrementellen & Publikationen" #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 #: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "Computernamen" @@ -2276,7 +2321,7 @@ msgstr "Computernamen" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OpenStack/LiveService.py:127 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "Basisname für Clones von Maschine" @@ -2284,8 +2329,8 @@ msgstr "Basisname für Clones von Maschine" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:133 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "Länge des Dateinamens" @@ -2294,8 +2339,8 @@ msgstr "Länge des Dateinamens" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:136 -#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "" "Größe des numerischen Teils für die Namen dieser Maschinen (zwischen 3 und 6)" @@ -2304,8 +2349,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:153 -#: services/Vmware_enterprise/VCLinkedCloneService.py:103 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 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." @@ -2314,8 +2359,8 @@ msgstr "Die Länge der Basename plus Länge darf nicht größer als 15 sein." #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:155 -#: services/Vmware_enterprise/VCLinkedCloneService.py:105 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "Der Computername kann nicht nur Zahlen sein." @@ -2549,10 +2594,6 @@ msgstr "Speicher garantiert (Mb)" msgid "Physical memory guaranteed to machines" msgstr "Arbeitsspeicher garantiert Maschinen" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "Display" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "Display-Typ (nur zu Verwaltungszwecken)" @@ -2699,6 +2740,21 @@ msgstr "Band" msgid "Base volume for service (restricted by availability zone)" msgstr "Base Band für Service (beschränkte Verfügbarkeit Zone)" +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +#| msgid "Base Machine" +msgid "Machine" +msgstr "Maschine" + #: services/OpenStack/LiveService.py:118 msgid "Network to attach to this service" msgstr "Netzwerk auf diesen Dienst Anhängen" @@ -3049,59 +3105,59 @@ msgstr "Datacenter" msgid "Datacenter containing base machine" msgstr "Enthaltenden Datacenter-Grundmaschine" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "Pub. Ressourcen-Pool" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "Ressourcen-Pool wo bereitstellen Klone" -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Clones Folder" -msgstr "Klone Ordner" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Folder where deploy clones" -msgstr "Ordner wo bereitstellen Klone" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 -msgid "Resource Pool" -msgstr "Ressourcen-Pool" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 -msgid "Resource Pool containing base machine" -msgstr "Ressource Pool enthaltenden Grundmaschine" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 -msgid "Base machine for this service" -msgstr "Basismaschine für diesen Dienst" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:64 msgid "Pub.Datastores" msgstr "Pub.Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "Datastores wo Publikationen setzen" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 -msgid "Inc.Datastores" -msgstr "Inc.Datastores" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 -msgid "Datastores where to put incrementals" -msgstr "Datastores wo Sie inkrementelle Backups" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "Remove found duplicates" msgstr "Gefundenen Duplikate entfernen" -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "If active, found duplicates clones for this service will be removed" msgstr "" "Wenn aktiv, werden gefundenen Duplikate Klone für diesen Dienst entfernt" +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "Ressourcen-Pool" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "Ressource Pool enthaltenden Grundmaschine" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "Basismaschine für diesen Dienst" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "Klone Ordner" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "Ordner wo bereitstellen Klone" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 +msgid "Inc.Datastores" +msgstr "Inc.Datastores" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +msgid "Datastores where to put incrementals" +msgstr "Datastores wo Sie inkrementelle Backups" + #: services/Xen/XenLinkedService.py:56 msgid "Xen Linked Clone (Experimental)" msgstr "Xen Linked Clone (experimentell)" @@ -3187,6 +3243,7 @@ msgstr "Toggle navigation" #: templates/uds/admin/tmpl/dashboard.html:5 #: templates/uds/admin/tmpl/osmanagers.html:31 #: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 #: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "Übersicht" @@ -3243,6 +3300,7 @@ msgstr "Logout" #: templates/uds/admin/tmpl/authenticators.html:33 #: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 #: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "Protokolle" @@ -3559,6 +3617,11 @@ msgstr "" msgid "Thank you." msgstr "Danke." +#: templates/uds/admin/tmpl/service-info.html:5 +#| msgid "Service Pools" +msgid "Services Pools" +msgstr "Dienstleistungen-Pools" + #: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "Cache" @@ -4025,7 +4088,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" msgstr "" "Wenn nicht leer ist, dieser Benutzername wird immer als verwendet " @@ -4037,7 +4100,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "" "Wenn nicht leer ist, dieses Kennwort immer verwendet werden als " @@ -4048,7 +4111,7 @@ msgstr "" msgid "Without Domain" msgstr "Ohne Domäne" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " @@ -4220,6 +4283,17 @@ msgstr "" "Wenn nicht leer, diese Domäne immer verwendet werden als " "Anmeldeinformationen Domäne" +#: transports/RDP/BaseRDPTransport.py:64 +#| msgid "" +#| "If checked, the domain part will always be emptied (to connecto to xrdp " +#| "for example is needed)" +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" +"Wenn diese Option aktiviert, wird der Domänenteil immer geleert werden (zum Herstellen einer Verbindung mit Xrdp für " +"Beispiel ist erforderlich)" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -4442,7 +4516,7 @@ msgstr "RGS-Transport (Tunneling)" msgid "RGS Transport for tunneled connection" msgstr "RGS-Transport für getunnelte Verbindung" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" "Server certificate (public), can be found on your ovirt engine, probably at /" "etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." diff --git a/server/src/uds/locale/de/LC_MESSAGES/djangojs.po b/server/src/uds/locale/de/LC_MESSAGES/djangojs.po index b45fd135b..4fe0a1c73 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: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: German (http://www.transifex.com/openuds/openuds/language/" @@ -103,13 +103,14 @@ msgstr "Test" msgid "Search error" msgstr "Suche Fehler" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:306 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "Akzeptieren" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "Fehler beim Zugriff auf Daten" @@ -502,84 +503,93 @@ msgstr "Fehler beim Erstellen des Berichts" msgid "Error obtaining report description" msgstr "Herbeiführende Bericht Fehlerbeschreibung." -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "In der Pflege" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "Aktive" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "Informationen" + +#: static/tmp_js/gui-d-services.js:120 +#| msgid "Service creation error" +msgid "Service information" +msgstr "Service-Informationen" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "Bearbeiten service" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "Fehler beim Erstellen von Service" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "Neuer service" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "Service Fehler speichern" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "Dienst löschen" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "Dienstfehler löschen" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "Wartung" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "Wartungsmodus" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "Geben Sie im Wartungsmodus?" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "Beenden Wartungsmodus zu?" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "Geben Sie Wartung Modus" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "Ausfahrt-Wartungsmodus" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "Neuer Anbieter für Dienste" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "Fehler beim Erstellen der Provider-Dienste" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "Dienstleister bearbeiten" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "Speichern von Fehler-Dienstleister" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "Löschen-Dienstleister" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "Service Provider löschen Fehler" @@ -741,7 +751,7 @@ msgstr "Bearbeiten" msgid "saving error" msgstr "Speichern von Fehler" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "Löschen" @@ -806,15 +816,15 @@ msgstr "Protokolle" msgid "Main" msgstr "Main" -#: static/tmp_js/gui-form.js:289 +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "Ja" -#: static/tmp_js/gui-form.js:290 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "Nein" -#: static/tmp_js/gui-form.js:307 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "Schließen" @@ -838,31 +848,31 @@ msgstr "Edition erfolgreich durchgeführt" msgid "Overview" msgstr "Übersicht" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "vom Typ" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "Erstellung erfolgreich durchgeführt" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "Bist du sicher wollen Sie löschen " -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "Elemente:" -#: static/tmp_js/gui-methods.js:147 +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "Fehler beim Löschen" -#: static/tmp_js/gui-methods.js:149 +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "Erfolgreich gelöscht" -#: static/tmp_js/gui-methods.js:154 +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "Löschung-Ergebnisse" diff --git a/server/src/uds/locale/en/LC_MESSAGES/django.po b/server/src/uds/locale/en/LC_MESSAGES/django.po index f42d64c20..07f836b31 100644 --- a/server/src/uds/locale/en/LC_MESSAGES/django.po +++ b/server/src/uds/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,7 +44,7 @@ msgstr "" #: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 #: REST/methods/services_pools.py:76 REST/methods/transports.py:56 #: REST/methods/user_services.py:220 REST/methods/user_services.py:255 -#: REST/methods/users_groups.py:95 REST/model.py:129 +#: REST/methods/users_groups.py:95 REST/model.py:132 #: templates/uds/admin/tmpl/calendar_rule.html:5 #: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 @@ -53,10 +53,10 @@ msgstr "" #: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 #: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:66 REST/methods/services.py:186 +#: REST/methods/providers.py:66 REST/methods/services.py:188 #: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 #: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:136 +#: REST/methods/users_groups.py:209 REST/model.py:139 #: templates/uds/admin/tmpl/calendar_rule.html:14 #: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" @@ -64,7 +64,7 @@ msgstr "" #: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 #: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 -#: REST/methods/user_services.py:254 REST/model.py:145 +#: REST/methods/user_services.py:254 REST/model.py:148 #: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "" @@ -84,7 +84,7 @@ msgstr "" #: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 #: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 -#: REST/methods/providers.py:70 REST/methods/services.py:190 +#: REST/methods/providers.py:70 REST/methods/services.py:192 #: REST/methods/services_pools.py:81 REST/methods/transports.py:59 msgid "tags" msgstr "" @@ -118,7 +118,7 @@ msgstr "" msgid "Duration" msgstr "" -#: REST/methods/calendarrules.py:128 REST/methods/services.py:151 +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 msgid "Element already exists (duplicate key error)" msgstr "" @@ -148,6 +148,7 @@ msgstr "" #: REST/methods/images.py:60 REST/methods/images.py:79 #: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "" @@ -227,7 +228,7 @@ msgstr "" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:116 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -241,33 +242,33 @@ msgstr "" msgid "Generates" msgstr "" -#: REST/methods/services.py:155 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "" -#: REST/methods/services.py:179 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "" -#: REST/methods/services.py:181 +#: REST/methods/services.py:183 msgid "Current services" msgstr "" -#: REST/methods/services.py:185 +#: REST/methods/services.py:187 msgid "Service name" msgstr "" -#: REST/methods/services.py:187 REST/methods/user_services.py:256 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "" -#: REST/methods/services.py:188 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "" -#: REST/methods/services.py:189 templates/uds/admin/tmpl/dashboard.html.py:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "" @@ -296,7 +297,7 @@ msgstr "" msgid "Action" msgstr "" -#: REST/methods/services_pool_calendars.py:158 +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 msgid "Parameters" msgstr "" @@ -351,7 +352,7 @@ msgstr "" msgid "Pool Group" msgstr "" -#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:157 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 msgid "Default" msgstr "" @@ -379,61 +380,71 @@ msgstr "" msgid "OS Manager used as base of this service pool" msgstr "" -#: REST/methods/services_pools.py:158 -msgid "Pool group" +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" msgstr "" #: REST/methods/services_pools.py:159 +msgid "Pool group" +msgstr "" + +#: REST/methods/services_pools.py:160 msgid "Pool group for this pool (for pool clasify on display)" msgstr "" -#: REST/methods/services_pools.py:166 +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "" -#: REST/methods/services_pools.py:167 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "" -#: REST/methods/services_pools.py:174 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +msgid "Availability" +msgstr "" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "" -#: REST/methods/services_pools.py:175 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" msgstr "" -#: REST/methods/services_pools.py:182 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "" -#: REST/methods/services_pools.py:183 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "" -#: REST/methods/services_pools.py:190 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "" -#: REST/methods/services_pools.py:191 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" msgstr "" -#: REST/methods/services_pools.py:197 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "" -#: REST/methods/services_pools.py:198 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "" -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "" -#: REST/methods/services_pools.py:232 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "" @@ -578,7 +589,7 @@ msgstr "" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 @@ -592,7 +603,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:60 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "" @@ -630,52 +641,52 @@ msgstr "" msgid "UDS Meta Group" msgstr "" -#: REST/model.py:120 +#: REST/model.py:123 msgid "Tags" msgstr "" -#: REST/model.py:122 +#: REST/model.py:125 msgid "Tags for this element" msgstr "" -#: REST/model.py:130 +#: REST/model.py:133 msgid "Name of this element" msgstr "" -#: REST/model.py:137 +#: REST/model.py:140 msgid "Comments for this element" msgstr "" -#: REST/model.py:146 +#: REST/model.py:149 msgid "" "Selects the priority of this element (lower number means higher priority)" msgstr "" -#: REST/model.py:156 +#: REST/model.py:159 msgid "Label" msgstr "" -#: REST/model.py:157 +#: REST/model.py:160 msgid "Label for this element" msgstr "" -#: REST/model.py:240 +#: REST/model.py:243 msgid "Invalid Request" msgstr "" -#: REST/model.py:247 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "" -#: REST/model.py:253 +#: REST/model.py:256 msgid "Item not found" msgstr "" -#: REST/model.py:258 web/errors.py:75 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "" -#: REST/model.py:261 +#: REST/model.py:264 msgid "Operation not supported" msgstr "" @@ -736,8 +747,11 @@ msgid "Compatibility of AD connection (Usually windows 2000 and later)" msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 @@ -749,7 +763,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -767,7 +781,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:61 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "" @@ -814,7 +828,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "" @@ -827,7 +841,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:428 #: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "" @@ -854,7 +868,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "" @@ -882,10 +896,6 @@ msgstr "" msgid "If checked, the connection will be ssl, using port 636 instead of 389" msgstr "" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "" @@ -904,17 +914,17 @@ msgid "Authenticate against eDirectory" msgstr "" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "" #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" msgstr "" @@ -996,61 +1006,70 @@ msgstr "" msgid "Username with read privileges on the base selected" msgstr "" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "Attributes that contains the user name (list of comma separated values)" msgstr "" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "" -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" msgstr "" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" @@ -1064,11 +1083,6 @@ msgstr "" msgid "SAML (v2.0) Authenticator" msgstr "" -#: auths/SAML_enterprise/SAML.py:113 reports/stats/usage_by_pool.py:73 -#: reports/stats/usage_by_pool.py:189 templates/uds/internal_page.html.py:28 -msgid "User" -msgstr "" - #: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "" @@ -1079,7 +1093,11 @@ msgid "" "openssl" msgstr "" -#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +msgid "Certificates" +msgstr "" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "" @@ -1096,6 +1114,10 @@ msgid "" "You can enter here the URL or the IDP metadata or the metadata itself (xml)" msgstr "" +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +msgid "Metadata" +msgstr "" + #: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "" @@ -1112,6 +1134,11 @@ msgstr "" msgid "Fields from where to extract user name" msgstr "" +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "" + #: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "" @@ -1194,6 +1221,10 @@ msgstr "" msgid "Ldap Server IP or Hostname" msgstr "" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "" @@ -1388,6 +1419,14 @@ msgstr "" msgid "Advanced" msgstr "" +#: core/ui/UserInterface.py:88 +msgid "Credentials" +msgstr "" + +#: core/ui/UserInterface.py:89 +msgid "Tunnel" +msgstr "" + #: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "" @@ -1996,6 +2035,7 @@ msgstr "" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 #: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "" @@ -2107,7 +2147,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "" @@ -2123,14 +2163,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OpenStack/LiveService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -2138,14 +2178,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "" @@ -2163,7 +2203,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 #: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "" @@ -2171,7 +2211,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OpenStack/LiveService.py:127 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "" @@ -2179,8 +2219,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:133 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "" @@ -2189,8 +2229,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:136 -#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "" @@ -2198,8 +2238,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:153 -#: services/Vmware_enterprise/VCLinkedCloneService.py:103 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 msgid "The length of basename plus length must not be greater than 15" msgstr "" @@ -2208,8 +2248,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:155 -#: services/Vmware_enterprise/VCLinkedCloneService.py:105 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "" @@ -2440,10 +2480,6 @@ msgstr "" msgid "Physical memory guaranteed to machines" msgstr "" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "" @@ -2584,6 +2620,20 @@ msgstr "" msgid "Base volume for service (restricted by availability zone)" msgstr "" +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +msgid "Machine" +msgstr "" + #: services/OpenStack/LiveService.py:118 msgid "Network to attach to this service" msgstr "" @@ -2924,58 +2974,58 @@ msgstr "" msgid "Datacenter containing base machine" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Clones Folder" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Folder where deploy clones" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 -msgid "Resource Pool" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 -msgid "Resource Pool containing base machine" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 -msgid "Base machine for this service" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:64 msgid "Pub.Datastores" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 -msgid "Inc.Datastores" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 -msgid "Datastores where to put incrementals" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "Remove found duplicates" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "If active, found duplicates clones for this service will be removed" msgstr "" +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 +msgid "Inc.Datastores" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +msgid "Datastores where to put incrementals" +msgstr "" + #: services/Xen/XenLinkedService.py:56 msgid "Xen Linked Clone (Experimental)" msgstr "" @@ -3057,6 +3107,7 @@ msgstr "" #: templates/uds/admin/tmpl/dashboard.html:5 #: templates/uds/admin/tmpl/osmanagers.html:31 #: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 #: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "" @@ -3113,6 +3164,7 @@ msgstr "" #: templates/uds/admin/tmpl/authenticators.html:33 #: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 #: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "" @@ -3424,6 +3476,10 @@ msgstr "" msgid "Thank you." msgstr "" +#: templates/uds/admin/tmpl/service-info.html:5 +msgid "Services Pools" +msgstr "" + #: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "" @@ -3856,7 +3912,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" msgstr "" @@ -3866,7 +3922,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "" @@ -3875,7 +3931,7 @@ msgstr "" msgid "Without Domain" msgstr "" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " @@ -4032,6 +4088,12 @@ msgstr "" msgid "If not empty, this domain will be always used as credential domain" msgstr "" +#: transports/RDP/BaseRDPTransport.py:64 +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -4236,7 +4298,7 @@ msgstr "" msgid "RGS Transport for tunneled connection" msgstr "" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" "Server certificate (public), can be found on your ovirt engine, probably at /" "etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." diff --git a/server/src/uds/locale/en/LC_MESSAGES/djangojs.po b/server/src/uds/locale/en/LC_MESSAGES/djangojs.po index 2acd16ab8..a6d7013e0 100644 --- a/server/src/uds/locale/en/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/en/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,13 +101,14 @@ msgstr "" msgid "Search error" msgstr "" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:306 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "" @@ -500,84 +501,92 @@ msgstr "" msgid "Error obtaining report description" msgstr "" -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "" + +#: static/tmp_js/gui-d-services.js:120 +msgid "Service information" +msgstr "" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "" @@ -738,7 +747,7 @@ msgstr "" msgid "saving error" msgstr "" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "" @@ -803,15 +812,15 @@ msgstr "" msgid "Main" msgstr "" -#: static/tmp_js/gui-form.js:289 +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "" -#: static/tmp_js/gui-form.js:290 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "" -#: static/tmp_js/gui-form.js:307 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "" @@ -835,31 +844,31 @@ msgstr "" msgid "Overview" msgstr "" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "" -#: static/tmp_js/gui-methods.js:147 +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "" -#: static/tmp_js/gui-methods.js:149 +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "" -#: static/tmp_js/gui-methods.js:154 +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "" diff --git a/server/src/uds/locale/es/LC_MESSAGES/django.po b/server/src/uds/locale/es/LC_MESSAGES/django.po index 2f5bde618..320202410 100644 --- a/server/src/uds/locale/es/LC_MESSAGES/django.po +++ b/server/src/uds/locale/es/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Spanish (http://www.transifex.com/openuds/openuds/language/" @@ -51,7 +51,7 @@ msgstr "Autenticadores actuales" #: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 #: REST/methods/services_pools.py:76 REST/methods/transports.py:56 #: REST/methods/user_services.py:220 REST/methods/user_services.py:255 -#: REST/methods/users_groups.py:95 REST/model.py:129 +#: REST/methods/users_groups.py:95 REST/model.py:132 #: templates/uds/admin/tmpl/calendar_rule.html:5 #: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 @@ -60,10 +60,10 @@ msgstr "Nombre" #: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 #: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:66 REST/methods/services.py:186 +#: REST/methods/providers.py:66 REST/methods/services.py:188 #: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 #: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:136 +#: REST/methods/users_groups.py:209 REST/model.py:139 #: templates/uds/admin/tmpl/calendar_rule.html:14 #: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" @@ -71,7 +71,7 @@ msgstr "Comentarios" #: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 #: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 -#: REST/methods/user_services.py:254 REST/model.py:145 +#: REST/methods/user_services.py:254 REST/model.py:148 #: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "Prioridad" @@ -91,7 +91,7 @@ msgstr "Usuarios" #: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 #: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 -#: REST/methods/providers.py:70 REST/methods/services.py:190 +#: REST/methods/providers.py:70 REST/methods/services.py:192 #: REST/methods/services_pools.py:81 REST/methods/transports.py:59 msgid "tags" msgstr "Etiquetas" @@ -125,7 +125,7 @@ msgstr "Cada" msgid "Duration" msgstr "Duración" -#: REST/methods/calendarrules.py:128 REST/methods/services.py:151 +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 msgid "Element already exists (duplicate key error)" msgstr "Elemento ya existe (error de clave duplicada)" @@ -155,6 +155,7 @@ msgstr "Galería de imágenes" #: REST/methods/images.py:60 REST/methods/images.py:79 #: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "Imagen" @@ -236,7 +237,7 @@ msgstr "Informes disponibles" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:116 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -250,33 +251,33 @@ msgstr "Descripción" msgid "Generates" msgstr "Genera" -#: REST/methods/services.py:155 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "Error de entrada: {0}" -#: REST/methods/services.py:179 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "Servicios de {0}" -#: REST/methods/services.py:181 +#: REST/methods/services.py:183 msgid "Current services" msgstr "Servicios actuales" -#: REST/methods/services.py:185 +#: REST/methods/services.py:187 msgid "Service name" msgstr "Nombre del servicio" -#: REST/methods/services.py:187 REST/methods/user_services.py:256 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "Tipo" -#: REST/methods/services.py:188 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "Servicios desplegados" -#: REST/methods/services.py:189 templates/uds/admin/tmpl/dashboard.html.py:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "Servicios de usuario" @@ -305,7 +306,7 @@ msgstr "Acciones programadas" msgid "Action" msgstr "Acción" -#: REST/methods/services_pool_calendars.py:158 +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 msgid "Parameters" msgstr "Parámetros" @@ -360,7 +361,7 @@ msgstr "Muestra transportes" msgid "Pool Group" msgstr "Grupo de piscina" -#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:157 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 msgid "Default" msgstr "Por defecto" @@ -388,47 +389,58 @@ msgstr "OS Manager" msgid "OS Manager used as base of this service pool" msgstr "OS Manager utilizado como base de este pool de servicios" -#: REST/methods/services_pools.py:158 +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" +msgstr "Pantalla" + +#: REST/methods/services_pools.py:159 msgid "Pool group" msgstr "Grupo de piscina" -#: REST/methods/services_pools.py:159 +#: REST/methods/services_pools.py:160 msgid "Pool group for this pool (for pool clasify on display)" msgstr "Grupo de la piscina para esta piscina (piscina clasifique en pantalla)" -#: REST/methods/services_pools.py:166 +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "Servicios disponibles inicialmente" -#: REST/methods/services_pools.py:167 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "Servicios creados inicialmente para este pool de servicios" -#: REST/methods/services_pools.py:174 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +#| msgid "Availability Zones" +msgid "Availability" +msgstr "Disponibilidad de" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "Servicios para mantener en la caché" -#: REST/methods/services_pools.py:175 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" msgstr "" "Servicios guardado en caché para mejorar la asignación de servicio de " "usuario " -#: REST/methods/services_pools.py:182 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "Servicios para mantener en la caché L2" -#: REST/methods/services_pools.py:183 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "" "Servicios guardados en la caché de nivel 2 para mejorar la generación de " "servicios " -#: REST/methods/services_pools.py:190 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "Número máximo de servicios a proveer" -#: REST/methods/services_pools.py:191 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" @@ -436,19 +448,19 @@ msgstr "" "Número máximo de servicios (asignados y caché L1) que pueden crearse para " "este servicio" -#: REST/methods/services_pools.py:197 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "Mostrar transportes" -#: REST/methods/services_pools.py:198 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "Si está activo, se mostrarán transportes alternativos para el usuario " -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "Ya no existe servicio base" -#: REST/methods/services_pools.py:232 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "Este servicio requiere un OS Manager" @@ -598,7 +610,7 @@ msgstr "Usuarios actuales" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 @@ -612,7 +624,7 @@ msgstr "Usuarios actuales" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:60 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "Nombre de usuario" @@ -650,53 +662,53 @@ msgstr "Metagrupo" msgid "UDS Meta Group" msgstr "Metagrupo UDS " -#: REST/model.py:120 +#: REST/model.py:123 msgid "Tags" msgstr "Etiquetas" -#: REST/model.py:122 +#: REST/model.py:125 msgid "Tags for this element" msgstr "Etiquetas para este elemento" -#: REST/model.py:130 +#: REST/model.py:133 msgid "Name of this element" msgstr "Nombre de este elemento" -#: REST/model.py:137 +#: REST/model.py:140 msgid "Comments for this element" msgstr "Comentarios para este elemento" -#: REST/model.py:146 +#: REST/model.py:149 msgid "" "Selects the priority of this element (lower number means higher priority)" msgstr "" "Selecciona la prioridad de este elemento (a menor número, mayor prioridad)" -#: REST/model.py:156 +#: REST/model.py:159 msgid "Label" msgstr "Etiqueta" -#: REST/model.py:157 +#: REST/model.py:160 msgid "Label for this element" msgstr "Etiqueta para este elemento" -#: REST/model.py:240 +#: REST/model.py:243 msgid "Invalid Request" msgstr "Solicitud no válida" -#: REST/model.py:247 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "Método no encontrado en {}: {}" -#: REST/model.py:253 +#: REST/model.py:256 msgid "Item not found" msgstr "Elemento no encontrado" -#: REST/model.py:258 web/errors.py:75 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "Acceso denegado" -#: REST/model.py:261 +#: REST/model.py:264 msgid "Operation not supported" msgstr "Operación no soportada" @@ -759,9 +771,12 @@ msgstr "" "posteriores)" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" -msgstr "Usuario LDAP" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" +msgstr "Usuario" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 msgid "" @@ -774,7 +789,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -792,7 +807,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:61 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "Contraseña" @@ -841,7 +856,7 @@ msgstr "Error de conexión de Active Directory: " #: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "Nombre de usuario no encontrado" @@ -854,7 +869,7 @@ msgstr "Grupo no encontrado" #: auths/ActiveDirectory_enterprise/Authenticator.py:428 #: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "Demasiados resultados, sea más específico" @@ -882,7 +897,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "" "Los parámetros de conexión parecen correctos, la prueba fue ejecutada con " @@ -914,10 +929,6 @@ msgstr "" "Si está seleccionada, la conexión será ssl, usando el puerto 636 en lugar de " "389" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "Usuario admin" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "Nombre de usuario con privilegios de lectura en eDirectory" @@ -936,17 +947,17 @@ msgid "Authenticate against eDirectory" msgstr "Autenticar contra eDirectory" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "Error de conexión a LDAP: " #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "La base de búsqueda LDAP es incorrecta" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" msgstr "" "La clase de usuario de LDAP parece ser incorrecta (ningún usuario encontrado " @@ -1037,57 +1048,66 @@ msgstr "Servidor host LDAP" msgid "Username with read privileges on the base selected" msgstr "Usuario con privilegios de lectura en la base seleccionada" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "Base" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "Base común de búsqueda (utilizada para \"usuarios\" y \"grupos\")" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "Información de LDAP" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "Clase de usuario" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "Clase para usuarios LDAP (normalmente posixAccount)" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "Atr. de Id de usuario" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "Atributo que contiene el id de usuario" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "Atr. de nombre de usuario" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "Attributes that contains the user name (list of comma separated values)" msgstr "" "Atributos que contienen el nombre de usuario (lista de valores separados por " "comas)" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "Atr. de nombre de Grupo" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "Atributo que contiene el nombre del grupo" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "Autenticador Regex LDAP" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "Expresiones regulares autenticador LDAP " -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" @@ -1095,7 +1115,7 @@ msgstr "" "El atributo del id de usuario LDAP es probablemente incorrecto (no se puede " "encontrar ningún usuario con ambas condiciones)" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" @@ -1111,11 +1131,6 @@ msgstr "Autenticador SAML " msgid "SAML (v2.0) Authenticator" msgstr "Autenticador SAML (v2.0) " -#: auths/SAML_enterprise/SAML.py:113 reports/stats/usage_by_pool.py:73 -#: reports/stats/usage_by_pool.py:189 templates/uds/internal_page.html.py:28 -msgid "User" -msgstr "Usuario" - #: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "Clave privada" @@ -1128,7 +1143,12 @@ msgstr "" "Clave privada utilizada para firmar y encriptar, la generada en la base 64 " "de OpenSSL" -#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +#| msgid "Certificate" +msgid "Certificates" +msgstr "Certificados" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "Certificado" @@ -1147,6 +1167,11 @@ msgstr "" "Puede introducir aquí la URL o los metadatos IDP o simplemente los metadatos " "(xml)" +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +#| msgid "IDP Metadata" +msgid "Metadata" +msgstr "Metadatos de" + #: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "ID de la entidad" @@ -1165,6 +1190,11 @@ msgstr "Atrs del nombre de usuario" msgid "Fields from where to extract user name" msgstr "Campos de los que se extrae el nombre de usuario" +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "Atributos" + #: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "Atrs del nombre de grupo " @@ -1251,6 +1281,10 @@ msgstr "¡Necesitamos más de dos elementos!" msgid "Ldap Server IP or Hostname" msgstr "IP del servidor LDAP o nombre del host" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "Usuario LDAP" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "Clase de grupo" @@ -1457,6 +1491,16 @@ msgstr "Base de Servicios en Cluster" msgid "Advanced" msgstr "Avanzado" +#: core/ui/UserInterface.py:88 +#| msgid "Invalid credentials" +msgid "Credentials" +msgstr "Credenciales" + +#: core/ui/UserInterface.py:89 +#| msgid "Tunnel Server" +msgid "Tunnel" +msgstr "Túnel" + #: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "Activo" @@ -2097,6 +2141,7 @@ msgstr "Accesos por Pool" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 #: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "Pool" @@ -2211,7 +2256,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "Máquina Base" @@ -2227,14 +2272,14 @@ msgstr "Máquina base para el servicio" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OpenStack/LiveService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "Red" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -2244,14 +2289,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "Memoria (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "Memoria para las máquinas desplegada desde este servicio" @@ -2271,7 +2316,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 #: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "Nombres de las máquinas" @@ -2279,7 +2324,7 @@ msgstr "Nombres de las máquinas" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OpenStack/LiveService.py:127 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "Nombre base para clones de esta máquina" @@ -2287,8 +2332,8 @@ msgstr "Nombre base para clones de esta máquina" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:133 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "Longitud del nombre" @@ -2297,8 +2342,8 @@ msgstr "Longitud del nombre" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:136 -#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "" "Tamaño de la parte numérica para los nombres de estas máquinas (entre 3 y 6)" @@ -2307,8 +2352,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:153 -#: services/Vmware_enterprise/VCLinkedCloneService.py:103 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 msgid "The length of basename plus length must not be greater than 15" msgstr "La longitud de \"basename\" más la longitud no debe ser superior a 15" @@ -2317,8 +2362,8 @@ msgstr "La longitud de \"basename\" más la longitud no debe ser superior a 15" #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:155 -#: services/Vmware_enterprise/VCLinkedCloneService.py:105 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "" @@ -2554,10 +2599,6 @@ msgstr "Memoria Garantizada (Mb)" msgid "Physical memory guaranteed to machines" msgstr "Memoria física garantizada para las máquinas" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "Pantalla" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "Tipo de pantalla (sólo para tareas de administración)" @@ -2703,6 +2744,21 @@ msgid "Base volume for service (restricted by availability zone)" msgstr "" "Volumen de base para el servicio (restringido por zona de disponibilidad)" +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +#| msgid "Base Machine" +msgid "Machine" +msgstr "Máquina" + #: services/OpenStack/LiveService.py:118 msgid "Network to attach to this service" msgstr "Red para conectar a este servicio" @@ -3052,60 +3108,60 @@ msgstr "Datacenter" msgid "Datacenter containing base machine" msgstr " Datacenter que contiene la máquina base" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "Pool de recursos para Pub." -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "Pool de recursos en el que desplegar clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Clones Folder" -msgstr "Carpeta de clones" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Folder where deploy clones" -msgstr "Carpeta en la que desplegar clones" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 -msgid "Resource Pool" -msgstr "Pool de recursos" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 -msgid "Resource Pool containing base machine" -msgstr "Pool de recursos que contiene la máquina base" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 -msgid "Base machine for this service" -msgstr "Máquina base para este servicio" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:64 msgid "Pub.Datastores" msgstr "Pub.Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "Almacenamiento de datos donde poner publicaciones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 -msgid "Inc.Datastores" -msgstr "Inc.Datastores" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 -msgid "Datastores where to put incrementals" -msgstr "Almacenamiento de datos en el que poner los incrementales" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "Remove found duplicates" msgstr "Quitar duplicados encontrados" -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "If active, found duplicates clones for this service will be removed" msgstr "" "Si activo, clones de duplicados encontrados para este servicio serán " "eliminados" +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "Pool de recursos" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "Pool de recursos que contiene la máquina base" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "Máquina base para este servicio" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "Carpeta de clones" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "Carpeta en la que desplegar clones" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 +msgid "Inc.Datastores" +msgstr "Inc.Datastores" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +msgid "Datastores where to put incrementals" +msgstr "Almacenamiento de datos en el que poner los incrementales" + #: services/Xen/XenLinkedService.py:56 msgid "Xen Linked Clone (Experimental)" msgstr "Xen Linked Clone (Experimental)" @@ -3191,6 +3247,7 @@ msgstr "Navegación alterna" #: templates/uds/admin/tmpl/dashboard.html:5 #: templates/uds/admin/tmpl/osmanagers.html:31 #: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 #: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "Resumen" @@ -3247,6 +3304,7 @@ msgstr "Cerrar sesión" #: templates/uds/admin/tmpl/authenticators.html:33 #: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 #: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "Registros" @@ -3564,6 +3622,11 @@ msgstr "" msgid "Thank you." msgstr "Gracias." +#: templates/uds/admin/tmpl/service-info.html:5 +#| msgid "Service Pools" +msgid "Services Pools" +msgstr "Servicios piscinas" + #: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "Caché" @@ -4028,7 +4091,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" msgstr "" "Si no está vacío, este nombre de usuario se utilizará siempre como credencial" @@ -4039,7 +4102,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "Si no está vacío, este password se utiizará siempre como credencial " @@ -4048,7 +4111,7 @@ msgstr "Si no está vacío, este password se utiizará siempre como credencial " msgid "Without Domain" msgstr "Sin dominio" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " @@ -4219,6 +4282,17 @@ msgid "If not empty, this domain will be always used as credential domain" msgstr "" "Si no vacía, este dominio será siempre utilizado como dominio de credencial" +#: transports/RDP/BaseRDPTransport.py:64 +#| msgid "" +#| "If checked, the domain part will always be emptied (to connecto to xrdp " +#| "for example is needed)" +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" +"Si está marcada, siempre será vaciar la parte del dominio (para conectar con xrdp para " +"es necesario el ejemplo)" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -4438,7 +4512,7 @@ msgstr "Transporte RGS (túnel)" msgid "RGS Transport for tunneled connection" msgstr "Transporte RGS para la conexión túnel" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" "Server certificate (public), can be found on your ovirt engine, probably at /" "etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." diff --git a/server/src/uds/locale/es/LC_MESSAGES/djangojs.po b/server/src/uds/locale/es/LC_MESSAGES/djangojs.po index 8da2d0452..cf68bda6b 100644 --- a/server/src/uds/locale/es/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/es/LC_MESSAGES/djangojs.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Spanish (http://www.transifex.com/openuds/openuds/language/" @@ -108,13 +108,14 @@ msgstr "Prueba" msgid "Search error" msgstr "Error en la búsqueda" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:306 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "Aceptar" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "Error de acceso a datos" @@ -507,84 +508,93 @@ msgstr "Error al crear el informe" msgid "Error obtaining report description" msgstr "Descripción obtención del informe de error" -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "En mantenimiento" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "Activo" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "Información" + +#: static/tmp_js/gui-d-services.js:120 +#| msgid "Service creation error" +msgid "Service information" +msgstr "Información sobre el servicio" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "Editar servicio" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "Error al crear servicio" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "Nuevo servicio" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "Error al guardar servicio" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "Eliminar servicio" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "Error al eliminar servicio" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "Mantenimiento" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "Modo de mantenimiento" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "¿Entrar en modo mantenimiento?" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "Salir del modo mantenimiento" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "Entrar en modo mantenimiento" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "Salir del modo mantenimiento" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "Nuevo proveedor de servicios" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "Error en la creación del proveedor de servicios" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "Editar proveedor de servicios" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "Error al guardar proveedor de servicios" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "Eliminar proveedor de servicios" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "Error al eliminar el proveedor de servicios" @@ -747,7 +757,7 @@ msgstr "Editar" msgid "saving error" msgstr "error al guardar" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "Borrar" @@ -812,15 +822,15 @@ msgstr "Logs" msgid "Main" msgstr "Principal" -#: static/tmp_js/gui-form.js:289 +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "sí" -#: static/tmp_js/gui-form.js:290 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "no" -#: static/tmp_js/gui-form.js:307 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "Cerrar" @@ -844,31 +854,31 @@ msgstr "Edición realizada con éxito" msgid "Overview" msgstr "Resumen" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "de tipo" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "Creación realizada con éxito" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "¿Estás seguro de que lo quieres eliminar?" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "artículos:" -#: static/tmp_js/gui-methods.js:147 +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "Eliminar error" -#: static/tmp_js/gui-methods.js:149 +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "Eliminado correctamente" -#: static/tmp_js/gui-methods.js:154 +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "Resultados de la eliminación" diff --git a/server/src/uds/locale/eu/LC_MESSAGES/django.po b/server/src/uds/locale/eu/LC_MESSAGES/django.po index 1ccb43193..19f17e6c3 100644 --- a/server/src/uds/locale/eu/LC_MESSAGES/django.po +++ b/server/src/uds/locale/eu/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Basque (http://www.transifex.com/openuds/openuds/language/" @@ -46,7 +46,7 @@ msgstr "" #: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 #: REST/methods/services_pools.py:76 REST/methods/transports.py:56 #: REST/methods/user_services.py:220 REST/methods/user_services.py:255 -#: REST/methods/users_groups.py:95 REST/model.py:129 +#: REST/methods/users_groups.py:95 REST/model.py:132 #: templates/uds/admin/tmpl/calendar_rule.html:5 #: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 @@ -55,10 +55,10 @@ msgstr "" #: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 #: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:66 REST/methods/services.py:186 +#: REST/methods/providers.py:66 REST/methods/services.py:188 #: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 #: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:136 +#: REST/methods/users_groups.py:209 REST/model.py:139 #: templates/uds/admin/tmpl/calendar_rule.html:14 #: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" @@ -66,7 +66,7 @@ msgstr "" #: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 #: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 -#: REST/methods/user_services.py:254 REST/model.py:145 +#: REST/methods/user_services.py:254 REST/model.py:148 #: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "" @@ -86,7 +86,7 @@ msgstr "" #: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 #: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 -#: REST/methods/providers.py:70 REST/methods/services.py:190 +#: REST/methods/providers.py:70 REST/methods/services.py:192 #: REST/methods/services_pools.py:81 REST/methods/transports.py:59 msgid "tags" msgstr "" @@ -120,7 +120,7 @@ msgstr "" msgid "Duration" msgstr "" -#: REST/methods/calendarrules.py:128 REST/methods/services.py:151 +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 msgid "Element already exists (duplicate key error)" msgstr "" @@ -150,6 +150,7 @@ msgstr "" #: REST/methods/images.py:60 REST/methods/images.py:79 #: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "" @@ -229,7 +230,7 @@ msgstr "" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:116 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -243,33 +244,33 @@ msgstr "" msgid "Generates" msgstr "" -#: REST/methods/services.py:155 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "" -#: REST/methods/services.py:179 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "" -#: REST/methods/services.py:181 +#: REST/methods/services.py:183 msgid "Current services" msgstr "" -#: REST/methods/services.py:185 +#: REST/methods/services.py:187 msgid "Service name" msgstr "" -#: REST/methods/services.py:187 REST/methods/user_services.py:256 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "" -#: REST/methods/services.py:188 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "" -#: REST/methods/services.py:189 templates/uds/admin/tmpl/dashboard.html.py:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "" @@ -298,7 +299,7 @@ msgstr "" msgid "Action" msgstr "" -#: REST/methods/services_pool_calendars.py:158 +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 msgid "Parameters" msgstr "" @@ -353,7 +354,7 @@ msgstr "" msgid "Pool Group" msgstr "" -#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:157 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 msgid "Default" msgstr "" @@ -381,61 +382,71 @@ msgstr "" msgid "OS Manager used as base of this service pool" msgstr "" -#: REST/methods/services_pools.py:158 -msgid "Pool group" +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" msgstr "" #: REST/methods/services_pools.py:159 +msgid "Pool group" +msgstr "" + +#: REST/methods/services_pools.py:160 msgid "Pool group for this pool (for pool clasify on display)" msgstr "" -#: REST/methods/services_pools.py:166 +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "" -#: REST/methods/services_pools.py:167 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "" -#: REST/methods/services_pools.py:174 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +msgid "Availability" +msgstr "" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "" -#: REST/methods/services_pools.py:175 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" msgstr "" -#: REST/methods/services_pools.py:182 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "" -#: REST/methods/services_pools.py:183 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "" -#: REST/methods/services_pools.py:190 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "" -#: REST/methods/services_pools.py:191 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" msgstr "" -#: REST/methods/services_pools.py:197 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "" -#: REST/methods/services_pools.py:198 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "" -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "" -#: REST/methods/services_pools.py:232 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "" @@ -580,7 +591,7 @@ msgstr "" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 @@ -594,7 +605,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:60 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "Erabiltzaile izena" @@ -632,52 +643,52 @@ msgstr "" msgid "UDS Meta Group" msgstr "" -#: REST/model.py:120 +#: REST/model.py:123 msgid "Tags" msgstr "" -#: REST/model.py:122 +#: REST/model.py:125 msgid "Tags for this element" msgstr "" -#: REST/model.py:130 +#: REST/model.py:133 msgid "Name of this element" msgstr "" -#: REST/model.py:137 +#: REST/model.py:140 msgid "Comments for this element" msgstr "" -#: REST/model.py:146 +#: REST/model.py:149 msgid "" "Selects the priority of this element (lower number means higher priority)" msgstr "" -#: REST/model.py:156 +#: REST/model.py:159 msgid "Label" msgstr "" -#: REST/model.py:157 +#: REST/model.py:160 msgid "Label for this element" msgstr "" -#: REST/model.py:240 +#: REST/model.py:243 msgid "Invalid Request" msgstr "" -#: REST/model.py:247 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "" -#: REST/model.py:253 +#: REST/model.py:256 msgid "Item not found" msgstr "" -#: REST/model.py:258 web/errors.py:75 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "" -#: REST/model.py:261 +#: REST/model.py:264 msgid "Operation not supported" msgstr "" @@ -738,9 +749,12 @@ msgid "Compatibility of AD connection (Usually windows 2000 and later)" msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" -msgstr "" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" +msgstr "erabiltzaile" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 msgid "" @@ -751,7 +765,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -769,7 +783,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:61 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "" @@ -816,7 +830,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "Erabiltzaile ez da aurkitu" @@ -829,7 +843,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:428 #: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "" @@ -856,7 +870,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "" @@ -884,10 +898,6 @@ msgstr "" msgid "If checked, the connection will be ssl, using port 636 instead of 389" msgstr "" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "" @@ -906,17 +916,17 @@ msgid "Authenticate against eDirectory" msgstr "" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "" #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" msgstr "" @@ -998,61 +1008,70 @@ msgstr "" msgid "Username with read privileges on the base selected" msgstr "" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "Attributes that contains the user name (list of comma separated values)" msgstr "" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "" -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" msgstr "" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" @@ -1066,11 +1085,6 @@ msgstr "" msgid "SAML (v2.0) Authenticator" msgstr "" -#: auths/SAML_enterprise/SAML.py:113 reports/stats/usage_by_pool.py:73 -#: reports/stats/usage_by_pool.py:189 templates/uds/internal_page.html.py:28 -msgid "User" -msgstr "erabiltzaile" - #: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "" @@ -1081,7 +1095,11 @@ msgid "" "openssl" msgstr "" -#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +msgid "Certificates" +msgstr "" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "" @@ -1098,6 +1116,10 @@ msgid "" "You can enter here the URL or the IDP metadata or the metadata itself (xml)" msgstr "" +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +msgid "Metadata" +msgstr "" + #: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "" @@ -1114,6 +1136,11 @@ msgstr "" msgid "Fields from where to extract user name" msgstr "" +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "" + #: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "" @@ -1196,6 +1223,10 @@ msgstr "" msgid "Ldap Server IP or Hostname" msgstr "" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "" @@ -1390,6 +1421,14 @@ msgstr "" msgid "Advanced" msgstr "" +#: core/ui/UserInterface.py:88 +msgid "Credentials" +msgstr "" + +#: core/ui/UserInterface.py:89 +msgid "Tunnel" +msgstr "" + #: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "" @@ -1998,6 +2037,7 @@ msgstr "" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 #: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "" @@ -2109,7 +2149,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "" @@ -2125,14 +2165,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OpenStack/LiveService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -2140,14 +2180,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "" @@ -2165,7 +2205,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 #: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "" @@ -2173,7 +2213,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OpenStack/LiveService.py:127 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "" @@ -2181,8 +2221,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:133 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "" @@ -2191,8 +2231,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:136 -#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "" @@ -2200,8 +2240,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:153 -#: services/Vmware_enterprise/VCLinkedCloneService.py:103 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 msgid "The length of basename plus length must not be greater than 15" msgstr "" @@ -2210,8 +2250,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:155 -#: services/Vmware_enterprise/VCLinkedCloneService.py:105 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "" @@ -2442,10 +2482,6 @@ msgstr "" msgid "Physical memory guaranteed to machines" msgstr "" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "" @@ -2586,6 +2622,20 @@ msgstr "" msgid "Base volume for service (restricted by availability zone)" msgstr "" +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +msgid "Machine" +msgstr "" + #: services/OpenStack/LiveService.py:118 msgid "Network to attach to this service" msgstr "" @@ -2926,58 +2976,58 @@ msgstr "" msgid "Datacenter containing base machine" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Clones Folder" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Folder where deploy clones" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 -msgid "Resource Pool" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 -msgid "Resource Pool containing base machine" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 -msgid "Base machine for this service" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:64 msgid "Pub.Datastores" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 -msgid "Inc.Datastores" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 -msgid "Datastores where to put incrementals" -msgstr "" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "Remove found duplicates" msgstr "" -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "If active, found duplicates clones for this service will be removed" msgstr "" +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 +msgid "Inc.Datastores" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +msgid "Datastores where to put incrementals" +msgstr "" + #: services/Xen/XenLinkedService.py:56 msgid "Xen Linked Clone (Experimental)" msgstr "" @@ -3059,6 +3109,7 @@ msgstr "" #: templates/uds/admin/tmpl/dashboard.html:5 #: templates/uds/admin/tmpl/osmanagers.html:31 #: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 #: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "" @@ -3115,6 +3166,7 @@ msgstr "" #: templates/uds/admin/tmpl/authenticators.html:33 #: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 #: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "" @@ -3426,6 +3478,10 @@ msgstr "" msgid "Thank you." msgstr "" +#: templates/uds/admin/tmpl/service-info.html:5 +msgid "Services Pools" +msgstr "" + #: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "" @@ -3858,7 +3914,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" msgstr "" @@ -3868,7 +3924,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "" @@ -3877,7 +3933,7 @@ msgstr "" msgid "Without Domain" msgstr "" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " @@ -4034,6 +4090,12 @@ msgstr "" msgid "If not empty, this domain will be always used as credential domain" msgstr "" +#: transports/RDP/BaseRDPTransport.py:64 +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -4238,7 +4300,7 @@ msgstr "" msgid "RGS Transport for tunneled connection" msgstr "" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" "Server certificate (public), can be found on your ovirt engine, probably at /" "etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." diff --git a/server/src/uds/locale/eu/LC_MESSAGES/djangojs.po b/server/src/uds/locale/eu/LC_MESSAGES/djangojs.po index f7c36faa2..a7ea1940d 100644 --- a/server/src/uds/locale/eu/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/eu/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Basque (http://www.transifex.com/openuds/openuds/language/" @@ -103,13 +103,14 @@ msgstr "Proba" msgid "Search error" msgstr "" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:306 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "onar ezazu" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "" @@ -502,84 +503,92 @@ msgstr "" msgid "Error obtaining report description" msgstr "" -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "" + +#: static/tmp_js/gui-d-services.js:120 +msgid "Service information" +msgstr "" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "" @@ -740,7 +749,7 @@ msgstr "" msgid "saving error" msgstr "" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "" @@ -805,15 +814,15 @@ msgstr "" msgid "Main" msgstr "" -#: static/tmp_js/gui-form.js:289 +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "" -#: static/tmp_js/gui-form.js:290 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "" -#: static/tmp_js/gui-form.js:307 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "" @@ -837,31 +846,31 @@ msgstr "" msgid "Overview" msgstr "" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "" -#: static/tmp_js/gui-methods.js:147 +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "" -#: static/tmp_js/gui-methods.js:149 +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "" -#: static/tmp_js/gui-methods.js:154 +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "" diff --git a/server/src/uds/locale/fr/LC_MESSAGES/django.po b/server/src/uds/locale/fr/LC_MESSAGES/django.po index 483120bf0..c5eb80379 100644 --- a/server/src/uds/locale/fr/LC_MESSAGES/django.po +++ b/server/src/uds/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: French (http://www.transifex.com/openuds/openuds/language/" @@ -46,7 +46,7 @@ msgstr "Authentificateurs actuels" #: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 #: REST/methods/services_pools.py:76 REST/methods/transports.py:56 #: REST/methods/user_services.py:220 REST/methods/user_services.py:255 -#: REST/methods/users_groups.py:95 REST/model.py:129 +#: REST/methods/users_groups.py:95 REST/model.py:132 #: templates/uds/admin/tmpl/calendar_rule.html:5 #: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 @@ -55,10 +55,10 @@ msgstr "Nom" #: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 #: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:66 REST/methods/services.py:186 +#: REST/methods/providers.py:66 REST/methods/services.py:188 #: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 #: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:136 +#: REST/methods/users_groups.py:209 REST/model.py:139 #: templates/uds/admin/tmpl/calendar_rule.html:14 #: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" @@ -66,7 +66,7 @@ msgstr "Commentaires" #: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 #: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 -#: REST/methods/user_services.py:254 REST/model.py:145 +#: REST/methods/user_services.py:254 REST/model.py:148 #: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "Priorité" @@ -86,7 +86,7 @@ msgstr "Utilisateurs" #: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 #: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 -#: REST/methods/providers.py:70 REST/methods/services.py:190 +#: REST/methods/providers.py:70 REST/methods/services.py:192 #: REST/methods/services_pools.py:81 REST/methods/transports.py:59 msgid "tags" msgstr "Tags" @@ -120,7 +120,7 @@ msgstr "Chaque" msgid "Duration" msgstr "Durée" -#: REST/methods/calendarrules.py:128 REST/methods/services.py:151 +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 msgid "Element already exists (duplicate key error)" msgstr "Élément existe déjà (erreur de clé en double)" @@ -150,6 +150,7 @@ msgstr "Galerie d'images" #: REST/methods/images.py:60 REST/methods/images.py:79 #: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "Image" @@ -231,7 +232,7 @@ msgstr "Rapports disponibles" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:116 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -245,33 +246,33 @@ msgstr "Description" msgid "Generates" msgstr "Génère" -#: REST/methods/services.py:155 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "Erreur d'entrée : {0}" -#: REST/methods/services.py:179 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "Services de {0}" -#: REST/methods/services.py:181 +#: REST/methods/services.py:183 msgid "Current services" msgstr "Services actuels" -#: REST/methods/services.py:185 +#: REST/methods/services.py:187 msgid "Service name" msgstr "Nom du service" -#: REST/methods/services.py:187 REST/methods/user_services.py:256 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "Type" -#: REST/methods/services.py:188 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "Services déployés" -#: REST/methods/services.py:189 templates/uds/admin/tmpl/dashboard.html.py:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "Services aux utilisateurs" @@ -300,7 +301,7 @@ msgstr "Actions prévues" msgid "Action" msgstr "Action" -#: REST/methods/services_pool_calendars.py:158 +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 msgid "Parameters" msgstr "Paramètres" @@ -355,7 +356,7 @@ msgstr "Montre transports" msgid "Pool Group" msgstr "Groupe piscine" -#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:157 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 msgid "Default" msgstr "Par défaut" @@ -383,47 +384,58 @@ msgstr "Gestionnaire de système d'exploitation" msgid "OS Manager used as base of this service pool" msgstr "Gestionnaire de l'OS utilisé comme base de cette piscine service" -#: REST/methods/services_pools.py:158 +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" +msgstr "Affichage" + +#: REST/methods/services_pools.py:159 msgid "Pool group" msgstr "Groupe piscine" -#: REST/methods/services_pools.py:159 +#: REST/methods/services_pools.py:160 msgid "Pool group for this pool (for pool clasify on display)" msgstr "Groupe de piscine pour ce pool (pour piscine Benodigd sur écran)" -#: REST/methods/services_pools.py:166 +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "Initiales services disponibles" -#: REST/methods/services_pools.py:167 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "Services créés initialement pour ce pool service" -#: REST/methods/services_pools.py:174 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +#| msgid "Availability Zones" +msgid "Availability" +msgstr "Disponibilité" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "Services pour conserver en cache" -#: REST/methods/services_pools.py:175 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" msgstr "" "Services conservés dans le cache pour l'assignation de service utilisateur " "améliorée" -#: REST/methods/services_pools.py:182 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "Services de garder en mémoire cache L2" -#: REST/methods/services_pools.py:183 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "" "Services conservés dans le cache de niveau 2 pour la production d'un service " "amélioré" -#: REST/methods/services_pools.py:190 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "Nombre maximum de services à fournir" -#: REST/methods/services_pools.py:191 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" @@ -431,20 +443,20 @@ msgstr "" "Nombre maximal de service (assignés et cache L1) qui peuvent être créés pour " "ce service" -#: REST/methods/services_pools.py:197 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "Voir la transports" -#: REST/methods/services_pools.py:198 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "" "S'il est activé, les transports alternatifs pour utilisateur seront affichera" -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "Service de base n'existe plus" -#: REST/methods/services_pools.py:232 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "Ce service nécessite un gestionnaire de système d'exploitation" @@ -593,7 +605,7 @@ msgstr "Utilisateurs actuels" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 @@ -607,7 +619,7 @@ msgstr "Utilisateurs actuels" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:60 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "Nom d'utilisateur" @@ -645,54 +657,54 @@ msgstr "Groupe Meta" msgid "UDS Meta Group" msgstr "UDS Meta Group" -#: REST/model.py:120 +#: REST/model.py:123 msgid "Tags" msgstr "Tags" -#: REST/model.py:122 +#: REST/model.py:125 msgid "Tags for this element" msgstr "Tags pour cet élément" -#: REST/model.py:130 +#: REST/model.py:133 msgid "Name of this element" msgstr "Nom de cet élément" -#: REST/model.py:137 +#: REST/model.py:140 msgid "Comments for this element" msgstr "Commentaires pour cet élément" -#: REST/model.py:146 +#: REST/model.py:149 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:156 +#: REST/model.py:159 msgid "Label" msgstr "Étiquette" -#: REST/model.py:157 +#: REST/model.py:160 msgid "Label for this element" msgstr "Étiquette pour cet élément" -#: REST/model.py:240 +#: REST/model.py:243 msgid "Invalid Request" msgstr "Requête non valide" -#: REST/model.py:247 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "Méthode introuvable {}: {}" -#: REST/model.py:253 +#: REST/model.py:256 msgid "Item not found" msgstr "Élément introuvable" -#: REST/model.py:258 web/errors.py:75 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "Accès refusé" -#: REST/model.py:261 +#: REST/model.py:264 msgid "Operation not supported" msgstr "Opération non prise en charge" @@ -755,9 +767,12 @@ msgstr "" "ultérieures)" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" -msgstr "Utilisateur LDAP" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" +msgstr "Utilisateur" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 msgid "" @@ -770,7 +785,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -788,7 +803,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:61 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "Mot de passe" @@ -835,7 +850,7 @@ msgstr "Erreur de connexion active directory : " #: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "Nom d'utilisateur introuvable" @@ -848,7 +863,7 @@ msgstr "Groupe introuvable" #: auths/ActiveDirectory_enterprise/Authenticator.py:428 #: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "Trop de résultats, être plus spécifique" @@ -881,7 +896,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "" "Connexion params semblent correctes, le test a été correctement exécutée" @@ -912,10 +927,6 @@ msgstr "" "S'il est activé, la connexion sera ssl, en utilisant le port 636 au lieu de " "389" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "Utilisateur admin" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "Nom d'utilisateur avec des privilèges de lecture sur l'eDirectory" @@ -934,17 +945,17 @@ msgid "Authenticate against eDirectory" msgstr "S'authentifier auprès d'eDirectory" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "Erreur de connexion LDAP : " #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "Base de recherche LDAP est incorrect" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" msgstr "" "Classe d'utilisateur LDAP semble incorrect (aucun utilisateur ne trouvé par " @@ -1036,58 +1047,67 @@ msgid "Username with read privileges on the base selected" msgstr "" "Nom d'utilisateur avec des privilèges de lecture sur la base sélectionnée" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "Base" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "" "Base de recherche commun (utilisé pour les « utilisateurs » et « groupes »)" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "Info de LDAP" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "Classe utilisateur" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "Classe pour les utilisateurs de LDAP (normalement posixAccount)" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "Utilisateur Id Attr" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "Attribut qui contient l'id utilisateur" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "Utilisateur nom Attr" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "Attributes that contains the user name (list of comma separated values)" msgstr "" "Attributs qui contient le nom d'utilisateur (liste de valeurs séparées par " "des virgules)" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "Groupe nom Attr" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "Attribut qui contient le nom du groupe" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "Authentificateur LDAP Regex" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "Authentificateur de LDAP d'Expressions régulière" -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" @@ -1095,7 +1115,7 @@ msgstr "" "LDAP user id attr est probablement faux (ne peut pas trouver n'importe quel " "utilisateur à la fois conditions)" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" @@ -1111,11 +1131,6 @@ msgstr "SAML authentificateur" msgid "SAML (v2.0) Authenticator" msgstr "SAML (v2.0) authentificateur" -#: auths/SAML_enterprise/SAML.py:113 reports/stats/usage_by_pool.py:73 -#: reports/stats/usage_by_pool.py:189 templates/uds/internal_page.html.py:28 -msgid "User" -msgstr "Utilisateur" - #: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "Clé privée" @@ -1128,7 +1143,12 @@ msgstr "" "Clé privée utilisée pour signe et encription, tel que généré en base 64 de " "OpenSSL" -#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +#| msgid "Certificate" +msgid "Certificates" +msgstr "Certificats" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "Certificat" @@ -1147,6 +1167,11 @@ msgstr "" "Ici, vous pouvez entrer le URL ou les métadonnées d'IDP ou les métadonnées " "lui-même (xml)" +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +#| msgid "IDP Metadata" +msgid "Metadata" +msgstr "Métadonnées" + #: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "ID de l'entité" @@ -1165,6 +1190,11 @@ msgstr "Utilisateur nom attrs" msgid "Fields from where to extract user name" msgstr "Champs d'où extraire le nom d'utilisateur" +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "Attributs" + #: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "Groupe nom attrs" @@ -1251,6 +1281,10 @@ msgstr "Nous avons besoin de plus de deux éléments !" msgid "Ldap Server IP or Hostname" msgstr "IP du serveur LDAP ou nom d'hôte" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "Utilisateur LDAP" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "Groupe classe" @@ -1462,6 +1496,16 @@ msgstr "Base en cluster Service" msgid "Advanced" msgstr "Advanced" +#: core/ui/UserInterface.py:88 +#| msgid "Invalid credentials" +msgid "Credentials" +msgstr "Informations d'identification" + +#: core/ui/UserInterface.py:89 +#| msgid "Tunnel Server" +msgid "Tunnel" +msgstr "Tunnel" + #: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "Active" @@ -2103,6 +2147,7 @@ msgstr "Accès piscine" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 #: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "Piscine" @@ -2217,7 +2262,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "Machine de base" @@ -2233,14 +2278,14 @@ msgstr "Machine de base de service" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OpenStack/LiveService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "Réseau" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -2250,14 +2295,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "Mémoire (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "Mémoire pour ordinateurs déployés de ce service" @@ -2276,7 +2321,7 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 #: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "Noms de machine" @@ -2284,7 +2329,7 @@ msgstr "Noms de machine" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OpenStack/LiveService.py:127 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "Nom de base des clones de cette machine" @@ -2292,8 +2337,8 @@ msgstr "Nom de base des clones de cette machine" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:133 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "Longueur du nom" @@ -2302,8 +2347,8 @@ msgstr "Longueur du nom" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:136 -#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "" "Taille de la partie numérique pour les noms de ces machines (entre 3 et 6)" @@ -2312,8 +2357,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:153 -#: services/Vmware_enterprise/VCLinkedCloneService.py:103 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 msgid "The length of basename plus length must not be greater than 15" msgstr "" @@ -2323,8 +2368,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:155 -#: services/Vmware_enterprise/VCLinkedCloneService.py:105 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "Nom de l'ordinateur ne peut pas être uniquement des nombres" @@ -2560,10 +2605,6 @@ msgstr "Mémoire garantie (Mb)" msgid "Physical memory guaranteed to machines" msgstr "Mémoire physique garantie aux machines" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "Affichage" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "Type d'affichage (uniquement à des fins administratives)" @@ -2710,6 +2751,21 @@ msgstr "Volume" msgid "Base volume for service (restricted by availability zone)" msgstr "Volume de base pour le service (limité par zone de disponibilité)" +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +#| msgid "Base Machine" +msgid "Machine" +msgstr "Machine" + #: services/OpenStack/LiveService.py:118 msgid "Network to attach to this service" msgstr "Réseau d'attacher à ce service" @@ -3059,59 +3115,59 @@ msgstr "Datacenter" msgid "Datacenter containing base machine" msgstr "Machine de base contenant Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "Pub. Liste des ressources" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "Liste des ressources où déployer des clones" -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Clones Folder" -msgstr "Dossier de clones" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Folder where deploy clones" -msgstr "Dossier où déployer des clones" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 -msgid "Resource Pool" -msgstr "Liste des ressources" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 -msgid "Resource Pool containing base machine" -msgstr "Machine de base contenant de ressource Pool" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 -msgid "Base machine for this service" -msgstr "Machine de base pour ce service" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:64 msgid "Pub.Datastores" msgstr "Pub.Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "Entrepôts de données où mettre les publications" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 -msgid "Inc.Datastores" -msgstr "Inc.Datastores" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 -msgid "Datastores where to put incrementals" -msgstr "Entrepôts de données où mettre des sauvegardes incrémentales" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "Remove found duplicates" msgstr "Supprimer les doublons trouvés" -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "If active, found duplicates clones for this service will be removed" msgstr "" "S'il est activé, clones de doublons trouvés pour ce service seront supprimés" +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "Liste des ressources" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "Machine de base contenant de ressource Pool" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "Machine de base pour ce service" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "Dossier de clones" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "Dossier où déployer des clones" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 +msgid "Inc.Datastores" +msgstr "Inc.Datastores" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +msgid "Datastores where to put incrementals" +msgstr "Entrepôts de données où mettre des sauvegardes incrémentales" + #: services/Xen/XenLinkedService.py:56 msgid "Xen Linked Clone (Experimental)" msgstr "Xen Clone lié (expérimental)" @@ -3197,6 +3253,7 @@ msgstr "Activer/désactiver navigation" #: templates/uds/admin/tmpl/dashboard.html:5 #: templates/uds/admin/tmpl/osmanagers.html:31 #: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 #: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "Vue d'ensemble" @@ -3253,6 +3310,7 @@ msgstr "Logout" #: templates/uds/admin/tmpl/authenticators.html:33 #: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 #: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "Journaux" @@ -3567,6 +3625,11 @@ msgstr "" msgid "Thank you." msgstr "Merci." +#: templates/uds/admin/tmpl/service-info.html:5 +#| msgid "Service Pools" +msgid "Services Pools" +msgstr "Piscines services" + #: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "Cache" @@ -4035,7 +4098,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" msgstr "" "Si ce n'est vide, ce nom d'utilisateur sera toujours utilisé comme des " @@ -4047,7 +4110,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "" "Si ce n'est vide, ce mot de passe sera toujours utilisé comme des titres de " @@ -4058,7 +4121,7 @@ msgstr "" msgid "Without Domain" msgstr "Sans nom de domaine" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " @@ -4230,6 +4293,17 @@ msgstr "" "Si non vide, ce domaine sera toujours utilisé comme domaine d'informations " "d'identification" +#: transports/RDP/BaseRDPTransport.py:64 +#| msgid "" +#| "If checked, the domain part will always be emptied (to connecto to xrdp " +#| "for example is needed)" +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" +"Si cochée, la partie domaine sera toujours vidée (pour vous connecter à xrdp pour " +"exemple est nécessaire)" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -4446,7 +4520,7 @@ msgstr "RGS Transport (tunnel)" msgid "RGS Transport for tunneled connection" msgstr "RGS Transport pour connexion par tunnel" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" "Server certificate (public), can be found on your ovirt engine, probably at /" "etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." diff --git a/server/src/uds/locale/fr/LC_MESSAGES/djangojs.po b/server/src/uds/locale/fr/LC_MESSAGES/djangojs.po index eab0271d3..a9549e9f8 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: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: French (http://www.transifex.com/openuds/openuds/language/" @@ -103,13 +103,14 @@ msgstr "Test" msgid "Search error" msgstr "Erreur de recherche" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:306 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "Accepter" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "Erreur d'accès aux données" @@ -503,84 +504,93 @@ msgstr "Erreur de création du rapport" msgid "Error obtaining report description" msgstr "Pour obtenir description de rapport d'erreur" -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "Dans l'entretien" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "Actif" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "Informations" + +#: static/tmp_js/gui-d-services.js:120 +#| msgid "Service creation error" +msgid "Service information" +msgstr "Service d'information" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "Modifier le service" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "Erreur de création de service" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "Nouveau service" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "Service enregistrement d'erreur" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "Supprimer le service" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "Erreur de suppression de service" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "Entretien" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "Mode maintenance" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "Entrer en Mode de Maintenance ?" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "Quitter le Mode de Maintenance ?" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "Entrez maintenance Mode" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "Quitter le Mode d'entretien" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "Nouveau fournisseur de services" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "Erreur de création de fournisseur de services" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "Modifier le fournisseur de services" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "Fournisseur de services de sauvegarde erreur" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "Supprimer le fournisseur de services" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "Erreur de suppression de fournisseur de services" @@ -741,7 +751,7 @@ msgstr "Edit" msgid "saving error" msgstr "erreur de sauvegarde" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "Supprimer" @@ -806,15 +816,15 @@ msgstr "Journaux" msgid "Main" msgstr "Principal" -#: static/tmp_js/gui-form.js:289 +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "Oui" -#: static/tmp_js/gui-form.js:290 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "ne" -#: static/tmp_js/gui-form.js:307 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "Fermer" @@ -838,31 +848,31 @@ msgstr "Edition faite avec succès" msgid "Overview" msgstr "Vue d'ensemble" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "de type" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "Création faite avec succès" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "Êtes-vous sûr que vous souhaitez supprimer " -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "Articles :" -#: static/tmp_js/gui-methods.js:147 +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "Suppression de l'erreur" -#: static/tmp_js/gui-methods.js:149 +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "A été correctement supprimé" -#: static/tmp_js/gui-methods.js:154 +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "Résultats de la suppression" diff --git a/server/src/uds/locale/it/LC_MESSAGES/django.po b/server/src/uds/locale/it/LC_MESSAGES/django.po index 59ef3ea73..de11a589c 100644 --- a/server/src/uds/locale/it/LC_MESSAGES/django.po +++ b/server/src/uds/locale/it/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Italian (http://www.transifex.com/openuds/openuds/language/" @@ -45,7 +45,7 @@ msgstr "Autenticatori correnti" #: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 #: REST/methods/services_pools.py:76 REST/methods/transports.py:56 #: REST/methods/user_services.py:220 REST/methods/user_services.py:255 -#: REST/methods/users_groups.py:95 REST/model.py:129 +#: REST/methods/users_groups.py:95 REST/model.py:132 #: templates/uds/admin/tmpl/calendar_rule.html:5 #: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 @@ -54,10 +54,10 @@ msgstr "Nome" #: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 #: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:66 REST/methods/services.py:186 +#: REST/methods/providers.py:66 REST/methods/services.py:188 #: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 #: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:136 +#: REST/methods/users_groups.py:209 REST/model.py:139 #: templates/uds/admin/tmpl/calendar_rule.html:14 #: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" @@ -65,7 +65,7 @@ msgstr "Commenti" #: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 #: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 -#: REST/methods/user_services.py:254 REST/model.py:145 +#: REST/methods/user_services.py:254 REST/model.py:148 #: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "Priorità" @@ -85,7 +85,7 @@ msgstr "Utenti" #: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 #: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 -#: REST/methods/providers.py:70 REST/methods/services.py:190 +#: REST/methods/providers.py:70 REST/methods/services.py:192 #: REST/methods/services_pools.py:81 REST/methods/transports.py:59 msgid "tags" msgstr "Tag" @@ -119,7 +119,7 @@ msgstr "Ogni" msgid "Duration" msgstr "Durata" -#: REST/methods/calendarrules.py:128 REST/methods/services.py:151 +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 msgid "Element already exists (duplicate key error)" msgstr "Elemento già esistente (errore chiave duplicata)" @@ -149,6 +149,7 @@ msgstr "Galleria di immagini" #: REST/methods/images.py:60 REST/methods/images.py:79 #: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "Immagine" @@ -230,7 +231,7 @@ msgstr "Report disponibili" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:116 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -244,33 +245,33 @@ msgstr "Descrizione" msgid "Generates" msgstr "Genera" -#: REST/methods/services.py:155 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "Errore di input: {0}" -#: REST/methods/services.py:179 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "Servizi di {0}" -#: REST/methods/services.py:181 +#: REST/methods/services.py:183 msgid "Current services" msgstr "Servizi attuali" -#: REST/methods/services.py:185 +#: REST/methods/services.py:187 msgid "Service name" msgstr "Nome servizio" -#: REST/methods/services.py:187 REST/methods/user_services.py:256 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "Tipo" -#: REST/methods/services.py:188 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "Servizi distribuiti" -#: REST/methods/services.py:189 templates/uds/admin/tmpl/dashboard.html.py:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "Servizi utente" @@ -299,7 +300,7 @@ msgstr "Azioni pianificate" msgid "Action" msgstr "Azione" -#: REST/methods/services_pool_calendars.py:158 +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 msgid "Parameters" msgstr "Parametri" @@ -354,7 +355,7 @@ msgstr "Trasporti spettacoli" msgid "Pool Group" msgstr "Gruppo piscina" -#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:157 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 msgid "Default" msgstr "Impostazione predefinita" @@ -382,44 +383,55 @@ msgstr "OS Manager" msgid "OS Manager used as base of this service pool" msgstr "OS Manager utilizzato come base di questo servizio piscina" -#: REST/methods/services_pools.py:158 +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" +msgstr "Visualizzazione" + +#: REST/methods/services_pools.py:159 msgid "Pool group" msgstr "Gruppo piscina" -#: REST/methods/services_pools.py:159 +#: REST/methods/services_pools.py:160 msgid "Pool group for this pool (for pool clasify on display)" msgstr "Gruppo del pool per il pool (per piscina classificare sul display)" -#: REST/methods/services_pools.py:166 +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "Servizi disponibili iniziali" -#: REST/methods/services_pools.py:167 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "Servizi creati inizialmente per questo servizio piscina" -#: REST/methods/services_pools.py:174 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +#| msgid "Compatibility" +msgid "Availability" +msgstr "Disponibilità" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "Servizi per mantenere nella cache" -#: REST/methods/services_pools.py:175 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" msgstr "Servizi tenuti in cache per assegnazione servizio utente migliorata" -#: REST/methods/services_pools.py:182 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "Servizi per mantenere in cache L2" -#: REST/methods/services_pools.py:183 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "" "Servizi mantenuto nella cache di level2 per generazione migliore servizio" -#: REST/methods/services_pools.py:190 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "Numero massimo di servizi per fornire" -#: REST/methods/services_pools.py:191 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" @@ -427,19 +439,19 @@ msgstr "" "Numero massimo di servizio (assegnate e cache L1) che possono essere creati " "per Questo servizio" -#: REST/methods/services_pools.py:197 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "Visualizza trasporti" -#: REST/methods/services_pools.py:198 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "Se attivo, verranno mostrati trasporti alternativi per utente" -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "Servizio di base non esiste più" -#: REST/methods/services_pools.py:232 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "Questo servizio richiede un OS Manager" @@ -588,7 +600,7 @@ msgstr "Utenti correnti" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 @@ -602,7 +614,7 @@ msgstr "Utenti correnti" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:60 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "Nome utente" @@ -640,54 +652,54 @@ msgstr "Gruppo meta" msgid "UDS Meta Group" msgstr "UDS Meta Group" -#: REST/model.py:120 +#: REST/model.py:123 msgid "Tags" msgstr "Tag" -#: REST/model.py:122 +#: REST/model.py:125 msgid "Tags for this element" msgstr "Tag per questo elemento" -#: REST/model.py:130 +#: REST/model.py:133 msgid "Name of this element" msgstr "Nome di questo elemento" -#: REST/model.py:137 +#: REST/model.py:140 msgid "Comments for this element" msgstr "Commenti per questo elemento" -#: REST/model.py:146 +#: REST/model.py:149 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:156 +#: REST/model.py:159 msgid "Label" msgstr "Etichetta" -#: REST/model.py:157 +#: REST/model.py:160 msgid "Label for this element" msgstr "Etichetta per questo elemento" -#: REST/model.py:240 +#: REST/model.py:243 msgid "Invalid Request" msgstr "Richiesta non valida" -#: REST/model.py:247 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "Metodo non trovato in {}: {}" -#: REST/model.py:253 +#: REST/model.py:256 msgid "Item not found" msgstr "Articolo non trovato" -#: REST/model.py:258 web/errors.py:75 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "Accesso negato" -#: REST/model.py:261 +#: REST/model.py:264 msgid "Operation not supported" msgstr "Operazione non supportata" @@ -751,9 +763,12 @@ msgstr "" "successive)" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" -msgstr "Utente LDAP" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" +msgstr "Utente" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 msgid "" @@ -766,7 +781,7 @@ msgstr "" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -784,7 +799,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:61 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "Password" @@ -831,7 +846,7 @@ msgstr "Errore di connessione Active directory: " #: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "Nome utente non trovato" @@ -844,7 +859,7 @@ msgstr "Gruppo non trovato" #: auths/ActiveDirectory_enterprise/Authenticator.py:428 #: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "Troppi risultati, essere più specifico" @@ -871,7 +886,7 @@ msgstr "Server non sembra un'Active Directory (non ha alcun utente né gruppi)" #: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "" "Connessione params sembrano corretti, prova era stata correttamente eseguita" @@ -901,10 +916,6 @@ msgid "If checked, the connection will be ssl, using port 636 instead of 389" msgstr "" "Se selezionata, la connessione sarà ssl, usando la porta 636 anziché 389" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "Utente admin" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "Nome utente con privilegi di lettura La eDirectory" @@ -923,17 +934,17 @@ msgid "Authenticate against eDirectory" msgstr "Autenticare eDirectory" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "Errore di connessione LDAP: " #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "Base di ricerca LDAP non è corretto" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" msgstr "" "Classe utente LDAP sembra essere errata (nessun utente trovato di classe)" @@ -1023,56 +1034,65 @@ msgstr "Host del Server LDAP" msgid "Username with read privileges on the base selected" msgstr "Nome utente con privilegi di lettura sulla base selezionata" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "Base" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "Base di ricerca di comuni (utilizzato per \"gli utenti\" e \"gruppi\")" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "Informazioni LDAP" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "Classe utente" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "Classe per utenti LDAP (normalmente posixAccount)" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "Utente Id Attr" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "Attributo che contiene l'id utente" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "Utente nome Attr" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "Attributes that contains the user name (list of comma separated values)" msgstr "" "Attributi che contiene il nome utente (elenco di valori separati da virgola)" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "Gruppo nome Attr" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "Attributo che contiene il nome del gruppo" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "Regex LDAP autenticatore" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "Autenticatore di LDAP di espressioni regolari" -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" @@ -1080,7 +1100,7 @@ msgstr "" "Attr di id utente LDAP è probabilmente sbagliato (non è possibile trovare " "qualsiasi utente con entrambi condizioni)" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" @@ -1096,11 +1116,6 @@ msgstr "SAML autenticatore" msgid "SAML (v2.0) Authenticator" msgstr "SAML (v 2.0) autenticatore" -#: auths/SAML_enterprise/SAML.py:113 reports/stats/usage_by_pool.py:73 -#: reports/stats/usage_by_pool.py:189 templates/uds/internal_page.html.py:28 -msgid "User" -msgstr "Utente" - #: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "Chiave privata" @@ -1113,7 +1128,12 @@ msgstr "" "Chiave privata utilizzata per segno ed encription, come generato in base 64 " "da OpenSSL" -#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +#| msgid "Certificate" +msgid "Certificates" +msgstr "Certificati" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "Certificato" @@ -1131,6 +1151,11 @@ msgid "" msgstr "" "Qui è possibile immettere l'URL o i metadati IDP o i metadati stesso (xml)" +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +#| msgid "IDP Metadata" +msgid "Metadata" +msgstr "Metadati" + #: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "ID entità" @@ -1149,6 +1174,11 @@ msgstr "Attrs nome utente" msgid "Fields from where to extract user name" msgstr "Campi da dove estrarre il nome utente" +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "Attributi" + #: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "Gruppo nome attrs" @@ -1235,6 +1265,10 @@ msgstr "Abbiamo bisogno di più di due elementi!" msgid "Ldap Server IP or Hostname" msgstr "LDAP Server IP o l'Hostname" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "Utente LDAP" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "Gruppo classe" @@ -1444,6 +1478,16 @@ msgstr "Base in cluster Service" msgid "Advanced" msgstr "Avanzate" +#: core/ui/UserInterface.py:88 +#| msgid "Invalid credentials" +msgid "Credentials" +msgstr "Credenziali" + +#: core/ui/UserInterface.py:89 +#| msgid "Tunnel Server" +msgid "Tunnel" +msgstr "Tunnel" + #: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "Attivo" @@ -2083,6 +2127,7 @@ msgstr "Accessi da piscina" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 #: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "Piscina" @@ -2195,7 +2240,7 @@ msgstr "Numero di macchine desiderati tenere sospeso in attesa di utilizzo" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "Macchina base" @@ -2211,14 +2256,14 @@ msgstr "Macchina base servizio" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/OpenStack/LiveService.py:118 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "Rete" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" "If more than 1 interface is found in machine, use one on this network as main" msgstr "" @@ -2228,14 +2273,14 @@ msgstr "" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "Memoria (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "Memoria per macchine distribuite da questo servizio" @@ -2253,7 +2298,7 @@ msgstr "Datastore dove mettere incrementali & pubblicazioni" #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 #: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "Nomi della macchina" @@ -2261,7 +2306,7 @@ msgstr "Nomi della macchina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OpenStack/LiveService.py:127 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "Nome di base per i cloni da questa macchina" @@ -2269,8 +2314,8 @@ msgstr "Nome di base per i cloni da questa macchina" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:133 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "Lunghezza del nome" @@ -2279,8 +2324,8 @@ msgstr "Lunghezza del nome" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:136 -#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "" "Dimensione della parte numerica per i nomi di queste macchine (tra 3 e 6)" @@ -2289,8 +2334,8 @@ msgstr "" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:153 -#: services/Vmware_enterprise/VCLinkedCloneService.py:103 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 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" @@ -2299,8 +2344,8 @@ msgstr "La lunghezza di basename più lunghezza non deve essere maggiore di 15" #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:155 -#: services/Vmware_enterprise/VCLinkedCloneService.py:105 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "Il nome del computer non può essere solo numeri" @@ -2535,10 +2580,6 @@ msgstr "Memoria garantita (Mb)" msgid "Physical memory guaranteed to machines" msgstr "Memoria fisica garantita per macchine" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "Visualizzazione" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "Tipo di display (solo per scopi di amministrazione)" @@ -2682,6 +2723,21 @@ msgstr "Volume" msgid "Base volume for service (restricted by availability zone)" msgstr "Volume di base per il servizio (limitato dalla zona di disponibilità)" +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +#| msgid "Base Machine" +msgid "Machine" +msgstr "Macchina" + #: services/OpenStack/LiveService.py:118 msgid "Network to attach to this service" msgstr "Rete di allegare a questo servizio" @@ -3029,58 +3085,58 @@ msgstr "Datacenter" msgid "Datacenter containing base machine" msgstr "Macchina di base contenente datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "Pub. Pool di risorse" -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "Pool di risorse dove distribuire cloni" -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Clones Folder" -msgstr "Cartella di cloni" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Folder where deploy clones" -msgstr "Cartella dove distribuire cloni" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:66 -msgid "Resource Pool" -msgstr "Pool di risorse" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:72 -msgid "Resource Pool containing base machine" -msgstr "Macchina base contenente risorse piscina" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 -msgid "Base machine for this service" -msgstr "Macchina base per questo servizio" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:64 msgid "Pub.Datastores" msgstr "Pub.Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "Datastore dove mettere le pubblicazioni" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 -msgid "Inc.Datastores" -msgstr "Inc.Datastores" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 -msgid "Datastores where to put incrementals" -msgstr "Datastore dove mettere incrementali" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "Remove found duplicates" msgstr "Rimuovere i duplicati trovati" -#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 msgid "If active, found duplicates clones for this service will be removed" msgstr "Se attivo, i duplicati trovati cloni per questo servizio verranno rimossi" +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "Pool di risorse" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "Macchina base contenente risorse piscina" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "Macchina base per questo servizio" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "Cartella di cloni" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "Cartella dove distribuire cloni" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 +msgid "Inc.Datastores" +msgstr "Inc.Datastores" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +msgid "Datastores where to put incrementals" +msgstr "Datastore dove mettere incrementali" + #: services/Xen/XenLinkedService.py:56 msgid "Xen Linked Clone (Experimental)" msgstr "Xen Clone collegato (sperimentale)" @@ -3165,6 +3221,7 @@ msgstr "Navigazione Toggle" #: templates/uds/admin/tmpl/dashboard.html:5 #: templates/uds/admin/tmpl/osmanagers.html:31 #: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 #: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "Panoramica" @@ -3221,6 +3278,7 @@ msgstr "Logout" #: templates/uds/admin/tmpl/authenticators.html:33 #: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 #: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "Registri" @@ -3536,6 +3594,11 @@ msgstr "" msgid "Thank you." msgstr "Grazie." +#: templates/uds/admin/tmpl/service-info.html:5 +#| msgid "Service Pools" +msgid "Services Pools" +msgstr "Servizi piscine" + #: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "Cache" @@ -3996,7 +4059,7 @@ msgstr "Se selezionata, le credenziali utilizzate per connettersi sarà emtpy" #: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" msgstr "" "Se non vuota, questo nome utente verrà sempre utilizzato come credenziale" @@ -4007,7 +4070,7 @@ msgstr "" #: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "Se non vuota, questa password verrà sempre utilizzata come credenziale" @@ -4016,7 +4079,7 @@ msgstr "Se non vuota, questa password verrà sempre utilizzata come credenziale" msgid "Without Domain" msgstr "Senza dominio" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " @@ -4186,6 +4249,17 @@ msgstr "Nome host o l'indirizzo della gestione connessione" msgid "If not empty, this domain will be always used as credential domain" msgstr "Se non vuota, questo dominio verrà sempre utilizzato come dominio delle credenziali" +#: transports/RDP/BaseRDPTransport.py:64 +#| msgid "" +#| "If checked, the domain part will always be emptied (to connecto to xrdp " +#| "for example is needed)" +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" +"Se selezionata, la parte di dominio sarà sempre svuotata (per connettersi a xrdp per " +"esempio è necessario)" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -4405,7 +4479,7 @@ msgstr "RGS trasporto (con tunnel)" msgid "RGS Transport for tunneled connection" msgstr "RGS trasporto per connessione con tunnel" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" "Server certificate (public), can be found on your ovirt engine, probably at /" "etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." diff --git a/server/src/uds/locale/it/LC_MESSAGES/djangojs.po b/server/src/uds/locale/it/LC_MESSAGES/djangojs.po index f0aa9047a..cffaa2ec4 100644 --- a/server/src/uds/locale/it/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/it/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-18 07:06+0200\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" "PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Italian (http://www.transifex.com/openuds/openuds/language/" @@ -102,13 +102,14 @@ msgstr "Prova" msgid "Search error" msgstr "Errore di ricerca" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:306 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "Accettare" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "Errore di accesso ai dati" @@ -501,84 +502,93 @@ msgstr "Errore di creazione di report" msgid "Error obtaining report description" msgstr "Descrizione dell'errore ottenere report" -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "In manutenzione" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "Attivo" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "Informazioni" + +#: static/tmp_js/gui-d-services.js:120 +#| msgid "Service creation error" +msgid "Service information" +msgstr "Informazioni di servizio" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "Modifica servizio" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "Errore di creazione del servizio" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "Nuovo servizio" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "Servizio risparmio errore" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "Eliminare il servizio" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "Errore di omissione del servizio" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "Manutenzione" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "Modalità di manutenzione" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "Entrare in modalità di manutenzione?" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "Uscire dalla modalità di manutenzione?" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "Entrare in modalità di manutenzione" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "Disattiva modalità di manutenzione" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "Nuovo provider di servizi" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "Errore di creazione di provider di servizi" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "Modificare il provider di servizi" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "Provider di servizi risparmiando errore" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "Eliminare il provider di servizi" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "Errore di omissione del Provider di servizi" @@ -739,7 +749,7 @@ msgstr "Modifica" msgid "saving error" msgstr "errore di risparmio" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "Eliminare" @@ -804,15 +814,15 @@ msgstr "Registri" msgid "Main" msgstr "Main" -#: static/tmp_js/gui-form.js:289 +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "Sì" -#: static/tmp_js/gui-form.js:290 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "No" -#: static/tmp_js/gui-form.js:307 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "Chiudere" @@ -836,31 +846,31 @@ msgstr "Edizione fatto con successo" msgid "Overview" msgstr "Panoramica" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "di tipo" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "Creazione fatto con successo" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "Sei sicuro che si desidera eliminare " -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "articoli:" -#: static/tmp_js/gui-methods.js:147 +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "Errore durante l'eliminazione" -#: static/tmp_js/gui-methods.js:149 +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "Eliminato correttamente" -#: static/tmp_js/gui-methods.js:154 +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "Risultati di eliminazione" diff --git a/server/src/uds/locale/pt/LC_MESSAGES/django.po b/server/src/uds/locale/pt/LC_MESSAGES/django.po index 7665b4897..1a67e1718 100644 --- a/server/src/uds/locale/pt/LC_MESSAGES/django.po +++ b/server/src/uds/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Adolfo Gómez , 2012 msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-04 11:55+0200\n" -"PO-Revision-Date: 2015-09-04 09:56+0000\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" +"PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" -"Language-Team: Portuguese (http://www.transifex.com/openuds/openuds/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/openuds/openuds/language/" +"pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: REST/methods/actor.py:94 REST/methods/client.py:92 @@ -31,7 +32,7 @@ msgstr "Chave inválida" msgid "Unmanaged host" msgstr "Host não gerenciado" -#: REST/methods/actor.py:198 web/errors.py:78 +#: REST/methods/actor.py:198 web/errors.py:79 msgid "User service not found" msgstr "Serviço de usuário não encontrado" @@ -39,57 +40,124 @@ msgstr "Serviço de usuário não encontrado" msgid "Current authenticators" msgstr "Autenticadores atuais" -#: REST/methods/authenticators.py:59 REST/methods/images.py:60 -#: REST/methods/networks.py:60 REST/methods/osmanagers.py:57 -#: REST/methods/providers.py:64 REST/methods/reports.py:58 -#: REST/methods/services_pools.py:72 REST/methods/transports.py:56 -#: REST/methods/user_services.py:218 REST/methods/user_services.py:253 -#: REST/methods/users_groups.py:95 REST/model.py:119 +#: REST/methods/authenticators.py:59 REST/methods/calendars.py:60 +#: REST/methods/images.py:61 REST/methods/networks.py:60 +#: REST/methods/osmanagers.py:57 REST/methods/providers.py:65 +#: REST/methods/reports.py:58 REST/methods/services_pool_groups.py:64 +#: REST/methods/services_pools.py:76 REST/methods/transports.py:56 +#: REST/methods/user_services.py:220 REST/methods/user_services.py:255 +#: REST/methods/users_groups.py:95 REST/model.py:132 +#: templates/uds/admin/tmpl/calendar_rule.html:5 +#: templates/uds/admin/tmpl/calendar_rule.html:7 #: templates/uds/admin/tmpl/user.html:29 templates/uds/admin/tmpl/user.html:32 msgid "Name" msgstr "Nome" -#: REST/methods/authenticators.py:60 REST/methods/osmanagers.py:58 -#: REST/methods/providers.py:65 REST/methods/services.py:179 -#: REST/methods/services_pools.py:76 REST/methods/transports.py:57 -#: REST/methods/user_services.py:255 REST/methods/users_groups.py:96 -#: REST/methods/users_groups.py:209 REST/model.py:126 -#: templates/uds/admin/tmpl/group.html:49 -#: templates/uds/admin/tmpl/user.html:40 +#: REST/methods/authenticators.py:60 REST/methods/calendarrules.py:104 +#: REST/methods/calendars.py:61 REST/methods/osmanagers.py:58 +#: REST/methods/providers.py:66 REST/methods/services.py:188 +#: REST/methods/services_pool_groups.py:65 REST/methods/transports.py:57 +#: REST/methods/user_services.py:257 REST/methods/users_groups.py:96 +#: REST/methods/users_groups.py:209 REST/model.py:139 +#: templates/uds/admin/tmpl/calendar_rule.html:14 +#: templates/uds/admin/tmpl/group.html:49 templates/uds/admin/tmpl/user.html:40 msgid "Comments" msgstr "Comentários" -#: REST/methods/authenticators.py:61 REST/methods/transports.py:55 -#: REST/methods/user_services.py:252 REST/model.py:135 +#: REST/methods/authenticators.py:61 REST/methods/services_pool_calendars.py:89 +#: REST/methods/services_pool_groups.py:62 REST/methods/transports.py:55 +#: REST/methods/user_services.py:254 REST/model.py:148 +#: templates/uds/admin/tmpl/pool_add_access.html:5 msgid "Priority" msgstr "Prioridade" -#: REST/methods/authenticators.py:62 REST/model.py:146 +#: REST/methods/authenticators.py:62 msgid "Tag" msgstr "Tag" #: REST/methods/authenticators.py:63 reports/stats/login.py:107 #: reports/stats/login.py:373 reports/stats/pool_performance.py:108 #: reports/stats/pool_performance.py:366 -#: templates/uds/admin/tmpl/authenticators.html:30 +#: templates/uds/admin/tmpl/authenticators.html:31 #: templates/uds/admin/tmpl/dashboard.html:34 #: templates/uds/admin/tmpl/permissions.html:7 msgid "Users" msgstr "Usuários" +#: REST/methods/authenticators.py:64 REST/methods/calendars.py:63 +#: REST/methods/networks.py:63 REST/methods/osmanagers.py:60 +#: REST/methods/providers.py:70 REST/methods/services.py:192 +#: REST/methods/services_pools.py:81 REST/methods/transports.py:59 +msgid "tags" +msgstr "" + +#: REST/methods/calendarrules.py:98 +#: templates/uds/admin/tmpl/calendar_rule.html:9 +msgid "Rule name" +msgstr "" + +#: REST/methods/calendarrules.py:99 +#: templates/uds/admin/tmpl/calendar_rule.html:55 +msgid "Starts" +msgstr "" + +#: REST/methods/calendarrules.py:100 +#: templates/uds/admin/tmpl/calendar_rule.html:64 +msgid "Ends" +msgstr "" + +#: REST/methods/calendarrules.py:101 +#: templates/uds/admin/tmpl/calendar_rule.html:73 +msgid "Repeats" +msgstr "" + +#: REST/methods/calendarrules.py:102 +msgid "Every" +msgstr "" + +#: REST/methods/calendarrules.py:103 +#: templates/uds/admin/tmpl/calendar_rule.html:34 +msgid "Duration" +msgstr "" + +#: REST/methods/calendarrules.py:128 REST/methods/services.py:153 +msgid "Element already exists (duplicate key error)" +msgstr "Elemento já existe (erro de chave duplicado)" + +#: REST/methods/calendarrules.py:150 +#, python-brace-format +msgid "Rules of {0}" +msgstr "" + +#: REST/methods/calendarrules.py:152 +msgid "Current rules" +msgstr "" + +#: REST/methods/calendars.py:58 templates/uds/admin/snippets/navbar.html.py:26 +#: templates/uds/admin/tmpl/calendars.html:4 +#: templates/uds/admin/tmpl/calendars.html:7 +msgid "Calendars" +msgstr "" + +#: REST/methods/calendars.py:62 +msgid "Modified" +msgstr "" + #: REST/methods/images.py:58 msgid "Image Gallery" msgstr "Galeria de imagens" -#: REST/methods/images.py:61 -msgid "Size" -msgstr "Tamanho" - -#: REST/methods/images.py:62 REST/methods/images.py:79 +#: REST/methods/images.py:60 REST/methods/images.py:79 +#: REST/methods/services_pool_groups.py:63 #: templates/uds/admin/tmpl/new_image.html:10 +#: templates/uds/admin/tmpl/service-info.html:21 msgid "Image" msgstr "Imagem" +#: REST/methods/images.py:62 +msgid "Size" +msgstr "Tamanho" + #: REST/methods/images.py:80 msgid "Image object" msgstr "Objeto imagem" @@ -107,51 +175,54 @@ msgstr "Gama" msgid "Used by" msgstr "Usado por" -#: REST/methods/networks.py:72 +#: REST/methods/networks.py:73 msgid "Invalid network: " msgstr "Rede inválida: " -#: REST/methods/networks.py:80 +#: REST/methods/networks.py:81 msgid "Network range" msgstr "Intervalo de rede" -#: REST/methods/networks.py:81 +#: REST/methods/networks.py:82 msgid "" "Network range. Accepts most network definitions formats (range, subnet, " "host, etc..." -msgstr "Intervalo de rede. Aceita a maioria dos formatos de definições de rede (gama, sub-rede, anfitrião, etc..." +msgstr "" +"Intervalo de rede. Aceita a maioria dos formatos de definições de rede " +"(gama, sub-rede, anfitrião, etc..." #: REST/methods/osmanagers.py:55 msgid "Current OS Managers" msgstr "Atual OS gerentes" -#: REST/methods/osmanagers.py:79 +#: REST/methods/osmanagers.py:81 msgid "Can't delete an OS Manager with services pools associated" -msgstr "Não é possível excluir um Gerenciador de sistema operacional com serviços de piscinas associadas" +msgstr "" +"Não é possível excluir um Gerenciador de sistema operacional com serviços de " +"piscinas associadas" -#: REST/methods/providers.py:60 +#: REST/methods/providers.py:61 msgid "Service providers" msgstr "Prestadores de serviços" -#: REST/methods/providers.py:66 +#: REST/methods/providers.py:67 msgid "Status" msgstr "Status" -#: REST/methods/providers.py:67 templates/uds/admin/snippets/navbar.html:21 +#: REST/methods/providers.py:68 templates/uds/admin/snippets/navbar.html.py:22 #: templates/uds/admin/tmpl/dashboard.html:61 #: templates/uds/admin/tmpl/providers.html:4 #: templates/uds/admin/tmpl/providers.html:7 -#: templates/uds/admin/tmpl/providers.html:30 templates/uds/html5/index.html:6 -#: templates/uds/index.html:51 +#: templates/uds/admin/tmpl/providers.html:31 templates/uds/index.html.py:51 msgid "Services" msgstr "Serviços" -#: REST/methods/providers.py:68 +#: REST/methods/providers.py:69 msgid "User Services" msgstr "Serviços de usuário" -#: REST/methods/providers.py:131 dispatchers/wyse_enterprise/views.py:256 -#: dispatchers/wyse_enterprise/views.py:259 web/errors.py:73 +#: REST/methods/providers.py:134 dispatchers/wyse_enterprise/views.py:258 +#: dispatchers/wyse_enterprise/views.py:261 web/errors.py:74 msgid "Service not found" msgstr "Serviço não encontrado" @@ -163,7 +234,7 @@ msgstr "Relatórios disponíveis" #: REST/methods/users_groups.py:215 #: auths/ActiveDirectory_enterprise/Authenticator.py:56 #: auths/EDirectory_enterprise/Authenticator.py:81 -#: auths/RegexLdap/Authenticator.py:81 auths/SAML_enterprise/SAML.py:115 +#: auths/RegexLdap/Authenticator.py:82 auths/SAML_enterprise/SAML.py:116 #: auths/SimpleLDAP/Authenticator.py:83 #: templates/uds/admin/tmpl/pool_add_group.html:17 msgid "Group" @@ -177,138 +248,216 @@ msgstr "Descrição" msgid "Generates" msgstr "Gera" -#: REST/methods/services.py:146 -msgid "Element already exists (duplicate key error)" -msgstr "Elemento já existe (erro de chave duplicado)" - -#: REST/methods/services.py:149 +#: REST/methods/services.py:157 #, python-brace-format msgid "Input error: {0}" msgstr "Erro de entrada: {0}" -#: REST/methods/services.py:172 +#: REST/methods/services.py:181 #, python-brace-format msgid "Services of {0}" msgstr "Serviços de {0}" -#: REST/methods/services.py:174 +#: REST/methods/services.py:183 msgid "Current services" msgstr "Serviços atuais" -#: REST/methods/services.py:178 +#: REST/methods/services.py:187 msgid "Service name" msgstr "Nome do serviço" -#: REST/methods/services.py:180 REST/methods/user_services.py:254 +#: REST/methods/services.py:189 REST/methods/user_services.py:256 msgid "Type" msgstr "Tipo" -#: REST/methods/services.py:181 +#: REST/methods/services.py:190 msgid "Deployed services" msgstr "Serviços implantados" -#: REST/methods/services.py:182 templates/uds/admin/tmpl/dashboard.html:88 +#: REST/methods/services.py:191 templates/uds/admin/tmpl/dashboard.html.py:88 msgid "User services" msgstr "Serviços de usuário" -#: REST/methods/services_pools.py:70 -#: templates/uds/admin/snippets/navbar.html:25 +#: REST/methods/services_pool_calendars.py:85 +msgid "Access restrictions by calendar" +msgstr "" + +#: REST/methods/services_pool_calendars.py:90 +#: REST/methods/services_pool_calendars.py:156 +#: templates/uds/admin/tmpl/pool_add_access.html:12 +#: templates/uds/admin/tmpl/pool_add_action.html:5 +msgid "Calendar" +msgstr "" + +#: REST/methods/services_pool_calendars.py:91 +msgid "Access" +msgstr "" + +#: REST/methods/services_pool_calendars.py:152 +#: templates/uds/admin/tmpl/services_pool.html:36 +msgid "Scheduled actions" +msgstr "" + +#: REST/methods/services_pool_calendars.py:157 +#: templates/uds/admin/tmpl/pool_add_action.html:35 +msgid "Action" +msgstr "" + +#: REST/methods/services_pool_calendars.py:158 core/ui/UserInterface.py:87 +msgid "Parameters" +msgstr "" + +#: REST/methods/services_pool_calendars.py:159 +msgid "Relative to" +msgstr "" + +#: REST/methods/services_pool_calendars.py:160 +msgid "Time offset" +msgstr "" + +#: REST/methods/services_pool_calendars.py:161 +msgid "Next execution" +msgstr "" + +#: REST/methods/services_pool_calendars.py:162 +msgid "Last execution" +msgstr "" + +#: REST/methods/services_pool_groups.py:60 +msgid "Services Pool Groups" +msgstr "" + +#: REST/methods/services_pool_groups.py:86 REST/methods/services_pools.py:151 +msgid "Associated Image" +msgstr "Imagem associada" + +#: REST/methods/services_pool_groups.py:87 REST/methods/services_pools.py:152 +msgid "Image assocciated with this service" +msgstr "Imagem assocciated com este serviço" + +#: REST/methods/services_pools.py:74 +#: templates/uds/admin/snippets/navbar.html:27 #: templates/uds/admin/tmpl/services_pool.html:4 #: templates/uds/admin/tmpl/services_pool.html:7 msgid "Service Pools" msgstr "Piscinas de serviço" -#: REST/methods/services_pools.py:73 +#: REST/methods/services_pools.py:77 msgid "Parent Service" msgstr "Pai serviço" -#: REST/methods/services_pools.py:74 REST/methods/user_services.py:118 +#: REST/methods/services_pools.py:78 REST/methods/user_services.py:118 msgid "status" msgstr "status" -#: REST/methods/services_pools.py:75 +#: REST/methods/services_pools.py:79 msgid "Shows transports" msgstr "Mostra transportes" -#: REST/methods/services_pools.py:114 -msgid "Create at least one OS Manager before creating a new service pool" -msgstr "Criar pelo menos um Gerenciador de sistema operacional antes de criar um novo pool de serviço" +#: REST/methods/services_pools.py:80 +msgid "Pool Group" +msgstr "" -#: REST/methods/services_pools.py:116 +#: REST/methods/services_pools.py:105 REST/methods/services_pools.py:158 +msgid "Default" +msgstr "" + +#: REST/methods/services_pools.py:126 +msgid "Create at least one OS Manager before creating a new service pool" +msgstr "" +"Criar pelo menos um Gerenciador de sistema operacional antes de criar um " +"novo pool de serviço" + +#: REST/methods/services_pools.py:128 msgid "Create at least a service before creating a new service pool" msgstr "Criar pelo menos um serviço antes de criar um novo pool de serviço" -#: REST/methods/services_pools.py:123 +#: REST/methods/services_pools.py:135 msgid "Base service" msgstr "Serviço base" -#: REST/methods/services_pools.py:124 +#: REST/methods/services_pools.py:136 msgid "Service used as base of this service pool" msgstr "Serviço usado como base da piscina serviço" -#: REST/methods/services_pools.py:131 +#: REST/methods/services_pools.py:143 msgid "OS Manager" msgstr "Gerente de sistema operacional" -#: REST/methods/services_pools.py:132 +#: REST/methods/services_pools.py:144 msgid "OS Manager used as base of this service pool" msgstr "Gerente de sistema operacional usado como base da piscina serviço" -#: REST/methods/services_pools.py:139 -msgid "Associated Image" -msgstr "Imagem associada" +#: REST/methods/services_pools.py:155 REST/methods/services_pools.py:163 +#: services/OVirt/OVirtLinkedService.py:167 +msgid "Display" +msgstr "Exposição" -#: REST/methods/services_pools.py:140 -msgid "Image assocciated with this service" -msgstr "Imagem assocciated com este serviço" +#: REST/methods/services_pools.py:159 +msgid "Pool group" +msgstr "" -#: REST/methods/services_pools.py:147 +#: REST/methods/services_pools.py:160 +msgid "Pool group for this pool (for pool clasify on display)" +msgstr "" + +#: REST/methods/services_pools.py:168 msgid "Initial available services" msgstr "Iniciais serviços disponíveis" -#: REST/methods/services_pools.py:148 +#: REST/methods/services_pools.py:169 msgid "Services created initially for this service pool" msgstr "Serviços criados inicialmente para este pool de serviço" -#: REST/methods/services_pools.py:155 +#: REST/methods/services_pools.py:172 REST/methods/services_pools.py:181 +#: REST/methods/services_pools.py:190 REST/methods/services_pools.py:199 +#, fuzzy +#| msgid "Compatibility" +msgid "Availability" +msgstr "Compatibilidade" + +#: REST/methods/services_pools.py:177 msgid "Services to keep in cache" msgstr "Serviços para manter em cache" -#: REST/methods/services_pools.py:156 +#: REST/methods/services_pools.py:178 msgid "Services kept in cache for improved user service assignation" -msgstr "Serviços mantidos no cache para atribuição de serviço do usuário aprimorada" +msgstr "" +"Serviços mantidos no cache para atribuição de serviço do usuário aprimorada" -#: REST/methods/services_pools.py:163 +#: REST/methods/services_pools.py:186 msgid "Services to keep in L2 cache" msgstr "Serviços para manter em cache L2" -#: REST/methods/services_pools.py:164 +#: REST/methods/services_pools.py:187 msgid "Services kept in cache of level2 for improved service generation" msgstr "Serviços mantidos no cache de level2 para geração de serviço melhorada" -#: REST/methods/services_pools.py:171 +#: REST/methods/services_pools.py:195 msgid "Maximum number of services to provide" msgstr "Número máximo de serviços para fornecer" -#: REST/methods/services_pools.py:172 +#: REST/methods/services_pools.py:196 msgid "" "Maximum number of service (assigned and L1 cache) that can be created for " "this service" -msgstr "Número máximo de serviço (atribuído e cache L1) que podem ser criados para Este serviço" +msgstr "" +"Número máximo de serviço (atribuído e cache L1) que podem ser criados para " +"Este serviço" -#: REST/methods/services_pools.py:178 +#: REST/methods/services_pools.py:203 msgid "Show transports" msgstr "Mostrar transportes" -#: REST/methods/services_pools.py:179 +#: REST/methods/services_pools.py:204 msgid "If active, alternative transports for user will be shown" msgstr "Se ativo, transportes alternativos para usuário serão mostrados" -#: REST/methods/services_pools.py:194 +#: REST/methods/services_pools.py:219 msgid "Base service does not exist anymore" msgstr "Serviço de base não existe mais" -#: REST/methods/services_pools.py:213 +#: REST/methods/services_pools.py:238 msgid "This service requires an OS Manager" msgstr "Este serviço requer um gestor de sistema operacional" @@ -316,52 +465,56 @@ msgstr "Este serviço requer um gestor de sistema operacional" msgid "Current Transports" msgstr "Atuais transportes" -#: REST/methods/transports.py:70 +#: REST/methods/transports.py:71 msgid "Network access" msgstr "Acesso à rede" -#: REST/methods/transports.py:71 +#: REST/methods/transports.py:72 msgid "" "If checked, the transport will be enabled for the selected networks.If " "unchecked, transport will be disabled for selected networks" -msgstr "Se marcada, o transporte será habilitado para as redes selecionadas.Se desmarcada, o transporte será desabilitado para redes selecionadas" +msgstr "" +"Se marcada, o transporte será habilitado para as redes selecionadas.Se " +"desmarcada, o transporte será desabilitado para redes selecionadas" -#: REST/methods/transports.py:78 +#: REST/methods/transports.py:79 #: services/Nutanix_enterprise/NutanixService.py:51 -#: templates/uds/html5/index.html:81 templates/uds/index.html:79 +#: templates/uds/html5/index.html:120 templates/uds/index.html.py:79 msgid "Networks" msgstr "Redes" -#: REST/methods/transports.py:79 +#: REST/methods/transports.py:80 msgid "" "Networks associated with this transport. If No network selected, will mean " "\"all networks\"" -msgstr "Redes associadas com este transporte. Se nenhuma rede selecionada, significará \"todas as redes\"" +msgstr "" +"Redes associadas com este transporte. Se nenhuma rede selecionada, " +"significará \"todas as redes\"" #: REST/methods/user_services.py:80 REST/methods/user_services.py:81 msgid "unknown" msgstr "desconhecido" #: REST/methods/user_services.py:109 -#: templates/uds/admin/tmpl/services_pool.html:30 +#: templates/uds/admin/tmpl/services_pool.html:31 msgid "Assigned services" msgstr "Serviços atribuídos" -#: REST/methods/user_services.py:113 REST/methods/user_services.py:179 +#: REST/methods/user_services.py:113 REST/methods/user_services.py:181 msgid "Creation date" msgstr "Data de criação" -#: REST/methods/user_services.py:114 REST/methods/user_services.py:180 -#: REST/methods/user_services.py:321 REST/methods/user_services.py:350 +#: REST/methods/user_services.py:114 REST/methods/user_services.py:182 +#: REST/methods/user_services.py:323 REST/methods/user_services.py:352 msgid "Revision" msgstr "Revisão" -#: REST/methods/user_services.py:116 REST/methods/user_services.py:182 +#: REST/methods/user_services.py:116 REST/methods/user_services.py:184 #: auths/IP/Authenticator.py:60 msgid "IP" msgstr "IP" -#: REST/methods/user_services.py:117 REST/methods/user_services.py:183 +#: REST/methods/user_services.py:117 REST/methods/user_services.py:185 msgid "Friendly name" msgstr "Nome amigável" @@ -385,56 +538,59 @@ msgstr "src Ip" msgid "Owner" msgstr "Proprietário" -#: REST/methods/user_services.py:124 REST/methods/user_services.py:186 +#: REST/methods/user_services.py:124 REST/methods/user_services.py:188 msgid "Actor version" msgstr "Versão do ator" #: REST/methods/user_services.py:151 +msgid "Item already being removed" +msgstr "" + +#: REST/methods/user_services.py:153 msgid "Item is not removable" msgstr "Item não é removível" -#: REST/methods/user_services.py:175 +#: REST/methods/user_services.py:177 msgid "Cached services" msgstr "Serviços em cache" -#: REST/methods/user_services.py:184 REST/methods/user_services.py:220 -#: REST/methods/user_services.py:323 REST/methods/user_services.py:352 -#: templates/uds/admin/tmpl/group.html:54 -#: templates/uds/admin/tmpl/user.html:45 +#: REST/methods/user_services.py:186 REST/methods/user_services.py:222 +#: REST/methods/user_services.py:325 REST/methods/user_services.py:354 +#: templates/uds/admin/tmpl/group.html:54 templates/uds/admin/tmpl/user.html:45 msgid "State" msgstr "Estado" -#: REST/methods/user_services.py:185 +#: REST/methods/user_services.py:187 msgid "Cache level" msgstr "Nível de cache" -#: REST/methods/user_services.py:213 +#: REST/methods/user_services.py:215 msgid "Assigned groups" msgstr "Grupos atribuídos" -#: REST/methods/user_services.py:219 templates/uds/admin/tmpl/group.html:46 +#: REST/methods/user_services.py:221 templates/uds/admin/tmpl/group.html.py:46 #: templates/uds/admin/tmpl/user.html:37 msgid "comments" msgstr "Comentários" -#: REST/methods/user_services.py:248 +#: REST/methods/user_services.py:250 msgid "Assigned transports" msgstr "Transportes atribuídos" -#: REST/methods/user_services.py:317 -#: templates/uds/admin/tmpl/services_pool.html:34 +#: REST/methods/user_services.py:319 +#: templates/uds/admin/tmpl/services_pool.html:35 msgid "Publications" msgstr "Publicações" -#: REST/methods/user_services.py:322 REST/methods/user_services.py:351 +#: REST/methods/user_services.py:324 REST/methods/user_services.py:353 msgid "Publish date" msgstr "Data de publicação" -#: REST/methods/user_services.py:324 templates/uds/admin/tmpl/publish.html:5 +#: REST/methods/user_services.py:326 templates/uds/admin/tmpl/publish.html.py:5 msgid "Reason" msgstr "Razão" -#: REST/methods/user_services.py:346 +#: REST/methods/user_services.py:348 msgid "Changelog" msgstr "Changelog" @@ -450,18 +606,21 @@ msgstr "Usuários atuais" #: REST/methods/users_groups.py:94 #: auths/ActiveDirectory_enterprise/Authenticator.py:54 #: auths/EDirectory_enterprise/Authenticator.py:79 -#: auths/RegexLdap/Authenticator.py:79 auths/SimpleLDAP/Authenticator.py:81 +#: auths/RegexLdap/Authenticator.py:80 auths/SimpleLDAP/Authenticator.py:81 #: services/HyperV_enterprise/HyperVClusterProvider.py:91 #: services/HyperV_enterprise/HyperVProvider.py:85 #: services/Nutanix_enterprise/NutanixProvider.py:39 -#: services/OVirt/OVirtProvider.py:97 +#: services/OVirt/OVirtProvider.py:97 services/OpenNebula/Provider.py:101 +#: services/OpenStack/Provider.py:105 #: services/Vmware_enterprise/ServiceProviderVC.py:31 -#: services/Xen/XenProvider.py:99 templates/uds/admin/tmpl/user.html:16 +#: services/Xen/XenProvider.py:99 templates/uds/admin/tmpl/user.html.py:16 #: transports/HTML5RDP/HTML5RDP.py:70 transports/NX/NXTransport.py:66 -#: transports/NX/TSNXTransport.py:73 transports/RDP/BaseRDPTransport.py:62 +#: transports/NX/TSNXTransport.py:73 +#: transports/PCoIP_enterprise/PCoIPTransport.py:58 +#: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:71 web/forms/LoginForm.py:75 +#: transports/SPICE/BaseSPICETransport.py:72 web/forms/LoginForm.py:60 msgid "Username" msgstr "Nome de usuário" @@ -499,40 +658,54 @@ msgstr "Grupo meta" msgid "UDS Meta Group" msgstr "UDS Meta Group" -#: REST/model.py:120 +#: REST/model.py:123 +msgid "Tags" +msgstr "" + +#: REST/model.py:125 +msgid "Tags for this element" +msgstr "" + +#: REST/model.py:133 msgid "Name of this element" msgstr "Nome deste elemento" -#: REST/model.py:127 +#: REST/model.py:140 msgid "Comments for this element" msgstr "Comentários para este elemento" -#: REST/model.py:136 +#: REST/model.py:149 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)" +msgstr "" +"Seleciona a prioridade deste elemento (número significa maior prioridade " +"mais baixa)" -#: REST/model.py:147 -msgid "Tag for this element" -msgstr "Tag para este elemento." +#: REST/model.py:159 +msgid "Label" +msgstr "" -#: REST/model.py:228 +#: REST/model.py:160 +msgid "Label for this element" +msgstr "" + +#: REST/model.py:243 msgid "Invalid Request" msgstr "Pedido inválido" -#: REST/model.py:235 +#: REST/model.py:250 msgid "Method not found in {}: {}" msgstr "Método não encontrado em {}: {}" -#: REST/model.py:241 +#: REST/model.py:256 msgid "Item not found" msgstr "Item não encontrado" -#: REST/model.py:245 web/errors.py:74 +#: REST/model.py:261 web/errors.py:75 msgid "Access denied" msgstr "Acesso negado" -#: REST/model.py:248 +#: REST/model.py:264 msgid "Operation not supported" msgstr "Operação não suportada" @@ -541,13 +714,13 @@ msgid "requested a template that do not exist" msgstr "solicitado um modelo que não existe" #: admin/views/reporting/usage.py:84 admin/views/reporting/users.py:87 -#: core/reports/tools/report.py:69 reports/lists/users.py:87 +#: core/reports/tools/report.py:72 reports/lists/users.py:87 #, python-format msgid "Page %(page_number)d of %(page_count)d" msgstr "Página %(page_number)d de %(page_count)d" #: admin/views/reporting/usage.py:93 admin/views/reporting/users.py:97 -#: core/reports/tools/report.py:79 reports/lists/users.py:97 +#: core/reports/tools/report.py:82 reports/lists/users.py:97 #, python-format msgid "Printed in %(now:%Y, %b %d)s at %(now:%H:%M)s" msgstr "Impresso em %(now:%Y, %b %d)s a %(now:%H:%M)s" @@ -562,7 +735,8 @@ msgstr "Lista de usuários por {}" #: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVProvider.py:83 #: services/Nutanix_enterprise/NutanixProvider.py:37 -#: services/OVirt/OVirtProvider.py:96 +#: services/OVirt/OVirtProvider.py:96 services/OpenNebula/Provider.py:98 +#: services/OpenStack/Provider.py:98 #: services/Vmware_enterprise/ServiceProviderVC.py:29 #: services/Xen/XenProvider.py:98 msgid "Host" @@ -575,6 +749,7 @@ msgstr "Active Directory Server IP ou nome do host" #: auths/ActiveDirectory_enterprise/Authenticator.py:36 #: auths/EDirectory_enterprise/Authenticator.py:64 #: auths/RegexLdap/Authenticator.py:58 auths/SimpleLDAP/Authenticator.py:59 +#: services/OpenNebula/Provider.py:100 services/OpenStack/Provider.py:100 msgid "Use SSL" msgstr "Uso SSL" @@ -591,20 +766,25 @@ msgid "Compatibility of AD connection (Usually windows 2000 and later)" msgstr "Compatibilidade de conexão AD (geralmente windows 2000 e posterior)" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 -#: auths/RegexLdap/Authenticator.py:59 auths/SimpleLDAP/Authenticator.py:60 -msgid "Ldap User" -msgstr "Usuário LDAP" +#: auths/EDirectory_enterprise/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:59 auths/SAML_enterprise/SAML.py:113 +#: reports/stats/usage_by_pool.py:73 reports/stats/usage_by_pool.py:189 +#: templates/uds/internal_page.html:28 +msgid "User" +msgstr "Usuário" #: auths/ActiveDirectory_enterprise/Authenticator.py:39 msgid "" -"Username with read privileges on the base selected (use USER@DOMAIN.DOM form" -" for this)" -msgstr "Nome de usuário com privilégios de leitura da base selecionada (uso USER@DOMAIN.Formulário de DOM para isso)" +"Username with read privileges on the base selected (use USER@DOMAIN.DOM form " +"for this)" +msgstr "" +"Nome de usuário com privilégios de leitura da base selecionada (uso " +"USER@DOMAIN.Formulário de DOM para isso)" #: auths/ActiveDirectory_enterprise/Authenticator.py:40 #: auths/ActiveDirectory_enterprise/Authenticator.py:58 #: auths/EDirectory_enterprise/Authenticator.py:66 -#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:83 +#: auths/RegexLdap/Authenticator.py:60 auths/RegexLdap/Authenticator.py:84 #: auths/SimpleLDAP/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:85 #: core/auths/BaseAuthenticator.py:140 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:36 @@ -612,14 +792,17 @@ msgstr "Nome de usuário com privilégios de leitura da base selecionada (uso US #: services/HyperV_enterprise/HyperVClusterProvider.py:92 #: services/HyperV_enterprise/HyperVProvider.py:86 #: services/Nutanix_enterprise/NutanixProvider.py:40 -#: services/OVirt/OVirtProvider.py:98 services/Sample/SampleService.py:131 +#: services/OVirt/OVirtProvider.py:98 services/OpenNebula/Provider.py:102 +#: services/OpenStack/Provider.py:106 services/Sample/SampleService.py:131 #: services/Vmware_enterprise/ServiceProviderVC.py:32 -#: services/Xen/XenProvider.py:100 templates/uds/admin/tmpl/user.html:83 +#: services/Xen/XenProvider.py:100 templates/uds/admin/tmpl/user.html.py:83 #: transports/HTML5RDP/HTML5RDP.py:71 transports/NX/NXTransport.py:67 -#: transports/NX/TSNXTransport.py:74 transports/RDP/BaseRDPTransport.py:63 +#: transports/NX/TSNXTransport.py:74 +#: transports/PCoIP_enterprise/PCoIPTransport.py:59 +#: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:76 web/forms/LoginForm.py:76 +#: transports/SPICE/BaseSPICETransport.py:78 web/forms/LoginForm.py:61 msgid "Password" msgstr "Senha" @@ -633,10 +816,11 @@ msgstr "Senha do usuário ldap" #: auths/EDirectory_enterprise/Authenticator.py:67 #: auths/RegexLdap/Authenticator.py:61 auths/SimpleLDAP/Authenticator.py:62 #: services/HyperV_enterprise/HyperVClusterProvider.py:93 -#: services/HyperV_enterprise/HyperVProvider.py:87 -#: services/Nutanix_enterprise/NutanixProvider.py:41 -#: services/OVirt/OVirtProvider.py:99 -#: services/Vmware_enterprise/ServiceProviderVC.py:33 +#: services/HyperV_enterprise/HyperVProvider.py:91 +#: services/Nutanix_enterprise/NutanixProvider.py:44 +#: services/OVirt/OVirtProvider.py:103 services/OpenNebula/Provider.py:107 +#: services/OpenStack/Provider.py:111 +#: services/Vmware_enterprise/ServiceProviderVC.py:38 msgid "Timeout" msgstr "Tempo limite" @@ -653,7 +837,7 @@ msgid "Authenticate against Active Directory" msgstr "Autenticar no Active Directory" #: auths/ActiveDirectory_enterprise/Authenticator.py:73 -#: auths/ActiveDirectory_enterprise/Authenticator.py:461 +#: auths/ActiveDirectory_enterprise/Authenticator.py:464 msgid "Must specify the username in the form USERNAME@DOMAIN.DOM" msgstr "Deve especificar o nome de usuário na forma USERNAME@DOMAIN.DOM" @@ -661,51 +845,52 @@ msgstr "Deve especificar o nome de usuário na forma USERNAME@DOMAIN.DOM" msgid "Active directory connection error: " msgstr "Erro de conexão do Active directory: " -#: auths/ActiveDirectory_enterprise/Authenticator.py:357 -#: auths/ActiveDirectory_enterprise/Authenticator.py:405 +#: auths/ActiveDirectory_enterprise/Authenticator.py:360 +#: auths/ActiveDirectory_enterprise/Authenticator.py:408 #: auths/EDirectory_enterprise/Authenticator.py:245 #: auths/EDirectory_enterprise/Authenticator.py:288 -#: auths/RegexLdap/Authenticator.py:314 auths/RegexLdap/Authenticator.py:355 +#: auths/RegexLdap/Authenticator.py:315 auths/RegexLdap/Authenticator.py:356 #: auths/SimpleLDAP/Authenticator.py:281 auths/SimpleLDAP/Authenticator.py:324 msgid "Username not found" msgstr "Nome de usuário não encontrado" -#: auths/ActiveDirectory_enterprise/Authenticator.py:390 +#: auths/ActiveDirectory_enterprise/Authenticator.py:393 #: auths/SimpleLDAP/Authenticator.py:314 msgid "Group not found" msgstr "Grupo não encontrado" -#: auths/ActiveDirectory_enterprise/Authenticator.py:425 -#: auths/ActiveDirectory_enterprise/Authenticator.py:443 +#: auths/ActiveDirectory_enterprise/Authenticator.py:428 +#: auths/ActiveDirectory_enterprise/Authenticator.py:446 #: auths/EDirectory_enterprise/Authenticator.py:305 -#: auths/RegexLdap/Authenticator.py:377 auths/SimpleLDAP/Authenticator.py:341 +#: auths/RegexLdap/Authenticator.py:378 auths/SimpleLDAP/Authenticator.py:341 #: auths/SimpleLDAP/Authenticator.py:357 msgid "Too many results, be more specific" msgstr "Muitos resultados, seja mais específico" -#: auths/ActiveDirectory_enterprise/Authenticator.py:470 +#: auths/ActiveDirectory_enterprise/Authenticator.py:473 msgid "Domain seems to be incorrect, please check it" msgstr "Domínio parece ser incorreta, por favor verifique-" -#: auths/ActiveDirectory_enterprise/Authenticator.py:475 +#: auths/ActiveDirectory_enterprise/Authenticator.py:478 msgid "" "Server does not seem an Active Directory (it does not have user objects)" msgstr "Servidor não parece um Active Directory (não tem objetos de usuário)" -#: auths/ActiveDirectory_enterprise/Authenticator.py:483 +#: auths/ActiveDirectory_enterprise/Authenticator.py:486 msgid "" "Server does not seem an Active Directory (it does not have group objects)" msgstr "Servidor não parece um Active Directory (não tem objetos de grupo)" -#: auths/ActiveDirectory_enterprise/Authenticator.py:491 +#: auths/ActiveDirectory_enterprise/Authenticator.py:494 msgid "" "Server does not seem an Active Directory (it does not have any user nor " "groups)" -msgstr "Servidor não parece um Active Directory (não tem qualquer usuário nem grupos)" +msgstr "" +"Servidor não parece um Active Directory (não tem qualquer usuário nem grupos)" -#: auths/ActiveDirectory_enterprise/Authenticator.py:496 +#: auths/ActiveDirectory_enterprise/Authenticator.py:499 #: auths/EDirectory_enterprise/Authenticator.py:360 -#: auths/RegexLdap/Authenticator.py:436 auths/SimpleLDAP/Authenticator.py:435 +#: auths/RegexLdap/Authenticator.py:437 auths/SimpleLDAP/Authenticator.py:435 msgid "Connection params seem correct, test was succesfully executed" msgstr "Conexão params parecer corretas, teste foi com êxito executado" @@ -718,6 +903,7 @@ msgstr "EDirectory Server IP ou nome do host" #: services/HyperV_enterprise/HyperVClusterProvider.py:90 #: services/HyperV_enterprise/HyperVProvider.py:84 #: services/Nutanix_enterprise/NutanixProvider.py:38 +#: services/OpenNebula/Provider.py:99 services/OpenStack/Provider.py:99 #: services/Vmware_enterprise/ServiceProviderVC.py:30 msgid "Port" msgstr "Porto" @@ -732,10 +918,6 @@ msgstr "Porta LDAP (normalmente 389 para não ssl) e 636 para ssl" msgid "If checked, the connection will be ssl, using port 636 instead of 389" msgstr "Se marcada, a conexão será ssl, usando a porta 636 em vez de 389" -#: auths/EDirectory_enterprise/Authenticator.py:65 -msgid "Admin user" -msgstr "Usuário admin" - #: auths/EDirectory_enterprise/Authenticator.py:65 msgid "Username with read privileges on the eDirectory" msgstr "Nome de usuário com privilégios de leitura sobre o eDirectory" @@ -754,26 +936,30 @@ msgid "Authenticate against eDirectory" msgstr "Autenticar no eDirectory" #: auths/EDirectory_enterprise/Authenticator.py:125 -#: auths/RegexLdap/Authenticator.py:237 auths/SimpleLDAP/Authenticator.py:171 +#: auths/RegexLdap/Authenticator.py:238 auths/SimpleLDAP/Authenticator.py:171 msgid "Ldap connection error: " msgstr "Erro de conexão LDAP: " #: auths/EDirectory_enterprise/Authenticator.py:325 -#: auths/RegexLdap/Authenticator.py:397 auths/SimpleLDAP/Authenticator.py:377 +#: auths/RegexLdap/Authenticator.py:398 auths/SimpleLDAP/Authenticator.py:377 msgid "Ldap search base is incorrect" msgstr "Base de pesquisa LDAP está incorreta" #: auths/EDirectory_enterprise/Authenticator.py:330 -#: auths/RegexLdap/Authenticator.py:402 auths/SimpleLDAP/Authenticator.py:382 +#: auths/RegexLdap/Authenticator.py:403 auths/SimpleLDAP/Authenticator.py:382 msgid "Ldap user class seems to be incorrect (no user found by that class)" -msgstr "Classe de usuário LDAP parece ser incorreto (nenhum usuário encontrado por essa classe)" +msgstr "" +"Classe de usuário LDAP parece ser incorreto (nenhum usuário encontrado por " +"essa classe)" #: auths/EDirectory_enterprise/Authenticator.py:338 #: auths/SimpleLDAP/Authenticator.py:398 msgid "" "Ldap user id attribute seems to be incorrect (no user found by that " "attribute)" -msgstr "Atributo de id de usuário LDAP parece ser incorreto (nenhum usuário encontrado por isso atributo)" +msgstr "" +"Atributo de id de usuário LDAP parece ser incorreto (nenhum usuário " +"encontrado por isso atributo)" #: auths/EDirectory_enterprise/Authenticator.py:346 msgid "Expected group attribute " @@ -782,7 +968,9 @@ msgstr "Atributo esperado grupo " #: auths/EDirectory_enterprise/Authenticator.py:355 msgid "" "Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)" -msgstr "LDAP usuário classe ou usuário id attr provavelmente está errado (Ldap é do eDirectory?)" +msgstr "" +"LDAP usuário classe ou usuário id attr provavelmente está errado (Ldap é do " +"eDirectory?)" #: auths/IP/Authenticator.py:52 msgid "Accept proxy" @@ -790,9 +978,12 @@ msgstr "Aceitar o proxy" #: auths/IP/Authenticator.py:52 msgid "" -"If checked, requests via proxy will get FORWARDED ip address (take care with" -" this bein checked, can take internal IP addresses from internet)" -msgstr "Se verificado, solicitações via proxy irão obter o endereço de ip de encaminhadas (tome cuidado com esta sendo verificado, pode ter endereços IP internos de internet)" +"If checked, requests via proxy will get FORWARDED ip address (take care with " +"this bein checked, can take internal IP addresses from internet)" +msgstr "" +"Se verificado, solicitações via proxy irão obter o endereço de ip de " +"encaminhadas (tome cuidado com esta sendo verificado, pode ter endereços IP " +"internos de internet)" #: auths/IP/Authenticator.py:54 auths/IP/Authenticator.py:56 msgid "IP Authenticator" @@ -846,169 +1037,205 @@ msgstr "Host do servidor LDAP" msgid "Username with read privileges on the base selected" msgstr "Nome de usuário com privilégios de leitura da base selecionada" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Base" msgstr "Base" -#: auths/RegexLdap/Authenticator.py:62 auths/SimpleLDAP/Authenticator.py:63 +#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:63 msgid "Common search base (used for \"users\" and \"groups\")" msgstr "Base de pesquisa comum (usada para \"usuários\" e \"grupos\")" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:63 auths/RegexLdap/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:65 auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 auths/SimpleLDAP/Authenticator.py:63 +#: auths/SimpleLDAP/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/SimpleLDAP/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:67 +#: auths/SimpleLDAP/Authenticator.py:68 auths/SimpleLDAP/Authenticator.py:69 +msgid "Ldap info" +msgstr "" + +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "User class" msgstr "Classe de usuário" -#: auths/RegexLdap/Authenticator.py:63 auths/SimpleLDAP/Authenticator.py:64 +#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:64 msgid "Class for LDAP users (normally posixAccount)" msgstr "Classe de usuários LDAP (normalmente posixAccount)" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "User Id Attr" msgstr "Usuário Id Attr" -#: auths/RegexLdap/Authenticator.py:64 auths/SimpleLDAP/Authenticator.py:65 +#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:65 msgid "Attribute that contains the user id" msgstr "Atributo que contém a id de usuário" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 msgid "User Name Attr" msgstr "Usuário nome Attr" -#: auths/RegexLdap/Authenticator.py:65 auths/SimpleLDAP/Authenticator.py:66 -msgid "" -"Attributes that contains the user name (list of comma separated values)" -msgstr "Atributos que contém o nome do usuário (lista de valores separados por vírgula)" +#: auths/RegexLdap/Authenticator.py:66 auths/SimpleLDAP/Authenticator.py:66 +msgid "Attributes that contains the user name (list of comma separated values)" +msgstr "" +"Atributos que contém o nome do usuário (lista de valores separados por " +"vírgula)" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Group Name Attr" msgstr "Grupo nome Attr" -#: auths/RegexLdap/Authenticator.py:66 +#: auths/RegexLdap/Authenticator.py:67 msgid "Attribute that contains the group name" msgstr "Atributo que contém o nome do grupo" -#: auths/RegexLdap/Authenticator.py:69 +#: auths/RegexLdap/Authenticator.py:70 msgid "Regex LDAP Authenticator" msgstr "Autenticador de Regex LDAP" -#: auths/RegexLdap/Authenticator.py:71 +#: auths/RegexLdap/Authenticator.py:72 msgid "Regular Expressions LDAP authenticator" msgstr "Autenticador de LDAP de expressões regular" -#: auths/RegexLdap/Authenticator.py:411 +#: auths/RegexLdap/Authenticator.py:412 msgid "" "Ldap user id attr is probably wrong (can't find any user with both " "conditions)" -msgstr "LDAP usuário id attr provavelmente está errado (não pode encontrar qualquer usuário com ambos condições)" +msgstr "" +"LDAP usuário id attr provavelmente está errado (não pode encontrar qualquer " +"usuário com ambos condições)" -#: auths/RegexLdap/Authenticator.py:425 auths/SimpleLDAP/Authenticator.py:406 +#: auths/RegexLdap/Authenticator.py:426 auths/SimpleLDAP/Authenticator.py:406 msgid "" "Ldap group id attribute seems to be incorrect (no group found by that " "attribute)" -msgstr "Atributo de id de grupo LDAP parece ser incorreto (nenhum grupo encontrado por isso atributo)" +msgstr "" +"Atributo de id de grupo LDAP parece ser incorreto (nenhum grupo encontrado " +"por isso atributo)" -#: auths/SAML_enterprise/SAML.py:81 +#: auths/SAML_enterprise/SAML.py:82 msgid "SAML Authenticator" msgstr "Autenticador SAML" -#: auths/SAML_enterprise/SAML.py:93 +#: auths/SAML_enterprise/SAML.py:94 msgid "SAML (v2.0) Authenticator" msgstr "SAML (v 2.0) autenticador" -#: auths/SAML_enterprise/SAML.py:112 templates/uds/internal_page.html:28 -msgid "User" -msgstr "Usuário" - -#: auths/SAML_enterprise/SAML.py:121 +#: auths/SAML_enterprise/SAML.py:122 msgid "Private key" msgstr "Chave privada" -#: auths/SAML_enterprise/SAML.py:122 +#: auths/SAML_enterprise/SAML.py:123 msgid "" "Private key used for sign and encription, as generated in base 64 from " "openssl" -msgstr "A chave privada usada para sinal e encription, conforme gerado em base 64 de OpenSSL" +msgstr "" +"A chave privada usada para sinal e encription, conforme gerado em base 64 de " +"OpenSSL" -#: auths/SAML_enterprise/SAML.py:123 transports/SPICE/BaseSPICETransport.py:83 +#: auths/SAML_enterprise/SAML.py:123 auths/SAML_enterprise/SAML.py:125 +#, fuzzy +#| msgid "Certificate" +msgid "Certificates" +msgstr "Certificado" + +#: auths/SAML_enterprise/SAML.py:124 transports/SPICE/BaseSPICETransport.py:86 msgid "Certificate" msgstr "Certificado" -#: auths/SAML_enterprise/SAML.py:124 +#: auths/SAML_enterprise/SAML.py:125 msgid "Server certificate (public), , as generated in base 64 from openssl" msgstr "Certificado de servidor (público), como gerado em base 64 de openssl" -#: auths/SAML_enterprise/SAML.py:125 +#: auths/SAML_enterprise/SAML.py:126 msgid "IDP Metadata" msgstr "Metadados do IDP" -#: auths/SAML_enterprise/SAML.py:126 +#: auths/SAML_enterprise/SAML.py:127 msgid "" "You can enter here the URL or the IDP metadata or the metadata itself (xml)" -msgstr "Você pode entrar aqui a URL ou os metadados do IDP ou os metadados em si (xml)" +msgstr "" +"Você pode entrar aqui a URL ou os metadados do IDP ou os metadados em si " +"(xml)" -#: auths/SAML_enterprise/SAML.py:128 +#: auths/SAML_enterprise/SAML.py:128 auths/SAML_enterprise/SAML.py:130 +#, fuzzy +#| msgid "IDP Metadata" +msgid "Metadata" +msgstr "Metadados do IDP" + +#: auths/SAML_enterprise/SAML.py:129 msgid "Entity ID" msgstr "ID da entidade" -#: auths/SAML_enterprise/SAML.py:129 -msgid "" -"ID of the SP. If left blank, this will be autogenerated from server URL" -msgstr "ID do SP. Se deixado em branco, este será gerado automaticamente do servidor URL" +#: auths/SAML_enterprise/SAML.py:130 +msgid "ID of the SP. If left blank, this will be autogenerated from server URL" +msgstr "" +"ID do SP. Se deixado em branco, este será gerado automaticamente do servidor " +"URL" -#: auths/SAML_enterprise/SAML.py:131 +#: auths/SAML_enterprise/SAML.py:132 msgid "User name attrs" msgstr "Auditoria de nome de usuário" -#: auths/SAML_enterprise/SAML.py:132 +#: auths/SAML_enterprise/SAML.py:133 msgid "Fields from where to extract user name" msgstr "Campos de onde extrair o nome de usuário" -#: auths/SAML_enterprise/SAML.py:134 +#: auths/SAML_enterprise/SAML.py:133 auths/SAML_enterprise/SAML.py:136 +#: auths/SAML_enterprise/SAML.py:139 +msgid "Attributes" +msgstr "" + +#: auths/SAML_enterprise/SAML.py:135 msgid "Group name attrs" msgstr "Grupo nome attrs" -#: auths/SAML_enterprise/SAML.py:135 +#: auths/SAML_enterprise/SAML.py:136 msgid "Fields from where to extract the groups" msgstr "Campos de onde extrair os grupos" -#: auths/SAML_enterprise/SAML.py:137 +#: auths/SAML_enterprise/SAML.py:138 msgid "Real name attrs" msgstr "Nome verdadeiro attrs" -#: auths/SAML_enterprise/SAML.py:138 +#: auths/SAML_enterprise/SAML.py:139 msgid "Fields from where to extract the real name" msgstr "Campos de onde extrair o verdadeiro nome" -#: auths/SAML_enterprise/SAML.py:161 +#: auths/SAML_enterprise/SAML.py:162 msgid "" -"Server certificate should be a valid PEM (PEM certificates starts with " -"-----BEGIN CERTIFICATE-----)" -msgstr "Certificado de servidor deve ser um válido PEM (certificados PEM começa com--CERTIFICADO DE BEGIN--)" +"Server certificate should be a valid PEM (PEM certificates starts with -----" +"BEGIN CERTIFICATE-----)" +msgstr "" +"Certificado de servidor deve ser um válido PEM (certificados PEM começa com--" +"CERTIFICADO DE BEGIN--)" -#: auths/SAML_enterprise/SAML.py:166 +#: auths/SAML_enterprise/SAML.py:167 msgid "Invalid server certificate. " msgstr "Certificado de servidor inválido. " -#: auths/SAML_enterprise/SAML.py:169 +#: auths/SAML_enterprise/SAML.py:170 msgid "" "Private key should be a valid PEM (PEM private keys starts with -----BEGIN " "RSA PRIVATE KEY-----" -msgstr "A chave privada deve ser um válido PEM (PEM chaves privadas começa com---BEGIN RSA PRIVATE KEY--" +msgstr "" +"A chave privada deve ser um válido PEM (PEM chaves privadas começa com---" +"BEGIN RSA PRIVATE KEY--" -#: auths/SAML_enterprise/SAML.py:198 +#: auths/SAML_enterprise/SAML.py:202 #, python-brace-format msgid "Can't fetch url {0}: {1}" msgstr "Não pode buscar url {0}: {1}" -#: auths/SAML_enterprise/SAML.py:209 +#: auths/SAML_enterprise/SAML.py:213 msgid " (obtained from URL)" msgstr " (obtido da URL)" -#: auths/SAML_enterprise/SAML.py:210 +#: auths/SAML_enterprise/SAML.py:214 msgid "XML does not seem valid for IDP Metadata " msgstr "XML não parece válido para metadados do IDP " -#: auths/SAML_enterprise/SAML.py:228 +#: auths/SAML_enterprise/SAML.py:235 msgid "Can't access idp metadata" msgstr "Não é possível acessar os metadados do idp" @@ -1029,12 +1256,11 @@ msgid "Fake Group" msgstr "Grupo falso" #: auths/Sample/SampleAuth.py:113 -#: templates/uds/admin/tmpl/authenticators.html:31 +#: templates/uds/admin/tmpl/authenticators.html:32 #: templates/uds/admin/tmpl/group.html:65 #: templates/uds/admin/tmpl/permissions.html:22 -#: templates/uds/admin/tmpl/services_pool.html:32 -#: templates/uds/admin/tmpl/user.html:90 -#: templates/uds/admin/tmpl/user.html:104 +#: templates/uds/admin/tmpl/services_pool.html:33 +#: templates/uds/admin/tmpl/user.html:90 templates/uds/admin/tmpl/user.html:104 msgid "Groups" msgstr "Grupos" @@ -1046,6 +1272,10 @@ msgstr "Precisamos de mais de dois itens!" msgid "Ldap Server IP or Hostname" msgstr "LDAP Server IP ou nome do host" +#: auths/SimpleLDAP/Authenticator.py:60 +msgid "Ldap User" +msgstr "Usuário LDAP" + #: auths/SimpleLDAP/Authenticator.py:67 msgid "Group class" msgstr "Grupo classe" @@ -1080,23 +1310,31 @@ msgstr "Autenticador LDAP simples" #: auths/SimpleLDAP/Authenticator.py:390 msgid "Ldap group class seems to be incorrect (no group found by that class)" -msgstr "Classe do grupo LDAP parece ser incorreto (nenhum grupo encontrado por essa classe)" +msgstr "" +"Classe do grupo LDAP parece ser incorreto (nenhum grupo encontrado por essa " +"classe)" #: auths/SimpleLDAP/Authenticator.py:415 msgid "" "Ldap user class or user id attr is probably wrong (can't find any user with " "both conditions)" -msgstr "LDAP usuário classe ou usuário id attr provavelmente está errado (não pode encontrar qualquer usuário com ambas as condições)" +msgstr "" +"LDAP usuário classe ou usuário id attr provavelmente está errado (não pode " +"encontrar qualquer usuário com ambas as condições)" #: auths/SimpleLDAP/Authenticator.py:424 msgid "" "Ldap group class or group id attr is probably wrong (can't find any group " "with both conditions)" -msgstr "LDAP grupo classe ou grupo id attr provavelmente está errado (não consigo encontrar qualquer grupo com ambas as condições)" +msgstr "" +"LDAP grupo classe ou grupo id attr provavelmente está errado (não consigo " +"encontrar qualquer grupo com ambas as condições)" #: auths/SimpleLDAP/Authenticator.py:431 msgid "Can't locate any group with the membership attribute specified" -msgstr "Não é possível localizar qualquer grupo com o atributo de associação especificado" +msgstr "" +"Não é possível localizar qualquer grupo com o atributo de associação " +"especificado" #: core/BaseModule.py:200 msgid "No connection checking method is implemented." @@ -1133,11 +1371,13 @@ msgstr "Proibido" #: core/managers/PublicationManager.py:202 msgid "" "Already publishing. Wait for previous publication to finish and try again" -msgstr "Já a publicar. Aguardar publicação anterior terminar e tentar novamente" +msgstr "" +"Já a publicar. Aguardar publicação anterior terminar e tentar novamente" #: core/managers/PublicationManager.py:205 msgid "Service is in maintenance mode and new publications are not allowed" -msgstr "Serviço está em modo de manutenção e novas publicações não são permitidas" +msgstr "" +"Serviço está em modo de manutenção e novas publicações não são permitidas" #: core/managers/PublicationManager.py:238 msgid "Can't cancel non running publication" @@ -1149,7 +1389,8 @@ msgstr "Não é possível cancelar a publicação de publicação não utilizáv #: core/managers/PublicationManager.py:263 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" +msgstr "" +"Não é possível cancelar a publicação de publicações com serviços em processo" #: core/managers/UserPrefsManager.py:293 msgid "Screen Size" @@ -1191,11 +1432,11 @@ msgstr "Detectar o plugin" msgid "Bypass plugin detection" msgstr "Deteção de plugin de desvio" -#: core/managers/UserServiceManager.py:331 +#: core/managers/UserServiceManager.py:217 msgid "Can't remove a non active element" msgstr "Não é possível remover um elemento não-ativo" -#: core/managers/UserServiceManager.py:344 +#: core/managers/UserServiceManager.py:230 #, python-brace-format msgid "Can't remove nor cancel {0} cause its states don't allow it" msgstr "Não pode remover nem cancelar {0} causa que seus Estados não permitem" @@ -1216,7 +1457,7 @@ msgstr "Relatório base" msgid "Base report" msgstr "Relatório base" -#: core/reports/tools/report.py:78 +#: core/reports/tools/report.py:81 msgid "Generated by UDS" msgstr "Gerado por UDS" @@ -1226,7 +1467,8 @@ msgstr "Serviço base" #: core/services/BaseService.py:122 core/services/BaseService.py:131 #: models/Permissions.py:79 models/Permissions.py:83 -#: services/Sample/SampleService.py:92 services/Sample/SampleService.py:98 +#: services/OpenStack/helpers.py:35 services/Sample/SampleService.py:92 +#: services/Sample/SampleService.py:98 #: services/TestService_enterprise/TestService.py:29 msgid "None" msgstr "Nenhum" @@ -1235,77 +1477,96 @@ msgstr "Nenhum" msgid "Base Clustered Service" msgstr "Base em Cluster Service" -#: core/util/State.py:64 +#: core/ui/UserInterface.py:86 +#, fuzzy +#| msgid "Canceled" +msgid "Advanced" +msgstr "Cancelado" + +#: core/ui/UserInterface.py:88 +#, fuzzy +#| msgid "Invalid credentials" +msgid "Credentials" +msgstr "Credenciais inválidas" + +#: core/ui/UserInterface.py:89 +#, fuzzy +#| msgid "Tunnel Server" +msgid "Tunnel" +msgstr "Servidor de túnel" + +#: core/util/State.py:64 core/util/states/common.py:63 msgid "Active" msgstr "Ativo" -#: core/util/State.py:65 +#: core/util/State.py:65 core/util/states/common.py:64 msgid "Inactive" msgstr "Inativo" -#: core/util/State.py:66 templates/uds/admin/tmpl/user.html:50 +#: core/util/State.py:66 core/util/states/common.py:65 +#: templates/uds/admin/tmpl/user.html:50 msgid "Blocked" msgstr "Bloqueado" -#: core/util/State.py:67 +#: core/util/State.py:67 core/util/states/common.py:66 msgid "Waiting publication" msgstr "Aguardando publicação" -#: core/util/State.py:68 +#: core/util/State.py:68 core/util/states/common.py:67 msgid "In preparation" msgstr "Em preparação" -#: core/util/State.py:69 +#: core/util/State.py:69 core/util/states/common.py:68 msgid "Valid" msgstr "Válido" -#: core/util/State.py:70 +#: core/util/State.py:70 core/util/states/common.py:69 msgid "Waiting for removal" msgstr "À espera de remoção" -#: core/util/State.py:71 +#: core/util/State.py:71 core/util/states/common.py:70 msgid "Removing" msgstr "Removendo" -#: core/util/State.py:72 +#: core/util/State.py:72 core/util/states/common.py:71 msgid "Removed" msgstr "Removido" -#: core/util/State.py:73 +#: core/util/State.py:73 core/util/states/common.py:72 msgid "Canceled" msgstr "Cancelado" -#: core/util/State.py:74 +#: core/util/State.py:74 core/util/states/common.py:73 msgid "Canceling" msgstr "Cancelando" -#: core/util/State.py:75 templates/uds/error.html:6 -#: templates/uds/error.html.py:11 templates/uds/html5/error.html:4 -#: templates/uds/html5/error.html.py:14 +#: core/util/State.py:75 core/util/states/common.py:74 +#: templates/uds/error.html:6 templates/uds/error.html.py:11 +#: templates/uds/html5/error.html:4 templates/uds/html5/error.html.py:14 msgid "Error" msgstr "Erro" -#: core/util/State.py:76 +#: core/util/State.py:76 core/util/states/common.py:75 msgid "Running" msgstr "Executando" -#: core/util/State.py:77 +#: core/util/State.py:77 core/util/states/common.py:76 msgid "Finished" msgstr "Terminou" -#: core/util/State.py:78 +#: core/util/State.py:78 core/util/states/common.py:77 msgid "Waiting execution" msgstr "À espera de execução" -#: core/util/State.py:79 +#: core/util/State.py:79 core/util/states/common.py:78 msgid "Balancing" msgstr "Balanceamento de" -#: core/util/State.py:80 +#: core/util/State.py:80 core/util/states/common.py:79 msgid "In maintenance" msgstr "Em manutenção" -#: core/util/State.py:81 +#: core/util/State.py:81 core/util/states/common.py:80 msgid "Waiting OS" msgstr "Esperando OS" @@ -1346,62 +1607,138 @@ msgstr "{0} contém caracteres inválidos" #: core/util/validators.py:114 msgid "" -"Invalid mac range. Mac range must be in format XX:XX:XX:XX:XX:XX-" -"XX:XX:XX:XX:XX:XX" -msgstr "Intervalo de mac inválido. Intervalo de Mac deve estar no formato XX:XX:XX:XX:XX:XX-XX:XX:XX:XX:XX: XX" +"Invalid mac range. Mac range must be in format XX:XX:XX:XX:XX:XX-XX:XX:XX:XX:" +"XX:XX" +msgstr "" +"Intervalo de mac inválido. Intervalo de Mac deve estar no formato XX:XX:XX:" +"XX:XX:XX-XX:XX:XX:XX:XX: XX" -#: dispatchers/wyse_enterprise/views.py:112 +#: dispatchers/wyse_enterprise/views.py:114 msgid "There are no authenticators available for login" msgstr "Não há nenhum autenticadores disponível para login" -#: dispatchers/wyse_enterprise/views.py:126 +#: dispatchers/wyse_enterprise/views.py:128 #, python-brace-format msgid "The authenticator {0} is not usable" msgstr "O autenticador {0} não é utilizável" -#: dispatchers/wyse_enterprise/views.py:133 +#: dispatchers/wyse_enterprise/views.py:135 web/views/login.py:115 msgid "Invalid credentials" msgstr "Credenciais inválidas" -#: dispatchers/wyse_enterprise/views.py:141 +#: dispatchers/wyse_enterprise/views.py:143 #, python-brace-format msgid "The domain {0} does not exists" msgstr "O domínio {0} não existe" -#: dispatchers/wyse_enterprise/views.py:202 +#: dispatchers/wyse_enterprise/views.py:204 msgid "No services available" msgstr "Nenhum serviço disponível" -#: dispatchers/wyse_enterprise/views.py:217 -#: dispatchers/wyse_enterprise/views.py:311 +#: dispatchers/wyse_enterprise/views.py:219 +#: dispatchers/wyse_enterprise/views.py:313 msgid "Invalid session" msgstr "Sessão inválida" -#: dispatchers/wyse_enterprise/views.py:221 -#: dispatchers/wyse_enterprise/views.py:315 +#: dispatchers/wyse_enterprise/views.py:223 +#: dispatchers/wyse_enterprise/views.py:317 msgid "Invalid authorization" msgstr "Autorização inválida" -#: dispatchers/wyse_enterprise/views.py:232 -#: dispatchers/wyse_enterprise/views.py:321 +#: dispatchers/wyse_enterprise/views.py:234 +#: dispatchers/wyse_enterprise/views.py:323 msgid "Invalid request" msgstr "Pedido inválido" -#: dispatchers/wyse_enterprise/views.py:235 -#: dispatchers/wyse_enterprise/views.py:324 +#: dispatchers/wyse_enterprise/views.py:237 +#: dispatchers/wyse_enterprise/views.py:326 msgid "Invalid credentials used" msgstr "Inválido credenciais usadas" -#: dispatchers/wyse_enterprise/views.py:273 web/errors.py:72 +#: dispatchers/wyse_enterprise/views.py:275 web/errors.py:73 msgid "Transport not found" msgstr "Transporte não encontrado" -#: dispatchers/wyse_enterprise/views.py:277 -#: dispatchers/wyse_enterprise/views.py:284 -#: dispatchers/wyse_enterprise/views.py:289 +#: dispatchers/wyse_enterprise/views.py:279 +#: dispatchers/wyse_enterprise/views.py:286 +#: dispatchers/wyse_enterprise/views.py:291 #: templates/uds/service_not_ready.html:6 msgid "Service not ready at this moment. Please, try again in a while." -msgstr "Serviço não está pronto, neste momento. Por favor, tente novamente em instantes." +msgstr "" +"Serviço não está pronto, neste momento. Por favor, tente novamente em " +"instantes." + +#: models/CalendarAction.py:58 +msgid "Publish" +msgstr "Publicar" + +#: models/CalendarAction.py:59 +msgid "Sets cache size" +msgstr "" + +#: models/CalendarAction.py:59 +msgid "Cache size" +msgstr "" + +#: models/CalendarAction.py:60 +msgid "Sets L2 cache size" +msgstr "" + +#: models/CalendarAction.py:60 +msgid "Cache L2 size" +msgstr "" + +#: models/CalendarAction.py:61 +msgid "Set initial services" +msgstr "" + +#: models/CalendarAction.py:61 +msgid "Initial services" +msgstr "" + +#: models/CalendarAction.py:62 +msgid "Change maximum number of services" +msgstr "" + +#: models/CalendarAction.py:62 +msgid "Maximum services" +msgstr "" + +#: models/CalendarRule.py:56 +msgid "Yearly" +msgstr "Anual" + +#: models/CalendarRule.py:57 +msgid "Monthly" +msgstr "Mensal" + +#: models/CalendarRule.py:58 +msgid "Weekly" +msgstr "Semanal" + +#: models/CalendarRule.py:59 +msgid "Daily" +msgstr "" + +#: models/CalendarRule.py:60 +msgid "Weekdays" +msgstr "Durante a semana" + +#: models/CalendarRule.py:78 +msgid "Minutes" +msgstr "Minutos" + +#: models/CalendarRule.py:79 +msgid "Hours" +msgstr "Horas" + +#: models/CalendarRule.py:80 +msgid "Days" +msgstr "Dias" + +#: models/CalendarRule.py:81 +msgid "Weeks" +msgstr "Semanas" #: models/Permissions.py:80 msgid "Read" @@ -1411,10 +1748,14 @@ msgstr "Leitura" msgid "Management" msgstr "Gestão" -#: models/Permissions.py:82 templates/uds/admin/tmpl/group.html:39 +#: models/Permissions.py:82 templates/uds/admin/tmpl/group.html.py:39 msgid "All" msgstr "Todos os" +#: models/ServicesPoolGroup.py:85 +msgid "General" +msgstr "" + #: osmanagers/LinuxOsManager/LinuxOsManager.py:51 msgid "Linux OS Manager" msgstr "Gerente de sistema operacional Linux" @@ -1423,7 +1764,9 @@ msgstr "Gerente de sistema operacional Linux" msgid "" "Os Manager to control linux virtual machines (basically renames machine and " "notify state)" -msgstr "Gerente de sistema operacional para controlar as máquinas virtuais linux (basicamente renomeia a máquina e Informe o estado)" +msgstr "" +"Gerente de sistema operacional para controlar as máquinas virtuais linux " +"(basicamente renomeia a máquina e Informe o estado)" #: osmanagers/LinuxOsManager/LinuxOsManager.py:59 #: osmanagers/WindowsOsManager/WindowsOsManager.py:50 @@ -1454,7 +1797,9 @@ msgstr "Tempo de Max.Idle" msgid "" "Maximum idle time (in seconds) before session is automaticatlly closed to " "the user (<= 0 means no max idle time)." -msgstr "Tempo ocioso máximo (em segundos) antes da sessão é automaticatlly fechado para o usuário (< = 0 significa que nenhum tempo ocioso máximo)." +msgstr "" +"Tempo ocioso máximo (em segundos) antes da sessão é automaticatlly fechado " +"para o usuário (< = 0 significa que nenhum tempo ocioso máximo)." #: osmanagers/LinuxOsManager/LinuxRandomPassOsManager.py:47 msgid "Linux Random Password OS Manager" @@ -1462,7 +1807,9 @@ msgstr "Gerenciador de sistema operacional Linux aleatória senha" #: osmanagers/LinuxOsManager/LinuxRandomPassOsManager.py:49 msgid "Os Manager to control linux machines, with user password set randomly." -msgstr "Gerente de sistema operacional para controle de máquinas em linux, com senha de usuário definida aleatoriamente." +msgstr "" +"Gerente de sistema operacional para controle de máquinas em linux, com senha " +"de usuário definida aleatoriamente." #: osmanagers/LinuxOsManager/LinuxRandomPassOsManager.py:53 #: osmanagers/WindowsOsManager/WinDomainOsManager.py:35 @@ -1482,20 +1829,23 @@ msgstr "Deve fornecer uma conta de usuário!!!" #: osmanagers/LinuxOsManager/__init__.py:49 msgid "" -"UDS Actor for Debian, Ubuntu, ... Linux machines (Requires python " -"2.7)" -msgstr "Ator UDS para Debian, Ubuntu,... Máquinas para Linux (requer python 2.7)" +"UDS Actor for Debian, Ubuntu, ... Linux machines (Requires python 2.7)" +msgstr "" +"Ator UDS para Debian, Ubuntu,... Máquinas para Linux (requer python 2.7)" #: osmanagers/LinuxOsManager/__init__.py:54 msgid "" "UDS Actor for Centos, Fedora, RH, ... Linux machines (Requires python " "2.7)" -msgstr "Ator UDS para Centos, Fedora, RH,... Linux máquinas (Requires python 2.7)" +msgstr "" +"Ator UDS para Centos, Fedora, RH,... Linux máquinas (Requires python " +"2.7)" #: osmanagers/LinuxOsManager/__init__.py:59 -msgid "" -"UDS Actor for openSUSE, ... Linux machines (Requires python 2.7)" -msgstr "Ator de UDS para openSUSE,... Máquinas para Linux (requer python 2.7)" +msgid "UDS Actor for openSUSE, ... Linux machines (Requires python 2.7)" +msgstr "" +"Ator de UDS para openSUSE,... Máquinas para Linux (requer python 2.7)" #: osmanagers/RDSOsManager_enterprise/RDSOsManager.py:31 msgid "RDS OS Manager" @@ -1513,7 +1863,9 @@ msgstr "Max. tempo de sessão" msgid "" "Maximum duration in hours for a session (0 means no limit). After this " "period, session will be released." -msgstr "Duração máxima de horas para uma sessão (0: não há limite). Depois disto período, sessão será lançado." +msgstr "" +"Duração máxima de horas para uma sessão (0: não há limite). Depois disto " +"período, sessão será lançado." #: osmanagers/RDSOsManager_enterprise/__init__.py:49 msgid "RDS UDS Actor (for remote apps on Windows Server 2012)" @@ -1527,10 +1879,14 @@ msgstr "Gerenciador de domínio do Windows sistema operacional" msgid "" "Os Manager to control windows machines with domain. (Basically renames " "machine)" -msgstr "Gerente de sistema operacional para controlar máquinas windows com domínio. (Basicamente renomeia máquina)" +msgstr "" +"Gerente de sistema operacional para controlar máquinas windows com domínio. " +"(Basicamente renomeia máquina)" #: osmanagers/WindowsOsManager/WinDomainOsManager.py:34 -#: transports/HTML5RDP/HTML5RDP.py:73 transports/RDP/BaseRDPTransport.py:65 +#: services/OpenStack/Provider.py:104 transports/HTML5RDP/HTML5RDP.py:73 +#: transports/PCoIP_enterprise/PCoIPTransport.py:60 +#: transports/RDP/BaseRDPTransport.py:65 #: transports/RDS_enterprise/BaseRDSTransport.py:68 #: transports/RGS_enterprise/RGSTransport.py:47 #: transports/RGS_enterprise/TRGSTransport.py:55 @@ -1539,7 +1895,9 @@ msgstr "Domínio" #: osmanagers/WindowsOsManager/WinDomainOsManager.py:34 msgid "Domain to join machines to (use FQDN form, Netbios name not allowed)" -msgstr "Domínio para juntar-se a máquinas para (use o formulário FQDN, nome Netbios não permitido)" +msgstr "" +"Domínio para juntar-se a máquinas para (use o formulário FQDN, nome Netbios " +"não permitido)" #: osmanagers/WindowsOsManager/WinDomainOsManager.py:35 msgid "Account with rights to add machines to domain" @@ -1557,7 +1915,9 @@ msgstr "UO" msgid "" "Organizational unit where to add machines in domain (check it before using " "it). i.e.: ou=My Machines,dc=mydomain,dc=local" -msgstr "Unidade organizacional onde adicionar máquinas no domínio (verifique isso antes de usar isso). ou seja: UO = My Machines, dc = mydomain, dc = local" +msgstr "" +"Unidade organizacional onde adicionar máquinas no domínio (verifique isso " +"antes de usar isso). ou seja: UO = My Machines, dc = mydomain, dc = local" #: osmanagers/WindowsOsManager/WinDomainOsManager.py:46 msgid "Must provide a domain!" @@ -1588,7 +1948,9 @@ msgstr "Verifique o erro: {0}" #: osmanagers/WindowsOsManager/WinDomainOsManager.py:148 #, python-brace-format msgid "Could not find server parameters (_ldap._tcp.{0} can't be resolved)" -msgstr "Não foi possível encontrar parâmetros de servidor (_ldap._tcp. {0} não pode ser resolvido)" +msgstr "" +"Não foi possível encontrar parâmetros de servidor (_ldap._tcp. {0} não pode " +"ser resolvido)" #: osmanagers/WindowsOsManager/WinDomainOsManager.py:157 msgid "Server check was successful" @@ -1625,7 +1987,9 @@ msgstr "Gerenciador de sistema operacional Windows aleatória senha" #: osmanagers/WindowsOsManager/WinRandomPassOsManager.py:28 msgid "" "Os Manager to control windows machines, with user password set randomly." -msgstr "Gerente de sistema operacional para controle de máquinas windows, com senha de usuário definida aleatoriamente." +msgstr "" +"Gerente de sistema operacional para controle de máquinas windows, com senha " +"de usuário definida aleatoriamente." #: osmanagers/WindowsOsManager/WinRandomPassOsManager.py:33 msgid "Current (template) password of the user account" @@ -1643,13 +2007,17 @@ msgstr "Windows básico OS Manager" msgid "" "Os Manager to control windows machines without domain. (Basically renames " "machine)" -msgstr "Gerente de sistema operacional para controlar máquinas windows sem domínio. (Basicamente renomeia máquina)" +msgstr "" +"Gerente de sistema operacional para controlar máquinas windows sem domínio. " +"(Basicamente renomeia máquina)" #: osmanagers/WindowsOsManager/WindowsOsManager.py:67 msgid "" "Maximum idle time (in seconds) before session is automaticatlly closed to " "the user (<= 0 means no max. idle time)" -msgstr "Tempo ocioso máximo (em segundos) antes da sessão é automaticatlly fechado para o usuário (< = 0 significa que nenhum tempo ocioso máx.)" +msgstr "" +"Tempo ocioso máximo (em segundos) antes da sessão é automaticatlly fechado " +"para o usuário (< = 0 significa que nenhum tempo ocioso máx.)" #: osmanagers/WindowsOsManager/WindowsOsManager.py:76 msgid "Length must be numeric!!" @@ -1676,7 +2044,7 @@ msgid "Real Name" msgstr "Nome real" #: reports/lists/users.py:112 templates/uds/admin/tmpl/permissions_add.html:5 -#: templates/uds/admin/tmpl/pool_add_group.html:5 web/forms/LoginForm.py:77 +#: templates/uds/admin/tmpl/pool_add_group.html:5 web/forms/LoginForm.py:62 msgid "Authenticator" msgstr "Autenticador" @@ -1723,18 +2091,22 @@ msgid "Report of user access to platform by date" msgstr "Relatório de acesso do usuário a plataforma por data" #: reports/stats/login.py:132 reports/stats/pool_performance.py:145 +#: reports/stats/usage_by_pool.py:105 msgid "Starting date" msgstr "Data de início" #: reports/stats/login.py:133 reports/stats/pool_performance.py:146 +#: reports/stats/usage_by_pool.py:106 msgid "starting date for report" msgstr "data inicial para o relatório" #: reports/stats/login.py:140 reports/stats/pool_performance.py:153 +#: reports/stats/usage_by_pool.py:113 msgid "Finish date" msgstr "Data de término" #: reports/stats/login.py:141 reports/stats/pool_performance.py:154 +#: reports/stats/usage_by_pool.py:114 msgid "finish date for report" msgstr "terminar a data para o relatório" @@ -1761,6 +2133,8 @@ msgid "Accesses by pool" msgstr "Acessos por piscina" #: reports/stats/pool_performance.py:104 reports/stats/pool_performance.py:366 +#: reports/stats/usage_by_pool.py:98 +#: templates/uds/admin/tmpl/service-info.html:22 msgid "Pool" msgstr "Piscina" @@ -1812,29 +2186,62 @@ msgstr "Estatísticas de uso" msgid "Statistics of platform use" msgstr "Estatísticas de utilização da plataforma" +#: reports/stats/usage_by_pool.py:72 +msgid "Access Datetime" +msgstr "" + +#: reports/stats/usage_by_pool.py:74 +msgid "Duration(seconds)" +msgstr "" + +#: reports/stats/usage_by_pool.py:91 +msgid "Pools usage by users" +msgstr "" + +#: reports/stats/usage_by_pool.py:92 +msgid "Pools usage by user report" +msgstr "" + +#: reports/stats/usage_by_pool.py:99 +msgid "Pool for report" +msgstr "" + +#: reports/stats/usage_by_pool.py:167 +msgid "Users usage list for {}" +msgstr "" + +#: reports/stats/usage_by_pool.py:189 +msgid "Date" +msgstr "Data" + +#: reports/stats/usage_by_pool.py:189 +msgid "Seconds" +msgstr "" + #: services/HyperV_enterprise/HyperVClusterLinkedService.py:51 msgid "HyperV Cluster Linked Clone (Experimental)" msgstr "Cluster Hyper-v ligada Clone (Experimental)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:55 #: services/HyperV_enterprise/HyperVLinkedService.py:59 -msgid "" -"Hyper Services based on templates and differential disks (experimental)" -msgstr "Hiper serviços baseados em modelos e discos diferenciais (experimentais)" +msgid "Hyper Services based on templates and differential disks (experimental)" +msgstr "" +"Hiper serviços baseados em modelos e discos diferenciais (experimentais)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVLinkedService.py:76 #: services/OVirt/OVirtLinkedService.py:77 #: services/TestService_enterprise/TestService.py:27 -#: services/Vmware_enterprise/VCLinkedCloneService.py:39 #: services/Xen/XenLinkedService.py:77 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 usuário" +msgstr "" +"Número de máquinas desejados para continuar funcionando à espera de um " +"usuário" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:78 #: services/HyperV_enterprise/HyperVLinkedService.py:82 -#: services/OVirt/OVirtLinkedService.py:83 -#: services/Vmware_enterprise/VCLinkedCloneService.py:41 +#: services/OVirt/OVirtLinkedService.py:83 services/OpenStack/LiveService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:42 #: services/Xen/XenLinkedService.py:83 msgid "Number of desired machines to keep suspended waiting for use" msgstr "Número de máquinas desejados manter suspenso à espera de uso" @@ -1842,7 +2249,7 @@ msgstr "Número de máquinas desejados manter suspenso à espera de uso" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:94 #: services/HyperV_enterprise/HyperVLinkedService.py:100 #: services/OVirt/OVirtLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:73 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 #: services/Xen/XenLinkedService.py:102 msgid "Base Machine" msgstr "Máquina base" @@ -1857,30 +2264,32 @@ msgstr "Máquina base de serviço" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:95 #: services/HyperV_enterprise/HyperVLinkedService.py:101 -#: services/Vmware_enterprise/VCLinkedCloneService.py:61 +#: services/OpenStack/LiveService.py:118 +#: services/Vmware_enterprise/VCLinkedCloneService.py:84 #: services/Xen/XenLinkedService.py:107 msgid "Network" msgstr "Rede" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:96 #: services/HyperV_enterprise/HyperVLinkedService.py:102 -#: services/Vmware_enterprise/VCLinkedCloneService.py:62 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 msgid "" -"If more than 1 interface is found in machine, use one on this network as " -"main" -msgstr "Se mais de 1 relação encontra-se na máquina, utilize um nesta rede como principal" +"If more than 1 interface is found in machine, use one on this network as main" +msgstr "" +"Se mais de 1 relação encontra-se na máquina, utilize um nesta rede como " +"principal" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/OVirt/OVirtLinkedService.py:130 -#: services/Vmware_enterprise/VCLinkedCloneService.py:74 +#: services/Vmware_enterprise/VCLinkedCloneService.py:82 #: services/Xen/XenLinkedService.py:112 msgid "Memory (Mb)" msgstr "Memória (Mb)" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:99 #: services/HyperV_enterprise/HyperVLinkedService.py:105 -#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 msgid "Memory for machines deployed from this service" msgstr "Memória para máquinas implantado a partir deste serviço" @@ -1897,14 +2306,16 @@ msgstr "Armazenamentos de dados onde colocar incrementais & publicações" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 #: services/OVirt/OVirtLinkedService.py:150 -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 +#: services/OpenNebula/LiveService.py:99 services/OpenStack/LiveService.py:124 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 #: services/Xen/XenLinkedService.py:118 msgid "Machine Names" msgstr "Nomes de máquina" #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVLinkedService.py:110 -#: services/Vmware_enterprise/VCLinkedCloneService.py:80 +#: services/OpenStack/LiveService.py:127 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 msgid "Base name for clones from this machine" msgstr "Nome de base para clones desta máquina" @@ -1912,7 +2323,8 @@ msgstr "Nome de base para clones desta máquina" #: services/HyperV_enterprise/HyperVLinkedService.py:112 #: services/Nutanix_enterprise/NutanixService.py:66 #: services/OVirt/OVirtLinkedService.py:159 -#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/OpenNebula/LiveService.py:108 services/OpenStack/LiveService.py:134 +#: services/Vmware_enterprise/VCLinkedCloneService.py:90 #: services/Xen/XenLinkedService.py:120 msgid "Name Length" msgstr "Comprimento do nome do" @@ -1921,7 +2333,8 @@ msgstr "Comprimento do nome do" #: services/HyperV_enterprise/HyperVLinkedService.py:113 #: services/Nutanix_enterprise/NutanixService.py:69 #: services/OVirt/OVirtLinkedService.py:162 -#: services/Vmware_enterprise/VCLinkedCloneService.py:82 +#: services/OpenNebula/LiveService.py:111 services/OpenStack/LiveService.py:137 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 msgid "Size of numeric part for the names of these machines (between 3 and 6)" msgstr "Tamanho da parte numérica para os nomes destas máquinas (entre 3 e 6)" @@ -1929,7 +2342,8 @@ msgstr "Tamanho da parte numérica para os nomes destas máquinas (entre 3 e 6)" #: services/HyperV_enterprise/HyperVLinkedService.py:125 #: services/Nutanix_enterprise/NutanixService.py:87 #: services/OVirt/OVirtLinkedService.py:191 -#: services/Vmware_enterprise/VCLinkedCloneService.py:100 +#: services/OpenNebula/LiveService.py:125 services/OpenStack/LiveService.py:155 +#: services/Vmware_enterprise/VCLinkedCloneService.py:110 #: services/Xen/XenLinkedService.py:133 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" @@ -1938,7 +2352,8 @@ msgstr "O comprimento de basename mais comprimento não deve ser superior a 15" #: services/HyperV_enterprise/HyperVLinkedService.py:127 #: services/Nutanix_enterprise/NutanixService.py:89 #: services/OVirt/OVirtLinkedService.py:193 -#: services/Vmware_enterprise/VCLinkedCloneService.py:102 +#: services/OpenNebula/LiveService.py:127 services/OpenStack/LiveService.py:157 +#: services/Vmware_enterprise/VCLinkedCloneService.py:112 #: services/Xen/XenLinkedService.py:135 msgid "The machine name can't be only numbers" msgstr "O nome da máquina não pode ser apenas números" @@ -1954,7 +2369,9 @@ msgstr "Provedor de serviço de Cluster Hyper-v" #: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVProvider.py:83 msgid "HyperV Server IP or Hostname (must enable first WSMAN access)" -msgstr "Hyper-v Server IP ou nome do host (habilite o primeiro acesso do WS-Management)" +msgstr "" +"Hyper-v Server IP ou nome do host (habilite o primeiro acesso do WS-" +"Management)" #: services/HyperV_enterprise/HyperVClusterProvider.py:90 #: services/HyperV_enterprise/HyperVProvider.py:84 @@ -1972,22 +2389,22 @@ msgid "Password of the user of HyperV" msgstr "Senha do usuário do Hyper-v" #: services/HyperV_enterprise/HyperVClusterProvider.py:93 -#: services/HyperV_enterprise/HyperVProvider.py:87 +#: services/HyperV_enterprise/HyperVProvider.py:91 msgid "Timeout in seconds of connection to HyperV" msgstr "Tempo limite em segundos de conexão com o Hyper-v" #: services/HyperV_enterprise/HyperVClusterProvider.py:94 -#: services/HyperV_enterprise/HyperVProvider.py:88 -#: services/Nutanix_enterprise/NutanixProvider.py:42 -#: services/OVirt/OVirtProvider.py:100 -#: services/Vmware_enterprise/ServiceProviderVC.py:34 -#: services/Xen/XenProvider.py:101 +#: services/HyperV_enterprise/HyperVProvider.py:92 +#: services/Nutanix_enterprise/NutanixProvider.py:46 +#: services/OVirt/OVirtProvider.py:104 +#: services/Vmware_enterprise/ServiceProviderVC.py:39 +#: services/Xen/XenProvider.py:105 msgid "Macs range" msgstr "Gama de Macs" #: services/HyperV_enterprise/HyperVClusterProvider.py:95 -#: services/HyperV_enterprise/HyperVProvider.py:89 -#: services/Xen/XenProvider.py:102 +#: services/HyperV_enterprise/HyperVProvider.py:93 +#: services/Xen/XenProvider.py:106 msgid "Range of valid macs for created machines" msgstr "Gama de macs válidos para máquinas criadas" @@ -1996,22 +2413,22 @@ msgid "The selected server is not a cluster" msgstr "O servidor selecionado não é um cluster" #: services/HyperV_enterprise/HyperVClusterProvider.py:299 -#: services/HyperV_enterprise/HyperVProvider.py:255 -#: services/Xen/XenProvider.py:392 +#: services/HyperV_enterprise/HyperVProvider.py:259 +#: services/Xen/XenProvider.py:396 msgid "Connection test successful" msgstr "Teste de conexão bem sucedida" #: services/HyperV_enterprise/HyperVClusterProvider.py:300 -#: services/HyperV_enterprise/HyperVProvider.py:256 -#: services/Nutanix_enterprise/NutanixProvider.py:168 -#: services/OVirt/OVirtProvider.py:417 -#: services/Vmware_enterprise/ServiceProviderVC.py:123 +#: services/HyperV_enterprise/HyperVProvider.py:260 +#: services/Nutanix_enterprise/NutanixProvider.py:172 +#: services/OVirt/OVirtProvider.py:427 +#: services/Vmware_enterprise/ServiceProviderVC.py:141 msgid "Connection failed. Check connection params" msgstr "Falhado na conexão. Verifique a conexão params" #: services/HyperV_enterprise/HyperVClusterPublication.py:97 #: services/HyperV_enterprise/HyperVPublication.py:96 -#: services/OVirt/OVirtPublication.py:90 services/Xen/XenPublication.py:87 +#: services/OVirt/OVirtPublication.py:90 services/Xen/XenPublication.py:94 #, python-brace-format msgid "UDS pub for {0} at {1}" msgstr "Pub UDS por {0} em {1}" @@ -2040,6 +2457,39 @@ msgstr "Provedor de plataforma do Hyper-v (experimental)" msgid "HyperV platform service provider (experimental)" msgstr "Provedor de serviços de plataforma Hyper-v (experimental)" +#: services/HyperV_enterprise/HyperVProvider.py:88 +#: services/Nutanix_enterprise/NutanixProvider.py:42 +#: services/OVirt/OVirtProvider.py:100 services/OpenNebula/Provider.py:104 +#: services/OpenStack/Provider.py:108 +#: services/Vmware_enterprise/ServiceProviderVC.py:35 +#: services/Vmware_enterprise/ServiceProviderVC.py:80 +#: services/Xen/XenProvider.py:102 +msgid "Creation concurrency" +msgstr "" + +#: services/HyperV_enterprise/HyperVProvider.py:88 +#: services/HyperV_enterprise/HyperVProvider.py:89 +#: services/Nutanix_enterprise/NutanixProvider.py:42 +#: services/Nutanix_enterprise/NutanixProvider.py:43 +#: services/OVirt/OVirtProvider.py:100 services/OVirt/OVirtProvider.py:101 +#: services/OpenNebula/Provider.py:104 services/OpenNebula/Provider.py:105 +#: services/OpenStack/Provider.py:108 services/OpenStack/Provider.py:109 +#: services/Vmware_enterprise/ServiceProviderVC.py:35 +#: services/Vmware_enterprise/ServiceProviderVC.py:36 +#: services/Xen/XenProvider.py:102 services/Xen/XenProvider.py:103 +msgid "Maximum number of concurrently removing VMs" +msgstr "" + +#: services/HyperV_enterprise/HyperVProvider.py:89 +#: services/Nutanix_enterprise/NutanixProvider.py:43 +#: services/OVirt/OVirtProvider.py:101 services/OpenNebula/Provider.py:105 +#: services/OpenStack/Provider.py:109 +#: services/Vmware_enterprise/ServiceProviderVC.py:36 +#: services/Vmware_enterprise/ServiceProviderVC.py:81 +#: services/Xen/XenProvider.py:103 +msgid "Removal concurrency" +msgstr "" + #: services/Nutanix_enterprise/NutanixProvider.py:31 msgid "Nutanix Acropolis Provider (Experimental)" msgstr "Provedor de Nutanix Acrópole (Experimental)" @@ -2064,16 +2514,16 @@ msgstr "Usuário com privilégios válidos na acrópole de Nutanix" msgid "Password of the user of Nutanix Acropolis" msgstr "Senha do usuário do Nutanix Acrópole" -#: services/Nutanix_enterprise/NutanixProvider.py:41 +#: services/Nutanix_enterprise/NutanixProvider.py:44 msgid "Timeout in seconds of connection to Nutanix" msgstr "Tempo limite em segundos de conexão para Nutanix" -#: services/Nutanix_enterprise/NutanixProvider.py:43 -#: services/OVirt/OVirtProvider.py:101 +#: services/Nutanix_enterprise/NutanixProvider.py:47 +#: services/OVirt/OVirtProvider.py:105 msgid "Range of valid macs for UDS managed machines" msgstr "Gama de macs válidos para UDS gerenciado máquinas" -#: services/Nutanix_enterprise/NutanixProvider.py:166 +#: services/Nutanix_enterprise/NutanixProvider.py:170 msgid "Connection works fine" msgstr "Conexão funciona bem" @@ -2094,8 +2544,8 @@ msgid "" "Networks for the machines (every machine will be attached to this networks, " "each one with its own interface)" msgstr "" -"Redes para as máquinas (cada máquina será anexada a este redes, " -"cada um com sua própria interface)" +"Redes para as máquinas (cada máquina será anexada a este redes, cada um com " +"sua própria interface)" #: services/Nutanix_enterprise/NutanixService.py:57 msgid "Vm Names" @@ -2123,7 +2573,8 @@ msgstr "Domínio do armazenamento de dados" #: services/OVirt/OVirtLinkedService.py:116 msgid "Datastore domain where to publish and put incrementals" -msgstr "Armazenamento de dados domínio onde publicar e colocar backups incrementais" +msgstr "" +"Armazenamento de dados domínio onde publicar e colocar backups incrementais" #: services/OVirt/OVirtLinkedService.py:135 #: services/Xen/XenLinkedService.py:113 @@ -2138,10 +2589,6 @@ msgstr "Garantidas (Mb) de memória" msgid "Physical memory guaranteed to machines" msgstr "Memória física a garantia de máquinas" -#: services/OVirt/OVirtLinkedService.py:167 -msgid "Display" -msgstr "Exposição" - #: services/OVirt/OVirtLinkedService.py:170 msgid "Display type (only for administration purposes)" msgstr "Tipo de exposição (apenas para fins de administração)" @@ -2165,29 +2612,227 @@ msgstr "oVirt Server IP ou nome do host" #: services/OVirt/OVirtProvider.py:97 msgid "User with valid privileges on oVirt, (use \"user@domain\" form)" -msgstr "Usuário com privilégios válidos no oVirt, (forma de \"user@domain\" de uso)" +msgstr "" +"Usuário com privilégios válidos no oVirt, (forma de \"user@domain\" de uso)" #: services/OVirt/OVirtProvider.py:98 msgid "Password of the user of oVirt" msgstr "Senha do usuário do oVirt" -#: services/OVirt/OVirtProvider.py:99 +#: services/OVirt/OVirtProvider.py:103 msgid "Timeout in seconds of connection to oVirt" msgstr "Tempo limite em segundos de conexão para oVirt" +#: services/OpenNebula/LiveService.py:55 +msgid "OpenNebula Live Images" +msgstr "" + +#: services/OpenNebula/LiveService.py:59 +msgid "OpenNebula live images bases service" +msgstr "" + +#: services/OpenNebula/LiveService.py:76 services/OpenStack/LiveService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:40 +msgid "Number of desired machines to keep running waiting for an user" +msgstr "" + +#: services/OpenNebula/LiveService.py:95 +msgid "Base Template" +msgstr "" + +#: services/OpenNebula/LiveService.py:95 +msgid "Service base template" +msgstr "" + +#: services/OpenNebula/LiveService.py:96 +msgid "Datastore" +msgstr "" + +#: services/OpenNebula/LiveService.py:96 +msgid "Service clones datastore" +msgstr "" + +#: services/OpenNebula/Provider.py:79 +msgid "OpenNebula Platform Provider" +msgstr "" + +#: services/OpenNebula/Provider.py:83 +msgid "OpenNebula platform service provider" +msgstr "" + +#: services/OpenNebula/Provider.py:98 +msgid "OpenNebula Host" +msgstr "" + +#: services/OpenNebula/Provider.py:99 +msgid "OpenNebula Port (default is 2633 for non ssl connection)" +msgstr "" + +#: services/OpenNebula/Provider.py:100 services/OpenStack/Provider.py:100 +msgid "" +"If checked, the connection will be forced to be ssl (will not work if server " +"is not providing ssl)" +msgstr "" + +#: services/OpenNebula/Provider.py:101 +msgid "User with valid privileges on OpenNebula" +msgstr "" + +#: services/OpenNebula/Provider.py:102 +msgid "Password of the user of OpenNebula" +msgstr "" + +#: services/OpenNebula/Provider.py:107 +msgid "Timeout in seconds of connection to OpenNebula" +msgstr "" + +#: services/OpenNebula/Provider.py:157 +msgid "Opennebula test connection passed" +msgstr "" + +#: services/OpenStack/LiveService.py:57 +msgid "OpenStack Live Volume" +msgstr "" + +#: services/OpenStack/LiveService.py:61 +msgid "OpenStack live images bases service" +msgstr "" + +#: services/OpenStack/LiveService.py:99 +msgid "Region" +msgstr "" + +#: services/OpenStack/LiveService.py:99 +msgid "Service region" +msgstr "" + +#: services/OpenStack/LiveService.py:100 +msgid "Project" +msgstr "" + +#: services/OpenStack/LiveService.py:106 +msgid "Project for this service" +msgstr "" + +#: services/OpenStack/LiveService.py:108 +msgid "Availability Zones" +msgstr "" + +#: services/OpenStack/LiveService.py:114 +msgid "Service availability zones" +msgstr "" + +#: services/OpenStack/LiveService.py:116 +msgid "Volume" +msgstr "" + +#: services/OpenStack/LiveService.py:116 +msgid "Base volume for service (restricted by availability zone)" +msgstr "" + +#: services/OpenStack/LiveService.py:116 services/OpenStack/LiveService.py:118 +#: services/OpenStack/LiveService.py:119 services/OpenStack/LiveService.py:121 +#: services/OpenStack/LiveService.py:129 services/OpenStack/LiveService.py:139 +#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +#: services/Vmware_enterprise/VCLinkedCloneService.py:83 +#: services/Vmware_enterprise/VCLinkedCloneService.py:85 +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 +#: services/Vmware_enterprise/VCLinkedCloneService.py:89 +#: services/Vmware_enterprise/VCLinkedCloneService.py:91 +#, fuzzy +#| msgid "Base Machine" +msgid "Machine" +msgstr "Máquina base" + +#: services/OpenStack/LiveService.py:118 +msgid "Network to attach to this service" +msgstr "" + +#: services/OpenStack/LiveService.py:119 +msgid "Flavor" +msgstr "" + +#: services/OpenStack/LiveService.py:119 +msgid "Flavor for service" +msgstr "" + +#: services/OpenStack/LiveService.py:121 +msgid "Security Groups" +msgstr "" + +#: services/OpenStack/LiveService.py:121 +msgid "Service security groups" +msgstr "" + +#: services/OpenStack/Provider.py:79 +msgid "OpenStack Platform Provider" +msgstr "" + +#: services/OpenStack/Provider.py:83 +msgid "OpenStack platform service provider" +msgstr "" + +#: services/OpenStack/Provider.py:98 +msgid "OpenStack Host" +msgstr "" + +#: services/OpenStack/Provider.py:99 +msgid "OpenStack Port" +msgstr "" + +#: services/OpenStack/Provider.py:102 +msgid "Access interface" +msgstr "" + +#: services/OpenStack/Provider.py:102 +msgid "Access interface to be used" +msgstr "" + +#: services/OpenStack/Provider.py:104 +msgid "Domain name (default is Default)" +msgstr "" + +#: services/OpenStack/Provider.py:105 +msgid "User with valid privileges on OpenStack" +msgstr "" + +#: services/OpenStack/Provider.py:106 +msgid "Password of the user of OpenStack" +msgstr "" + +#: services/OpenStack/Provider.py:111 +msgid "Timeout in seconds of connection to OpenStack" +msgstr "" + +#: services/OpenStack/Provider.py:155 +msgid "OpenStack test connection passed" +msgstr "" + +#: services/OpenStack/openStack/UDSOpenStackClient.py:610 +msgid "Authentication error" +msgstr "" + +#: services/OpenStack/openStack/UDSOpenStackClient.py:612 +msgid "" +"Openstack does not support identity API 3.2 or newer. This OpenStack server " +"is not compatible with UDS." +msgstr "" + #: services/PhysicalMachines/IPMachineDeployed.py:58 msgid "IP " msgstr "IP " -#: services/PhysicalMachines/IPMachinesService.py:49 +#: services/PhysicalMachines/IPMachinesService.py:48 msgid "List of IPS" msgstr "Lista de IPS" -#: services/PhysicalMachines/IPMachinesService.py:52 +#: services/PhysicalMachines/IPMachinesService.py:51 msgid "Physical machines accessed by ip" msgstr "Máquinas físicas, acessadas por ip" -#: services/PhysicalMachines/IPMachinesService.py:54 +#: services/PhysicalMachines/IPMachinesService.py:53 msgid "This service provides access to POWERED-ON Machines by ip" msgstr "Este serviço fornece acesso a POWERED-ON máquinas por ip" @@ -2216,9 +2861,9 @@ msgid "Default password for users in list mapping" msgstr "Senha padrão para os usuários em mapeamento da lista" #: services/RDS_enterprise/RDSProvider.py:59 -msgid "" -"Error: User {} on host {} is being used and cannot be removed right now" -msgstr "Erro: O usuário {} em {} host está sendo usado e não pode ser removido agora" +msgid "Error: User {} on host {} is being used and cannot be removed right now" +msgstr "" +"Erro: O usuário {} em {} host está sendo usado e não pode ser removido agora" #: services/RDS_enterprise/RDSProvider.py:89 #: services/Sample/SampleProvider.py:178 @@ -2399,90 +3044,102 @@ msgstr "Usuário com privilégios válidos em VC" msgid "Password of the user of the VC" msgstr "Senha do usuário do VC" -#: services/Vmware_enterprise/ServiceProviderVC.py:33 +#: services/Vmware_enterprise/ServiceProviderVC.py:38 msgid "Timeout in seconds of connection to VC" msgstr "Tempo limite em segundos de conexão para VC" -#: services/Vmware_enterprise/ServiceProviderVC.py:35 +#: services/Vmware_enterprise/ServiceProviderVC.py:40 msgid "" "Range of valid macs for created machines. Must be inside " "00:50:56:00:00:00-00:50:56:3F:FF:FF" -msgstr "Gama de macs válidos para máquinas criadas. Deve estar lá dentro 00:50:56:00:00:00-00:50:56:3F:FF:FF" +msgstr "" +"Gama de macs válidos para máquinas criadas. Deve estar lá dentro " +"00:50:56:00:00:00-00:50:56:3F:FF:FF" -#: services/Vmware_enterprise/ServiceProviderVC.py:40 +#: services/Vmware_enterprise/ServiceProviderVC.py:46 msgid "VMWare Virtual Center Provider" msgstr "VMWare Virtual Center provedor" -#: services/Vmware_enterprise/ServiceProviderVC.py:42 +#: services/Vmware_enterprise/ServiceProviderVC.py:48 msgid "Provides connection to Virtual Center Services" msgstr "Fornece a conexão ao Virtual Center serviços" -#: services/Vmware_enterprise/ServiceProviderVC.py:116 +#: services/Vmware_enterprise/ServiceProviderVC.py:132 msgid "VmwareVC Provider: " msgstr "Provedor de VmwareVC: " -#: services/Vmware_enterprise/ServiceProviderVC.py:122 +#: services/Vmware_enterprise/ServiceProviderVC.py:139 msgid "Connection params ok" msgstr "Conexão params ok" -#: services/Vmware_enterprise/VCLinkedCloneService.py:31 +#: services/Vmware_enterprise/VCLinkedCloneService.py:32 msgid "VMWare Linked clone base" msgstr "Base de clones vinculados da VMWare" -#: services/Vmware_enterprise/VCLinkedCloneService.py:33 +#: services/Vmware_enterprise/VCLinkedCloneService.py:34 msgid "" "This service provides access to Linked Clones machines on a Virtual Center" -msgstr "Este serviço fornece acesso a máquinas de Clones vinculados em um Virtual Center" +msgstr "" +"Este serviço fornece acesso a máquinas de Clones vinculados em um Virtual " +"Center" -#: services/Vmware_enterprise/VCLinkedCloneService.py:53 +#: services/Vmware_enterprise/VCLinkedCloneService.py:54 msgid "Datacenter" msgstr "Datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:59 +#: services/Vmware_enterprise/VCLinkedCloneService.py:60 msgid "Datacenter containing base machine" msgstr "Máquina de base contendo datacenter" -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Pub. Resource Pool" msgstr "Pub. Pool de recursos" -#: services/Vmware_enterprise/VCLinkedCloneService.py:63 +#: services/Vmware_enterprise/VCLinkedCloneService.py:62 msgid "Resource Pool where deploy clones" msgstr "Pool de recursos onde implantar clones" #: services/Vmware_enterprise/VCLinkedCloneService.py:64 -msgid "Clones Folder" -msgstr "Pasta de clones" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:64 -msgid "Folder where deploy clones" -msgstr "Pasta onde implantar clones" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:65 -msgid "Resource Pool" -msgstr "Pool de recursos" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:71 -msgid "Resource Pool containing base machine" -msgstr "Máquina contendo base Pool de recursos" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:73 -msgid "Base machine for this service" -msgstr "Máquina de base para este serviço" - -#: services/Vmware_enterprise/VCLinkedCloneService.py:76 msgid "Pub.Datastores" msgstr "Pub.Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:77 +#: services/Vmware_enterprise/VCLinkedCloneService.py:65 msgid "Datastores where to put publications" msgstr "Armazenamentos de dados onde colocar publicações" -#: services/Vmware_enterprise/VCLinkedCloneService.py:78 +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 +msgid "Remove found duplicates" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:67 +msgid "If active, found duplicates clones for this service will be removed" +msgstr "" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:69 +msgid "Resource Pool" +msgstr "Pool de recursos" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:75 +msgid "Resource Pool containing base machine" +msgstr "Máquina contendo base Pool de recursos" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:81 +msgid "Base machine for this service" +msgstr "Máquina de base para este serviço" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Clones Folder" +msgstr "Pasta de clones" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:86 +msgid "Folder where deploy clones" +msgstr "Pasta onde implantar clones" + +#: services/Vmware_enterprise/VCLinkedCloneService.py:87 msgid "Inc.Datastores" msgstr "Inc.Datastores" -#: services/Vmware_enterprise/VCLinkedCloneService.py:79 +#: services/Vmware_enterprise/VCLinkedCloneService.py:88 msgid "Datastores where to put incrementals" msgstr "Armazenamentos de dados onde colocar backups incrementais" @@ -2516,7 +3173,8 @@ msgstr "Sombra memória multiplicador (overcommit de memória)" #: services/Xen/XenLinkedService.py:121 msgid "Length of numeric part for the names of this machines (beetwen 3 and 6" -msgstr "Comprimento da parte numérica para os nomes desta máquinas (beetwen 3 e 6" +msgstr "" +"Comprimento da parte numérica para os nomes desta máquinas (beetwen 3 e 6" #: services/Xen/XenProvider.py:79 msgid "Xenserver Platform Provider" @@ -2538,22 +3196,24 @@ msgstr "Usuário com privilégios válidos no XenServer" msgid "Password of the user of XenServer" msgstr "Senha do usuário do XenServer" -#: services/Xen/XenProvider.py:103 +#: services/Xen/XenProvider.py:107 msgid "Verify Certificate" msgstr "Verificar certificado" -#: services/Xen/XenProvider.py:104 +#: services/Xen/XenProvider.py:108 msgid "" "If selected, certificate will be checked against system valid certificate " "providers" -msgstr "Se selecionado, certificado será verificado contra certificado válido do sistema provedores" +msgstr "" +"Se selecionado, certificado será verificado contra certificado válido do " +"sistema provedores" -#: services/Xen/XenProvider.py:394 +#: services/Xen/XenProvider.py:398 #, python-brace-format msgid "Connection failed: {0}" msgstr "Falhado na conexão: {0}" -#: templates/404.html:3 templates/500.html:3 +#: templates/404.html:3 templates/500.html.py:3 msgid "Page not found" msgstr "Página não encontrada" @@ -2561,64 +3221,148 @@ msgstr "Página não encontrada" msgid "Toggle navigation" msgstr "Navegação toggle" -#: templates/uds/admin/snippets/navbar.html:20 +#: templates/uds/admin/snippets/navbar.html:21 +#: templates/uds/admin/tmpl/authenticators.html:30 +#: templates/uds/admin/tmpl/connectivity.html:33 #: templates/uds/admin/tmpl/dashboard.html:5 +#: templates/uds/admin/tmpl/osmanagers.html:31 +#: templates/uds/admin/tmpl/providers.html:30 +#: templates/uds/admin/tmpl/service-info.html:4 +#: templates/uds/admin/tmpl/services_pool.html:30 msgid "Overview" msgstr "Visão geral" -#: templates/uds/admin/snippets/navbar.html:22 +#: templates/uds/admin/snippets/navbar.html:23 #: templates/uds/admin/tmpl/authenticators.html:4 #: templates/uds/admin/tmpl/authenticators.html:7 msgid "Authenticators" msgstr "Autenticadores" -#: templates/uds/admin/snippets/navbar.html:24 +#: templates/uds/admin/snippets/navbar.html:25 #: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/connectivity.html:7 msgid "Connectivity" msgstr "Conectividade" -#: templates/uds/admin/snippets/navbar.html:31 +#: templates/uds/admin/snippets/navbar.html:30 +msgid "Tools" +msgstr "" + +#: templates/uds/admin/snippets/navbar.html:32 #: templates/uds/admin/tmpl/gallery.html:8 +#: templates/uds/admin/tmpl/services_pool_groups.html:8 msgid "Gallery" msgstr "Galeria" -#: templates/uds/admin/snippets/navbar.html:32 +#: templates/uds/admin/snippets/navbar.html:33 +msgid "Services Pool Group" +msgstr "" + +#: templates/uds/admin/snippets/navbar.html:34 #: templates/uds/admin/tmpl/reports.html:4 #: templates/uds/admin/tmpl/reports.html:7 msgid "Reports" msgstr "Relatórios" -#: templates/uds/admin/snippets/navbar.html:33 +#: templates/uds/admin/snippets/navbar.html:35 #: templates/uds/admin/tmpl/configuration.html:7 msgid "Configuration" msgstr "Configuração" -#: templates/uds/admin/snippets/navbar.html:34 +#: templates/uds/admin/snippets/navbar.html:36 msgid "Flush cache" msgstr "Liberar cache" -#: templates/uds/admin/snippets/navbar.html:66 +#: templates/uds/admin/snippets/navbar.html:69 msgid "User mode" msgstr "Modo de usuário" -#: templates/uds/admin/snippets/navbar.html:67 +#: templates/uds/admin/snippets/navbar.html:70 #: templates/uds/html5/snippets/navbar.html:55 msgid "Logout" msgstr "Logout" -#: templates/uds/admin/tmpl/authenticators.html:32 -#: templates/uds/admin/tmpl/providers.html:31 -#: templates/uds/admin/tmpl/services_pool.html:35 +#: templates/uds/admin/tmpl/authenticators.html:33 +#: templates/uds/admin/tmpl/providers.html:32 +#: templates/uds/admin/tmpl/service-info.html:6 +#: templates/uds/admin/tmpl/services_pool.html:38 msgid "Logs" msgstr "Logs" +#: templates/uds/admin/tmpl/calendar_rule.html:7 +msgid "Name of this rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:14 +msgid "Comments for this rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:16 +msgid "Rule comments" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:22 +msgid "Event" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:24 +msgid "Starting hour" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:34 +msgid "Duration for this rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:53 +msgid "Repeat" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:55 +msgid "Starting date for repeating" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:64 +msgid "End date" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:73 +msgid "Frequency for this rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:84 +msgid "Repeat interval for this rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:84 +msgid "Repeat every" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:86 +msgid "Repeat interval for rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:91 +msgid "Weekdays for this rule" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:91 +msgid "Repeat on" +msgstr "" + +#: templates/uds/admin/tmpl/calendar_rule.html:105 +msgid "Summary" +msgstr "" + +#: templates/uds/admin/tmpl/calendars.html:30 +msgid "Rules" +msgstr "" + #: templates/uds/admin/tmpl/comp/modal.html:19 msgid "Close" msgstr "Fechar" #: templates/uds/admin/tmpl/comp/modal.html:26 -#: templates/uds/admin/tmpl/configuration.html:78 +#: templates/uds/admin/tmpl/configuration.html:72 msgid "Save" msgstr "Salvar" @@ -2628,12 +3372,14 @@ msgstr "Configuração de UDS" #: templates/uds/admin/tmpl/configuration.html:51 #: templates/uds/admin/tmpl/fld/checkbox.html:6 +#: templates/uds/admin/tmpl/pool_add_action.html:27 #: templates/uds/admin/tmpl/user.html:60 templates/uds/admin/tmpl/user.html:72 msgid "Yes" msgstr "Sim" #: templates/uds/admin/tmpl/configuration.html:51 #: templates/uds/admin/tmpl/fld/checkbox.html:7 +#: templates/uds/admin/tmpl/pool_add_action.html:28 #: templates/uds/admin/tmpl/user.html:61 templates/uds/admin/tmpl/user.html:73 msgid "No" msgstr "Não" @@ -2687,13 +3433,16 @@ msgstr "Adicionar elemento" msgid "Add" msgstr "Adicionar" +#: templates/uds/admin/tmpl/fld/taglist.html:8 +msgid "Add Tag..." +msgstr "" + #: templates/uds/admin/tmpl/gallery.html:5 msgid "UDS Image Gallery" msgstr "Galeria de imagens de UDS" #: templates/uds/admin/tmpl/group.html:24 -#: templates/uds/admin/tmpl/search.html:9 -#: templates/uds/admin/tmpl/user.html:21 +#: templates/uds/admin/tmpl/search.html:9 templates/uds/admin/tmpl/user.html:21 msgid "Search" msgstr "Pesquisa" @@ -2705,13 +3454,11 @@ msgstr "Modo de jogo" msgid "Any" msgstr "Qualquer" -#: templates/uds/admin/tmpl/group.html:57 -#: templates/uds/admin/tmpl/user.html:48 +#: templates/uds/admin/tmpl/group.html:57 templates/uds/admin/tmpl/user.html:48 msgid "Enabled" msgstr "Habilitado" -#: templates/uds/admin/tmpl/group.html:58 -#: templates/uds/admin/tmpl/user.html:49 +#: templates/uds/admin/tmpl/group.html:58 templates/uds/admin/tmpl/user.html:49 msgid "Disabled" msgstr "Com deficiência" @@ -2722,7 +3469,8 @@ msgstr "Selecione a imagem para fazer o upload" #: templates/uds/admin/tmpl/new_image.html:6 #: templates/uds/admin/tmpl/new_image.html:10 msgid "Name of the image. If left empty, will get the filename as name" -msgstr "Nome da imagem. Se deixado em branco, receberá o nome do arquivo como nome" +msgstr "" +"Nome da imagem. Se deixado em branco, receberá o nome do arquivo como nome" #: templates/uds/admin/tmpl/new_image.html:6 #: templates/uds/admin/tmpl/new_image.html:7 @@ -2785,6 +3533,19 @@ msgstr "Acesso de gerenciamento" msgid "Full Access" msgstr "Acesso completo" +#: templates/uds/admin/tmpl/pool_access_default.html:5 +#: templates/uds/admin/tmpl/pool_add_access.html:24 +msgid "Access action" +msgstr "" + +#: templates/uds/admin/tmpl/pool_add_action.html:17 +msgid "Events Offset (minutes)" +msgstr "" + +#: templates/uds/admin/tmpl/pool_add_action.html:24 +msgid "At interval beginning?" +msgstr "" + #: templates/uds/admin/tmpl/pool_add_transport.html:5 msgid "Transport" msgstr "Transporte" @@ -2803,7 +3564,8 @@ 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" +msgstr "" +"Houve um erro solicitando dados do servidor, por favor, tente novamente" #: templates/uds/admin/tmpl/request_failed.html:9 #: templates/uds/snippets/admin_user.html:8 @@ -2824,27 +3586,44 @@ msgstr "Você está acessando UDS administração como membro da equipe." #: templates/uds/admin/tmpl/restricted.html:33 msgid "This means that you have restricted access to assigned elements." -msgstr "Isto significa que você tenha restringido o acesso aos elementos atribuídos." +msgstr "" +"Isto significa que você tenha restringido o acesso aos elementos atribuídos." #: templates/uds/admin/tmpl/restricted.html:34 msgid "" "In order to increase your privileges, please contact your local UDS " "administrator." -msgstr "A fim de aumentar seus privilégios, entre em contato com seu local UDS administrador." +msgstr "" +"A fim de aumentar seus privilégios, entre em contato com seu local UDS " +"administrador." #: templates/uds/admin/tmpl/restricted.html:36 msgid "Thank you." msgstr "Obrigado." -#: templates/uds/admin/tmpl/services_pool.html:31 +#: templates/uds/admin/tmpl/service-info.html:5 +#, fuzzy +#| msgid "Service Pools" +msgid "Services Pools" +msgstr "Piscinas de serviço" + +#: templates/uds/admin/tmpl/services_pool.html:32 msgid "Cache" msgstr "Cache" -#: templates/uds/admin/tmpl/services_pool.html:33 -#: templates/uds/html5/index.html:82 templates/uds/index.html:80 +#: templates/uds/admin/tmpl/services_pool.html:34 +#: templates/uds/html5/index.html:121 templates/uds/index.html.py:80 msgid "Transports" msgstr "Transportes" +#: templates/uds/admin/tmpl/services_pool.html:37 +msgid "Access Calendars" +msgstr "" + +#: templates/uds/admin/tmpl/services_pool_groups.html:5 +msgid "UDS Services Pool Groups" +msgstr "" + #: templates/uds/admin/tmpl/user.html:56 msgid "Staff member" msgstr "Membro da equipe" @@ -2854,8 +3633,7 @@ msgstr "Membro da equipe" msgid "Admin" msgstr "Admin" -#: templates/uds/admin/tmpl/user.html:92 -#: templates/uds/admin/tmpl/user.html:106 +#: templates/uds/admin/tmpl/user.html:92 templates/uds/admin/tmpl/user.html:106 #, python-brace-format msgid "{0} of {1} selected" msgstr "{0} de {1} selecionado" @@ -2864,16 +3642,18 @@ msgstr "{0} de {1} selecionado" msgid "UDS" msgstr "UDS" -#: templates/uds/downloads.html:8 templates/uds/html5/downloads.html:7 +#: templates/uds/downloads.html:8 templates/uds/html5/downloads.html.py:7 #: templates/uds/html5/snippets/navbar.html:49 #: templates/uds/snippets/admin_user.html:7 msgid "Downloads" msgstr "Downloads" -#: templates/uds/downloads.html:11 templates/uds/html5/downloads.html:10 +#: templates/uds/downloads.html:11 templates/uds/html5/downloads.html.py:10 msgid "" "This page contains a list of downloadables provided by different modules" -msgstr "Esta página contém uma lista de downloadables fornecidos por diferentes módulos" +msgstr "" +"Esta página contém uma lista de downloadables fornecidos por diferentes " +"módulos" #: templates/uds/html5/about.html:13 msgid "You can access UDS Open Source code at" @@ -2886,7 +3666,9 @@ msgstr "UDS foi desenvolvido usando estes componentes:" #: templates/uds/html5/about.html:41 msgid "" "If you found that we missed to mention any component, please let us know" -msgstr "Se você achou que perdemos mencionar qualquer componente, por favor deixe-nos saber" +msgstr "" +"Se você achou que perdemos mencionar qualquer componente, por favor deixe-" +"nos saber" #: templates/uds/html5/about.html:42 #: templates/uds/html5/service_not_ready.html:21 @@ -2897,7 +3679,7 @@ msgstr "Voltar" msgid "Download UDS plugin for" msgstr "Download plugin UDS para" -#: templates/uds/html5/download_client.html:11 templatetags/html5.py:224 +#: templates/uds/html5/download_client.html:11 templatetags/html5.py:223 msgid "Download UDS Plugin for" msgstr "Download Plugin UDS para" @@ -2905,7 +3687,9 @@ msgstr "Download Plugin UDS para" msgid "" "In order to be able to execute UDS services, you need to have UDS plugin " "installed." -msgstr "A fim de ser capaz de executar serviços UDS, você precisa ter o plugin UDS instalado." +msgstr "" +"A fim de ser capaz de executar serviços UDS, você precisa ter o plugin UDS " +"instalado." #: templates/uds/html5/download_client.html:14 msgid "Or download another version" @@ -2915,7 +3699,9 @@ msgstr "Ou baixar outra versão" msgid "" "In case that your platform has been incorrectly detected, you can download " "manually the version required for your Operating System" -msgstr "No caso que sua plataforma foi detectada incorretamente, você pode baixar manualmente a versão necessária para seu sistema operacional" +msgstr "" +"No caso que sua plataforma foi detectada incorretamente, você pode baixar " +"manualmente a versão necessária para seu sistema operacional" #: templates/uds/html5/download_client.html:19 msgid "Linux UDS plugin" @@ -2933,7 +3719,9 @@ msgstr "Mac OSX (> 10.5) plugin UDS" msgid "" "If you already have UDS Plugin installed but this message persists to " "appear, you can disable automatic detection here" -msgstr "Se você já tiver instalado Plugin UDS mas essa mensagem persiste para aparecer, você pode desabilitar a detecção automática aqui" +msgstr "" +"Se você já tiver instalado Plugin UDS mas essa mensagem persiste para " +"aparecer, você pode desabilitar a detecção automática aqui" #: templates/uds/html5/download_client.html:39 msgid "Automatic plugin detection is enabled" @@ -2947,13 +3735,17 @@ msgstr "Aviso: Deteção automática do plugin está desativada." msgid "" "Please, note that disabling automatic detection will not trigger this page " "again in case you don't have the plugin installed." -msgstr "Por favor, note que desabilitar a deteção automática não dispararão nesta página novamente, caso você não tem o plugin instalado." +msgstr "" +"Por favor, note que desabilitar a deteção automática não dispararão nesta " +"página novamente, caso você não tem o plugin instalado." #: templates/uds/html5/download_client.html:45 msgid "" "In this case, you will have to manually download the plugin by using the " "menu on upper right corner." -msgstr "Neste caso, você terá que baixar manualmente o plugin usando o menu no canto superior direito." +msgstr "" +"Neste caso, você terá que baixar manualmente o plugin usando o menu no canto " +"superior direito." #: templates/uds/html5/download_client.html:47 msgid "Return" @@ -2963,8 +3755,7 @@ msgstr "Retorno" msgid "An error occurred" msgstr "Ocorreu um erro" -#: templates/uds/html5/error.html:16 -#: templates/uds/snippets/back_to_list.html:3 +#: templates/uds/html5/error.html:16 templates/uds/snippets/back_to_list.html:3 msgid "Back to services list" msgstr "Voltar à lista de serviços" @@ -2972,43 +3763,55 @@ msgstr "Voltar à lista de serviços" msgid "Available services list" msgstr "Lista de serviços disponíveis" -#: templates/uds/html5/index.html:13 +#: templates/uds/html5/index.html:29 msgid "Under maintenance" msgstr "Em manutenção" -#: templates/uds/html5/index.html:15 +#: templates/uds/html5/index.html:31 +msgid "Access limited by calendar" +msgstr "" + +#: templates/uds/html5/index.html:33 msgid "Currently in use" msgstr "Atualmente em uso" -#: templates/uds/html5/index.html:34 +#: templates/uds/html5/index.html:52 msgid "Connections" msgstr "Conexões" -#: templates/uds/html5/index.html:59 +#: templates/uds/html5/index.html:81 msgid "Service under maintenance" msgstr "Serviço em manutenção" -#: templates/uds/html5/index.html:62 +#: templates/uds/html5/index.html:84 msgid "This service is in maintenance mode." msgstr "Este serviço está em modo de manutenção." -#: templates/uds/html5/index.html:63 +#: templates/uds/html5/index.html:85 templates/uds/html5/index.html.py:103 msgid "Please, retry access in a while." msgstr "Por favor, tente novamente acesso há algum tempo." -#: templates/uds/html5/index.html:77 +#: templates/uds/html5/index.html:99 +msgid "Service access not allowed" +msgstr "" + +#: templates/uds/html5/index.html:102 +msgid "This service is currently not accesible due to schedule restrictions" +msgstr "" + +#: templates/uds/html5/index.html:116 msgid "Administrator info panel" msgstr "Painel de informações do administrador" -#: templates/uds/html5/index.html:80 templates/uds/index.html:78 +#: templates/uds/html5/index.html:119 templates/uds/index.html.py:78 msgid "Ip" msgstr "IP" -#: templates/uds/html5/index.html:83 +#: templates/uds/html5/index.html:122 msgid "User Agent" msgstr "Agente do usuário" -#: templates/uds/html5/index.html:84 +#: templates/uds/html5/index.html:123 msgid "OS" msgstr "SISTEMA OPERACIONAL" @@ -3032,11 +3835,11 @@ msgstr "senha" msgid "Sign in" msgstr "Entrar" -#: templates/uds/html5/login.html:84 templates/uds/login.html:93 +#: templates/uds/html5/login.html:84 templates/uds/login.html.py:93 msgid "Back to login" msgstr "Para iniciar sessão" -#: templates/uds/html5/prefs.html:5 templates/uds/prefs.html:6 +#: templates/uds/html5/prefs.html:5 templates/uds/prefs.html.py:6 msgid "UDS User Preferences" msgstr "Preferências do usuário UDS" @@ -3044,7 +3847,7 @@ msgstr "Preferências do usuário UDS" msgid "Cancel" msgstr "Cancelar" -#: templates/uds/html5/prefs.html:12 templates/uds/prefs.html:16 +#: templates/uds/html5/prefs.html:12 templates/uds/prefs.html.py:16 msgid "Save Preferences" msgstr "Salvar preferências" @@ -3057,13 +3860,17 @@ msgstr "O serviço não está pronto" msgid "" "The service is not ready at this moment. Please, try it again after a few " "seconds." -msgstr "O serviço, neste momento, não está pronto. Por favor, tente novamente depois de alguns segundos." +msgstr "" +"O serviço, neste momento, não está pronto. Por favor, tente novamente depois " +"de alguns segundos." #: templates/uds/html5/service_not_ready.html:18 msgid "" "The service you have requested was not ready, and it is being created right " "now. It will be availabe shortly" -msgstr "O serviço que você solicitou não estava pronto, e está sendo criado certo agora. Em breve será availabe" +msgstr "" +"O serviço que você solicitou não estava pronto, e está sendo criado certo " +"agora. Em breve será availabe" #: templates/uds/html5/service_not_ready.html:23 msgid "Please, close this window and relaunch again after a while." @@ -3096,7 +3903,9 @@ msgstr "Para relançar o serviço, você terá que fazê-lo de origem." msgid "" "If the service does not launchs automatically, probably you dont have the " "UDS plugin installed" -msgstr "Se o serviço não lança automaticamente, provavelmente você não tem o UDS plugin instalado" +msgstr "" +"Se o serviço não lança automaticamente, provavelmente você não tem o UDS " +"plugin instalado" #: templates/uds/html5/simpleLauncher.html:17 msgid "You can obtain it from the" @@ -3124,16 +3933,20 @@ msgid "About" msgstr "Sobre" #: templates/uds/html5/snippets/navbar.html:45 -#: templates/uds/internal_page.html:34 templates/uds/prefs.html:12 +#: templates/uds/internal_page.html:34 templates/uds/prefs.html.py:12 msgid "Preferences" msgstr "Preferências" #: templates/uds/html5/templates/base.html:60 msgid "" "Your browser is supported only partially. Please, upgrade it to a modern " -"html5 browser like Firefox, Chrome, Opera, ... (IE must be 10 or better, and" -" must also disable \"Compatibility View Mode\" for this site)" -msgstr "Seu navegador é suportado apenas parcialmente. Por favor, atualize-o para um moderno HTML5 navegador como o Firefox, Chrome, Opera,... (IE deve ser 10 ou melhor, e também deve desativar o \"Modo de exibição de compatibilidade\" para este site)" +"html5 browser like Firefox, Chrome, Opera, ... (IE must be 10 or better, and " +"must also disable \"Compatibility View Mode\" for this site)" +msgstr "" +"Seu navegador é suportado apenas parcialmente. Por favor, atualize-o para um " +"moderno HTML5 navegador como o Firefox, Chrome, Opera,... (IE deve ser 10 ou " +"melhor, e também deve desativar o \"Modo de exibição de compatibilidade\" " +"para este site)" #: templates/uds/html5/templates/base.html:108 msgid "We use cookies to track usage and preferences" @@ -3154,7 +3967,9 @@ msgstr "Java não encontrado" #: templates/uds/index.html:71 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." +msgstr "" +"Java não está disponível em seu navegador, e o transporte selecionado " +"precisa disso." #: templates/uds/index.html:72 msgid "Please, install latest version from" @@ -3192,19 +4007,19 @@ msgstr "Digite" msgid "Language" msgstr "Língua" -#: templatetags/html5.py:230 +#: templatetags/html5.py:229 msgid "Debian based Linux" msgstr "Linux baseado em Debian" -#: templatetags/html5.py:231 +#: templatetags/html5.py:230 msgid "Red Hat based Linux (RH, Fedora, Centos, ...)" msgstr "Red Hat com base em Linux (RH, Fedora, Centos,...)" -#: templatetags/html5.py:232 +#: templatetags/html5.py:231 msgid "Suse based Linux" msgstr "Base de SUSE Linux" -#: templatetags/html5.py:233 +#: templatetags/html5.py:232 msgid "Generic .tar.gz Linux" msgstr "Genéricos. tar. gz Linux" @@ -3224,7 +4039,9 @@ msgstr "Servidor de túnel" msgid "" "Host of the tunnel server (use http/https & port if needed) as accesible " "from users" -msgstr "Host do servidor de túnel (uso de http/https & Porto se necessário) como accesible de usuários" +msgstr "" +"Host do servidor de túnel (uso de http/https & Porto se necessário) como " +"accesible de usuários" #: transports/HTML5RDP/HTML5RDP.py:69 transports/NX/NXTransport.py:65 #: transports/NX/TSNXTransport.py:72 transports/RDP/BaseRDPTransport.py:61 @@ -3245,18 +4062,23 @@ msgid "If checked, the credentials used to connect will be emtpy" msgstr "Se marcada, as credenciais usadas para se conectar será vazio" #: transports/HTML5RDP/HTML5RDP.py:70 transports/NX/NXTransport.py:66 -#: transports/NX/TSNXTransport.py:73 transports/RDP/BaseRDPTransport.py:62 +#: transports/NX/TSNXTransport.py:73 +#: transports/PCoIP_enterprise/PCoIPTransport.py:58 +#: transports/RDP/BaseRDPTransport.py:62 #: transports/RGS_enterprise/RGSTransport.py:45 #: transports/RGS_enterprise/TRGSTransport.py:53 -#: transports/SPICE/BaseSPICETransport.py:72 +#: transports/SPICE/BaseSPICETransport.py:73 msgid "If not empty, this username will be always used as credential" -msgstr "Se não for vazio, este nome de utilizador será sempre usado como credencial" +msgstr "" +"Se não for vazio, este nome de utilizador será sempre usado como credencial" #: transports/HTML5RDP/HTML5RDP.py:71 transports/NX/NXTransport.py:67 -#: transports/NX/TSNXTransport.py:74 transports/RDP/BaseRDPTransport.py:63 +#: transports/NX/TSNXTransport.py:74 +#: transports/PCoIP_enterprise/PCoIPTransport.py:59 +#: transports/RDP/BaseRDPTransport.py:63 #: transports/RGS_enterprise/RGSTransport.py:46 #: transports/RGS_enterprise/TRGSTransport.py:54 -#: transports/SPICE/BaseSPICETransport.py:77 +#: transports/SPICE/BaseSPICETransport.py:79 msgid "If not empty, this password will be always used as credential" msgstr "Se não for vazio, essa senha será sempre usada como credencial" @@ -3265,21 +4087,25 @@ msgstr "Se não for vazio, essa senha será sempre usada como credencial" msgid "Without Domain" msgstr "Sem domínio" -#: transports/HTML5RDP/HTML5RDP.py:72 transports/RDP/BaseRDPTransport.py:64 +#: transports/HTML5RDP/HTML5RDP.py:72 #: transports/RDS_enterprise/BaseRDSTransport.py:67 msgid "" "If checked, the domain part will always be emptied (to connecto to xrdp for " "example is needed)" -msgstr "Se verificado, a parte de domínio sempre será esvaziada (para connecto para xrdp para exemplo é necessário)" +msgstr "" +"Se verificado, a parte de domínio sempre será esvaziada (para connecto para " +"xrdp para exemplo é necessário)" #: transports/HTML5RDP/HTML5RDP.py:73 transports/RDP/BaseRDPTransport.py:65 #: transports/RDS_enterprise/BaseRDSTransport.py:68 #: transports/RGS_enterprise/RGSTransport.py:47 #: transports/RGS_enterprise/TRGSTransport.py:55 msgid "" -"If not empty, this domain will be always used as credential (used as " -"DOMAIN\\user)" -msgstr "Se não for vazio, este domínio será sempre utilizado como credencial (usado como domínio\\User)" +"If not empty, this domain will be always used as credential (used as DOMAIN" +"\\user)" +msgstr "" +"Se não for vazio, este domínio será sempre utilizado como credencial (usado " +"como domínio\\User)" #: transports/HTML5RDP/HTML5RDP.py:74 msgid "Enable Audio" @@ -3289,7 +4115,9 @@ msgstr "Ativar o áudio" msgid "" "If checked, the audio will be redirected to client (if client browser " "supports it)" -msgstr "Se marcada, o áudio será redirecionado para o cliente (se o navegador cliente suporta)" +msgstr "" +"Se marcada, o áudio será redirecionado para o cliente (se o navegador " +"cliente suporta)" #: transports/HTML5RDP/HTML5RDP.py:75 msgid "Enable Printing" @@ -3299,7 +4127,9 @@ msgstr "Permitir a impressão" msgid "" "If checked, the printing will be redirected to client (if client browser " "supports it)" -msgstr "Se marcada, a impressão será redirecionado para o cliente (se o navegador cliente suporta)" +msgstr "" +"Se marcada, a impressão será redirecionado para o cliente (se o navegador " +"cliente suporta)" #: transports/HTML5RDP/HTML5RDP.py:81 msgid "The server must be http or https" @@ -3375,7 +4205,9 @@ msgstr "Servidor de túnel" msgid "" "IP or Hostname of tunnel server sent to client device (\"public\" ip) and " "port. (use HOST:PORT format)" -msgstr "IP ou nome do host do servidor de túnel, enviado para o dispositivo cliente (ip \"público\") e Port. (usar formato HOST: PORT)" +msgstr "" +"IP ou nome do host do servidor de túnel, enviado para o dispositivo cliente " +"(ip \"público\") e Port. (usar formato HOST: PORT)" #: transports/NX/TSNXTransport.py:70 transports/RDP/TRDPTransport.py:70 #: transports/RDS_enterprise/TRDSTransport.py:68 @@ -3387,9 +4219,11 @@ msgstr "Seleção de anfitrião do túnel" #: transports/RDS_enterprise/TRDSTransport.py:68 #: transports/RGS_enterprise/TRGSTransport.py:50 msgid "" -"If not empty, this server will be used to check if service is running before" -" assigning it to user. (use HOST:PORT format)" -msgstr "Se não for vazio, este servidor será usado para verificar se o serviço está sendo executado antes atribuí-la ao usuário. (usar formato HOST: PORT)" +"If not empty, this server will be used to check if service is running before " +"assigning it to user. (use HOST:PORT format)" +msgstr "" +"Se não for vazio, este servidor será usado para verificar se o serviço está " +"sendo executado antes atribuí-la ao usuário. (usar formato HOST: PORT)" #: transports/NX/TSNXTransport.py:113 transports/RDP/TRDPTransport.py:88 #: transports/RDS_enterprise/TRDSTransport.py:81 @@ -3402,6 +4236,38 @@ msgstr "Deve usar HOST: PORT no campo servidor de túnel" msgid "NX Protocol" msgstr "Protocolo NX" +#: transports/PCoIP_enterprise/PCoIPTransport.py:50 +msgid "PCoIP Transport (Experimental)" +msgstr "" + +#: transports/PCoIP_enterprise/PCoIPTransport.py:52 +msgid "PCoIP Transport, Experimental" +msgstr "" + +#: transports/PCoIP_enterprise/PCoIPTransport.py:57 +msgid "Connetion Manager" +msgstr "" + +#: transports/PCoIP_enterprise/PCoIPTransport.py:57 +msgid "Hostname or address of connection manager" +msgstr "" + +#: transports/PCoIP_enterprise/PCoIPTransport.py:60 +msgid "If not empty, this domain will be always used as credential domain" +msgstr "" + +#: transports/RDP/BaseRDPTransport.py:64 +#, fuzzy +#| msgid "" +#| "If checked, the domain part will always be emptied (to connecto to xrdp " +#| "for example is needed)" +msgid "" +"If checked, the domain part will always be emptied (to connect to xrdp for " +"example is needed)" +msgstr "" +"Se verificado, a parte de domínio sempre será esvaziada (para connecto para " +"xrdp para exemplo é necessário)" + #: transports/RDP/BaseRDPTransport.py:66 #: transports/RDS_enterprise/BaseRDSTransport.py:69 msgid "Allow Smartcards" @@ -3440,7 +4306,8 @@ msgstr "Permitir seriados" #: transports/RDP/BaseRDPTransport.py:69 #: transports/RDS_enterprise/BaseRDSTransport.py:72 msgid "If checked, this transport will allow the use of user serial ports" -msgstr "Se marcada, este transporte permitirá a utilização do usuário portas seriais" +msgstr "" +"Se marcada, este transporte permitirá a utilização do usuário portas seriais" #: transports/RDP/BaseRDPTransport.py:70 msgid "Show wallpaper" @@ -3450,7 +4317,9 @@ msgstr "Mostrar o papel de parede" msgid "" "If checked, the wallpaper and themes will be shown on machine (better user " "experience, more bandwidth)" -msgstr "Se marcada, o papel de parede e temas serão mostrados máquina (usuário melhor experiência, mais largura de banda)" +msgstr "" +"Se marcada, o papel de parede e temas serão mostrados máquina (usuário " +"melhor experiência, mais largura de banda)" #: transports/RDP/BaseRDPTransport.py:71 msgid "Multiple monitors" @@ -3460,7 +4329,9 @@ msgstr "Vários monitores" msgid "" "If checked, all client monitors will be used for displaying (only works on " "windows clients)" -msgstr "Se marcada, todos os monitores do cliente serão usados para exibição (só funciona no clientes do Windows)" +msgstr "" +"Se marcada, todos os monitores do cliente serão usados para exibição (só " +"funciona no clientes do Windows)" #: transports/RDP/BaseRDPTransport.py:72 msgid "Allow Aero" @@ -3544,7 +4415,9 @@ msgstr "Min. qualidade ajustável" msgid "" "The lowest image quality applied to images to maintain the minimum update " "rate." -msgstr "A qualidade de imagem mais baixa aplicada às imagens para manter a atualização mínima taxa." +msgstr "" +"A qualidade de imagem mais baixa aplicada às imagens para manter a " +"atualização mínima taxa." #: transports/RGS_enterprise/RGSTransport.py:54 #: transports/RGS_enterprise/TRGSTransport.py:62 @@ -3554,7 +4427,8 @@ msgstr "Taxa de Frame ajustável" #: transports/RGS_enterprise/RGSTransport.py:55 #: transports/RGS_enterprise/TRGSTransport.py:63 msgid "Update rate threshold to begin adjusting image quality" -msgstr "Limite de taxa de atualização para começar a ajustar a qualidade da imagem" +msgstr "" +"Limite de taxa de atualização para começar a ajustar a qualidade da imagem" #: transports/RGS_enterprise/RGSTransport.py:56 #: transports/RGS_enterprise/TRGSTransport.py:64 @@ -3566,7 +4440,9 @@ msgstr "Resolução Local de partida" msgid "" "Change the Sender's resolution to match the Receiver's resolution when " "connecting" -msgstr "Alterar a resolução do remetente para coincidir com a resolução do receptor quando Conectando-se" +msgstr "" +"Alterar a resolução do remetente para coincidir com a resolução do receptor " +"quando Conectando-se" #: transports/RGS_enterprise/RGSTransport.py:58 #: transports/RGS_enterprise/TRGSTransport.py:66 @@ -3606,11 +4482,14 @@ msgstr "RGS transporte (um túnel)" msgid "RGS Transport for tunneled connection" msgstr "RGS transporte para ligação em túnel" -#: transports/SPICE/BaseSPICETransport.py:84 +#: transports/SPICE/BaseSPICETransport.py:87 msgid "" -"Server certificate (public), can be found on your ovirt engine, probably at " -"/etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." -msgstr "Certificado de servidor (público), podem ser encontradas no seu motor de ovirt, provavelmente em /etc/PKI/ovirt-Engine/certs/ca.der (Use o conteúdo desse arquivo)." +"Server certificate (public), can be found on your ovirt engine, probably at /" +"etc/pki/ovirt-engine/certs/ca.der (Use the contents of this file)." +msgstr "" +"Certificado de servidor (público), podem ser encontradas no seu motor de " +"ovirt, provavelmente em /etc/PKI/ovirt-Engine/certs/ca.der (Use o conteúdo " +"desse arquivo)." #: transports/SPICE/SPICETransport.py:52 msgid "RHEV/oVirt SPICE Transport (direct)" @@ -3628,61 +4507,72 @@ msgstr "RHEV/oVirt SPICE transporte (um túnel)" msgid "SPICE Transport for tunneled connection (EXPERIMENTAL)" msgstr "Transporte de especiarias para ligação em túnel (EXPERIMENTAL)" -#: web/errors.py:71 +#: web/errors.py:72 msgid "Unknown error" msgstr "Erro desconhecido" -#: web/errors.py:75 +#: web/errors.py:76 msgid "" "Invalid service. The service is not available at this moment. Please, try " "later" -msgstr "Serviço inválido. O serviço não está disponível neste momento. Por favor, tente mais tarde" - -#: web/errors.py:76 -msgid "Maximum services limit reached. Please, contact administrator" -msgstr "Atingiu o limite máximo de serviços. Por favor, contate o administrador" +msgstr "" +"Serviço inválido. O serviço não está disponível neste momento. Por favor, " +"tente mais tarde" #: web/errors.py:77 +msgid "Maximum services limit reached. Please, contact administrator" +msgstr "" +"Atingiu o limite máximo de serviços. Por favor, contate o administrador" + +#: web/errors.py:78 msgid "You need to enable cookies to let this application work" msgstr "Você precisa habilitar cookies deixar esta aplicação trabalhar" -#: web/errors.py:79 +#: web/errors.py:80 msgid "Authenticator not found" msgstr "Autenticador não encontrado" -#: web/errors.py:80 +#: web/errors.py:81 msgid "Invalid authenticator" msgstr "Autenticador inválido" -#: web/errors.py:81 +#: web/errors.py:82 msgid "Invalid request received" msgstr "Pedido inválido recebido" -#: web/errors.py:82 +#: web/errors.py:83 msgid "" "Your browser is not supported. Please, upgrade it to a modern HTML5 browser " "like Firefox or Chrome" -msgstr "Seu navegador não é suportado. Por favor, faça o upgrade para um navegador moderno do HTML5 como o Firefox ou Chrome" +msgstr "" +"Seu navegador não é suportado. Por favor, faça o upgrade para um navegador " +"moderno do HTML5 como o Firefox ou Chrome" -#: web/errors.py:83 +#: web/errors.py:84 msgid "The requested service is in maintenance mode" msgstr "O serviço solicitado está no modo de manutenção" -#: web/errors.py:84 +#: web/errors.py:85 msgid "" "The service is not ready.\n" "Please, try again in a few moments." -msgstr "O serviço não está pronto.\nPor favor, tente novamente em alguns instantes." +msgstr "" +"O serviço não está pronto.\n" +"Por favor, tente novamente em alguns instantes." -#: web/errors.py:85 +#: web/errors.py:86 msgid "Preparing service" msgstr "Preparando o serviço" -#: web/forms/LoginForm.py:54 +#: web/errors.py:87 +msgid "Service access denied by calendars" +msgstr "" + +#: web/forms/LoginForm.py:53 msgid "Select authenticator" msgstr "Selecione o autenticador" -#: web/forms/LoginForm.py:58 +#: web/forms/LoginForm.py:57 msgid "authenticator" msgstr "autenticador" @@ -3694,6 +4584,6 @@ msgstr "Autenticador não fornece informações" msgid "UDS Plugin preferences" msgstr "Preferências do Plugin UDS" -#: web/views/service.py:114 +#: web/views/service.py:115 msgid "Service not ready. Please, try again in a while." msgstr "Serviço não está pronto. Por favor, tente novamente em instantes." diff --git a/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po b/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po index b3bff0e38..32dad8fef 100644 --- a/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po +++ b/server/src/uds/locale/pt/LC_MESSAGES/djangojs.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: OpenUDS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-04 09:28+0200\n" -"PO-Revision-Date: 2015-08-03 09:37+0000\n" +"POT-Creation-Date: 2016-04-19 10:01+0200\n" +"PO-Revision-Date: 2016-04-18 05:02+0000\n" "Last-Translator: Adolfo Gómez \n" "Language-Team: Portuguese (http://www.transifex.com/openuds/openuds/language/" "pt/)\n" @@ -102,14 +102,14 @@ msgstr "Teste" msgid "Search error" msgstr "Erro de pesquisa" -#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:282 +#: static/tmp_js/gui-d-authenticators.js:51 static/tmp_js/gui-form.js:318 msgid "Accept" msgstr "Aceitar" #: static/tmp_js/gui-d-authenticators.js:131 #: static/tmp_js/gui-d-connectivity.js:43 static/tmp_js/gui-d-osmanagers.js:39 -#: static/tmp_js/gui-d-services.js:95 static/tmp_js/gui-d-servicespools.js:182 -#| msgid "Error accessing service: " +#: static/tmp_js/gui-d-services.js:82 static/tmp_js/gui-d-services.js:123 +#: static/tmp_js/gui-d-servicespools.js:182 msgid "Error accessing data" msgstr "Erro ao acessar dados" @@ -219,7 +219,6 @@ msgid "Authenticator deletion error" msgstr "Erro de exclusão do autenticador" #: static/tmp_js/gui-d-calendar.js:23 -#| msgid "May" msgid "day" msgstr "dia" @@ -288,7 +287,6 @@ msgid "Weeks" msgstr "Semanas" #: static/tmp_js/gui-d-calendar.js:35 -#| msgid "Sunday" msgid "Sun" msgstr "Sol" @@ -325,17 +323,14 @@ msgid "and will remain valid for " msgstr "e permanecerá válido para " #: static/tmp_js/gui-d-calendar.js:172 -#| msgid "Publish on creation" msgid "with no duration" msgstr "com nenhuma duração" #: static/tmp_js/gui-d-calendar.js:208 -#| msgid "New user" msgid "New rule" msgstr "Nova regra" #: static/tmp_js/gui-d-calendar.js:208 -#| msgid "Edit user" msgid "Edit rule" msgstr "Editar regra" @@ -344,52 +339,42 @@ msgid "Save" msgstr "Salvar" #: static/tmp_js/gui-d-calendar.js:277 -#| msgid "Error creating report" msgid "Error creating rule" msgstr "Regra de criação de erro" #: static/tmp_js/gui-d-calendar.js:280 -#| msgid "Error creating report" msgid "Error saving rule" msgstr "Erro ao salvar regra" #: static/tmp_js/gui-d-calendar.js:326 -#| msgid "Delete user" msgid "Delete rule" msgstr "Excluir a regra" #: static/tmp_js/gui-d-calendar.js:326 -#| msgid "deletion error" msgid "Rule deletion error" msgstr "Erro de exclusão de regra" #: static/tmp_js/gui-d-calendar.js:333 -#| msgid "New OSManager" msgid "New calendar" msgstr "Novo calendário" #: static/tmp_js/gui-d-calendar.js:333 -#| msgid "OSManager creation error" msgid "Calendar creation error" msgstr "Erro de criação do calendário" #: static/tmp_js/gui-d-calendar.js:334 -#| msgid "Edit OSManager" msgid "Edit calendar" msgstr "Editar o calendário" #: static/tmp_js/gui-d-calendar.js:334 -#| msgid "OSManager saving error" msgid "Calendar saving error" msgstr "Calendário salvando o erro" #: static/tmp_js/gui-d-calendar.js:335 -#| msgid "Delete OSManager" msgid "Delete calendar" msgstr "Excluir calendário" #: static/tmp_js/gui-d-calendar.js:335 -#| msgid "User deletion error" msgid "Calendar deletion error" msgstr "Erro de exclusão de calendário" @@ -458,7 +443,6 @@ msgid "New image" msgstr "Nova imagem" #: static/tmp_js/gui-d-gallery.js:17 -#| msgid "Edit OSManager" msgid "Edit image" msgstr "Editar imagem" @@ -518,84 +502,94 @@ msgstr "Erro ao criar o relatório" msgid "Error obtaining report description" msgstr "Descrição de relatório de obtenção do erro" -#: static/tmp_js/gui-d-services.js:72 +#: static/tmp_js/gui-d-services.js:59 msgid "In Maintenance" msgstr "Em manutenção" -#: static/tmp_js/gui-d-services.js:74 +#: static/tmp_js/gui-d-services.js:61 msgid "Active" msgstr "Ativo" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:104 +msgid "Information" +msgstr "" + +#: static/tmp_js/gui-d-services.js:120 +#, fuzzy +#| msgid "Service creation error" +msgid "Service information" +msgstr "Erro de criação do serviço" + +#: static/tmp_js/gui-d-services.js:141 msgid "Edit service" msgstr "Editar serviço" -#: static/tmp_js/gui-d-services.js:131 +#: static/tmp_js/gui-d-services.js:141 msgid "Service creation error" msgstr "Erro de criação do serviço" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "New service" msgstr "Novo serviço" -#: static/tmp_js/gui-d-services.js:132 +#: static/tmp_js/gui-d-services.js:142 msgid "Service saving error" msgstr "Salvando o erro de serviço" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Delete service" msgstr "Excluir o serviço" -#: static/tmp_js/gui-d-services.js:133 +#: static/tmp_js/gui-d-services.js:143 msgid "Service deletion error" msgstr "Erro de exclusão do serviço" -#: static/tmp_js/gui-d-services.js:149 static/tmp_js/gui-d-services.js:172 +#: static/tmp_js/gui-d-services.js:159 static/tmp_js/gui-d-services.js:182 msgid "Maintenance" msgstr "Manutenção" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Maintenance Mode" msgstr "Modo de manutenção" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Enter Maintenance Mode?" msgstr "Entrar no modo de manutenção?" -#: static/tmp_js/gui-d-services.js:158 +#: static/tmp_js/gui-d-services.js:168 msgid "Exit Maintenance Mode?" msgstr "Sair do modo de manutenção?" -#: static/tmp_js/gui-d-services.js:177 +#: static/tmp_js/gui-d-services.js:187 msgid "Enter maintenance Mode" msgstr "Digite o modo de manutenção" -#: static/tmp_js/gui-d-services.js:180 +#: static/tmp_js/gui-d-services.js:190 msgid "Exit Maintenance Mode" msgstr "Sair do modo de manutenção" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "New services provider" msgstr "Novo provedor de serviços" -#: static/tmp_js/gui-d-services.js:188 +#: static/tmp_js/gui-d-services.js:198 msgid "Services provider creation error" msgstr "Erro de criação do provedor de serviços" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 msgid "Edit services provider" msgstr "Editar Provedor de serviços" -#: static/tmp_js/gui-d-services.js:189 +#: static/tmp_js/gui-d-services.js:199 #: static/tmp_js/gui-d-servicespoolsgroup.js:22 msgid "Services Provider saving error" msgstr "Salvando o erro do prestador de serviços" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Delete services provider" msgstr "Exclua o provedor de serviços" -#: static/tmp_js/gui-d-services.js:190 +#: static/tmp_js/gui-d-services.js:200 msgid "Services Provider deletion error" msgstr "Erro de exclusão do provedor de serviços" @@ -630,13 +624,11 @@ msgstr "Editar o calendário de acesso" #: static/tmp_js/gui-d-servicespools-actions.js:215 #: static/tmp_js/gui-d-servicespools-calendars.js:119 -#| msgid "Remove Cache element" msgid "Remove access calendar" msgstr "Remover acesso calendário" #: static/tmp_js/gui-d-servicespools-actions.js:215 #: static/tmp_js/gui-d-servicespools-calendars.js:119 -#| msgid "Transport removal error" msgid "Access calendar removal error" msgstr "Erro de remoção de calendário de acesso" @@ -660,7 +652,6 @@ msgid "Publish" msgstr "Publicar" #: static/tmp_js/gui-d-servicespools-publications.js:22 -#| msgid "Cancel publication" msgid "Cancel publication?" msgstr "Cancelar a publicação?" @@ -759,7 +750,7 @@ msgstr "Editar" msgid "saving error" msgstr "salvando o erro" -#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:140 +#: static/tmp_js/gui-d-servicespools.js:395 static/tmp_js/gui-methods.js:141 #: static/tmp_js/gui.js:52 msgid "Delete" msgstr "Excluir" @@ -769,27 +760,22 @@ msgid "deletion error" msgstr "erro de exclusão" #: static/tmp_js/gui-d-servicespoolsgroup.js:21 -#| msgid "New services provider" msgid "New services Services Pool Group" msgstr "Novos serviços de grupo de consórcio de serviços" #: static/tmp_js/gui-d-servicespoolsgroup.js:21 -#| msgid "Services provider creation error" msgid "Services Services Pool Group creation error" msgstr "Erro de criação do grupo de consórcio de serviços serviços" #: static/tmp_js/gui-d-servicespoolsgroup.js:22 -#| msgid "Edit services provider" msgid "Edit services Services Pool Group" msgstr "Editar serviços de grupo de consórcio de serviços" #: static/tmp_js/gui-d-servicespoolsgroup.js:23 -#| msgid "Delete services provider" msgid "Delete Services Pool Group" msgstr "Excluir grupo de consórcio de serviços" #: static/tmp_js/gui-d-servicespoolsgroup.js:23 -#| msgid "Service creation error" msgid "Services Pool Group error" msgstr "Erro de grupo de consórcio de serviços" @@ -825,15 +811,19 @@ msgstr "Mensagem" msgid "Logs" msgstr "Logs" -#: static/tmp_js/gui-form.js:265 +#: static/tmp_js/gui-form.js:95 +msgid "Main" +msgstr "" + +#: static/tmp_js/gui-form.js:301 msgid "yes" msgstr "Sim" -#: static/tmp_js/gui-form.js:266 +#: static/tmp_js/gui-form.js:302 msgid "no" msgstr "Não" -#: static/tmp_js/gui-form.js:283 +#: static/tmp_js/gui-form.js:319 msgid "Close" msgstr "Fechar" @@ -857,34 +847,31 @@ msgstr "Edição com sucesso" msgid "Overview" msgstr "Visão geral" -#: static/tmp_js/gui-methods.js:100 +#: static/tmp_js/gui-methods.js:101 msgid "of type" msgstr "do tipo" -#: static/tmp_js/gui-methods.js:118 +#: static/tmp_js/gui-methods.js:119 msgid "Creation successfully done" msgstr "Criação feita com sucesso" -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "Are you sure do you want to delete " msgstr "Você tem certeza que quer excluir " -#: static/tmp_js/gui-methods.js:138 +#: static/tmp_js/gui-methods.js:139 msgid "items:" msgstr "itens:" -#: static/tmp_js/gui-methods.js:147 -#| msgid "Error creating report" +#: static/tmp_js/gui-methods.js:148 msgid "Error deleting" msgstr "Erro de exclusão" -#: static/tmp_js/gui-methods.js:149 -#| msgid "Edition successfully done" +#: static/tmp_js/gui-methods.js:150 msgid "Successfully deleted" msgstr "Excluído com êxito" -#: static/tmp_js/gui-methods.js:154 -#| msgid "Deletion error" +#: static/tmp_js/gui-methods.js:155 msgid "Deletion results" msgstr "Resultados de exclusão" @@ -978,7 +965,6 @@ msgid "Message" msgstr "Mensagem" #: static/tmp_js/gui.js:130 -#| msgid "Test failed:" msgid "Connection failed" msgstr "Conexão falhado" diff --git a/server/src/uds/static/adm/js/api-templates.coffee b/server/src/uds/static/adm/js/api-templates.coffee index 4fac750bd..1ea586cbc 100644 --- a/server/src/uds/static/adm/js/api-templates.coffee +++ b/server/src/uds/static/adm/js/api-templates.coffee @@ -1,4 +1,4 @@ -# jshint strict: true +# jshint strict: true # ------------------------------- # Templates related @@ -62,11 +62,11 @@ Handlebars.registerHelper "ifbelongs", (context1, context2, options) -> options.inverse this -# Counters. +# Counters. # Create a counter with {{counter [id] [startValue]}} # increment the counter with {{inc_counter [id]}} # get the counter value tiwh {{get_counter [id}} -# Values are stored on current +# Values are stored on current Handlebars.registerHelper "set_counter", (id, value, options) -> options.data["_counter_" + id] = value return @@ -122,8 +122,8 @@ api.templates.get = (name, success_fnc) -> if $this.cache.get(name + "------") success_fnc $this.cache.get(name) return - - # Let's check if a "preloaded template" exists + + # Let's check if a "preloaded template" exists else if document.getElementById("tmpl_" + name) $this.cache.put name, "tmpl_" + name # In fact, this is not neccesary... success_fnc "tmpl_" + name @@ -155,7 +155,7 @@ api.templates.evaluate = (str, context) -> # Figure out if we're getting a template, or if we need to # load the template - and be sure to cache the result (compiled template). cached = null - unless /\W/.test(str) + if /^[\w_-]*$/.test(str) cached = @cache.get("_" + str) if not cached? cached = api.templates.evaluate(document.getElementById(str).innerHTML) diff --git a/server/src/uds/static/adm/js/api.coffee b/server/src/uds/static/adm/js/api.coffee index bc57707c7..4225694fb 100644 --- a/server/src/uds/static/adm/js/api.coffee +++ b/server/src/uds/static/adm/js/api.coffee @@ -4,7 +4,7 @@ $ = jQuery api = @api -api.debug = on +api.debug = off api.permissions = { NONE: 0 diff --git a/server/src/uds/static/adm/js/gui-d-services.coffee b/server/src/uds/static/adm/js/gui-d-services.coffee index 5317d72a0..9eaa6e901 100644 --- a/server/src/uds/static/adm/js/gui-d-services.coffee +++ b/server/src/uds/static/adm/js/gui-d-services.coffee @@ -1,9 +1,9 @@ -# jshint strict: true +# jshint strict: true gui.providers = new GuiElement(api.providers, "provi") gui.providers.link = (event) -> "use strict" - - maintenanceText = (icon, text) -> + + iconAndText = (icon, text) -> ' ' + text + '' # Button definition to trigger "Test" action @@ -11,16 +11,6 @@ gui.providers.link = (event) -> text: gettext("Test") css: "btn-info" - detailLogTable = undefined - clearDetailLog = -> - if detailLogTable - $tbl = $(detailLogTable).dataTable() - $tbl.fnClearTable() - $tbl.fnDestroy() - $("#services-log-placeholder").empty() - detailLogTable = undefined - return - prevTables = [] clearDetails = -> $.each prevTables, (undefined_, tbl) -> @@ -29,7 +19,6 @@ gui.providers.link = (event) -> $tbl.fnDestroy() return - clearDetailLog() prevTables = [] $("#services-placeholder").empty() $("#logs-placeholder").empty() @@ -42,11 +31,10 @@ gui.providers.link = (event) -> providers: "providers-placeholder" provider_info: "provider-info-placeholder" services: "services-placeholder" - services_log: "services-log-placeholder" logs: "logs-placeholder" ) gui.setLinksEvents() - + # Append tabs click events $(".bottom_tabs").on "click", (event) -> setTimeout (-> @@ -98,38 +86,58 @@ gui.providers.link = (event) -> id = selected[0].id # Giving the name compossed with type, will ensure that only styles will be reattached once - services = new GuiElement(api.providers.detail(id, "services", { permission: selected[0].permission }), "services-" + selected[0].type) + servicesAPI = api.providers.detail(id, "services", { permission: selected[0].permission }) + services = new GuiElement(servicesAPI, "services-" + selected[0].type) tmpLogTable = undefined servicesTable = services.table( icon: 'services' container: "services-placeholder" doNotLoadData: true rowSelect: "multi" - onRowSelect: (sselected) -> - gui.tools.blockUI() - sId = sselected[0].id - clearDetailLog() - tmpLogTable = services.logTable(sId, - container: "services-log-placeholder" - onLoad: -> - detailLogTable = tmpLogTable - gui.tools.unblockUI() - return - ) - return - - onRowDeselect: -> - clearDetailLog() - return onCheck: (check, items) -> if check is "delete" and items.length is 1 return false if items[0].deployed_services_count > 0 return true - + buttons: [ "new" "edit" + { + text: iconAndText( 'fa-info', gettext('Information') ) + css: "disabled" + disabled: true + click: (vals, value, btn, tbl, refreshFnc) -> + gui.doLog "Value:", value, vals[0] + api.cache.clear() + val = vals[0] + servicesAPI.invoke val.id + "/servicesPools", (pools) -> + gui.doLog "Pools", pools + api.templates.get "service-info", (tmpl) -> + content = api.templates.evaluate(tmpl, + id: 'information', + pools: pools + ) + modalId = gui.launchModal(gettext('Service information'), content, + actionButton: "" + ) + gui.methods.typedShow services, val, '#information-overview', gettext('Error accessing data') + tmpLogTable = services.logTable(val.id, + container: "information-logs" + onLoad: -> + return + ) + $('#information-pools-table').DataTable(); + return + + select: (vals, value, btn, tbl, refreshFnc) -> + unless vals.length == 1 + $(btn).addClass("disabled").prop('disabled', true) + return + + $(btn).removeClass("disabled").prop('disabled', false) + + } "delete" "xls" ] @@ -154,7 +162,7 @@ gui.providers.link = (event) -> "edit" { permission: api.permissions.MANAGEMENT - text: maintenanceText('fa-ambulance', gettext("Maintenance")) + text: iconAndText('fa-ambulance', gettext("Maintenance")) css: "disabled" disabled: true click: (vals, value, btn, tbl, refreshFnc) -> @@ -180,14 +188,14 @@ gui.providers.link = (event) -> select: (vals, value, btn, tbl, refreshFnc) -> unless vals.length == 1 $(btn).removeClass("btn-warning").removeClass("btn-info").addClass("disabled").prop('disabled', true) - $(btn).empty().append(maintenanceText('fa-ambulance', gettext("Maintenance"))) + $(btn).empty().append(iconAndText('fa-ambulance', gettext("Maintenance"))) return val = vals[0] if val.maintenance_mode is false - content = maintenanceText('fa-ambulance', gettext('Enter maintenance Mode')) + content = iconAndText('fa-ambulance', gettext('Enter maintenance Mode')) cls = 'btn-warning' else - content = maintenanceText('fa-truck',gettext('Exit Maintenance Mode')) + content = iconAndText('fa-truck',gettext('Exit Maintenance Mode')) cls = 'btn-info' $(btn).removeClass("disabled").addClass(cls).prop('disabled', false) @@ -204,4 +212,4 @@ gui.providers.link = (event) -> ) return - false \ No newline at end of file + false diff --git a/server/src/uds/static/adm/js/gui-form.coffee b/server/src/uds/static/adm/js/gui-form.coffee index 1e9c12a5a..3a202f61e 100644 --- a/server/src/uds/static/adm/js/gui-form.coffee +++ b/server/src/uds/static/adm/js/gui-form.coffee @@ -80,16 +80,16 @@ fillers: fillers originalValues: originalValues - gui.forms.fromFields = (fields, item) -> + gui.forms.fromFields = (fields, item, forShow) -> editing = item? # Locate real Editing item = item or id: "" form = "
" + "" fillers = [] originalValues = {} - if !fields.tabs + tabsArray = [] + if !fields.tabs? and !forShow? tabs = {} - tabsArray = [] for k in fields if !k.gui.tab? k.gui.tab = gettext('Main') @@ -115,7 +115,7 @@ active = " active in" $.each fields.tabs, (index, tab) -> - h = gui.forms.fieldsToHtml(tab.fields, item) + h = gui.forms.fieldsToHtml(tab.fields, item, editing) tabsContent.push "
" + h.html + "
" tabs.push "
  • " + tab.title + "
  • " active = "" @@ -126,7 +126,7 @@ form += "
      " + tabs.join("\n") + "
    " + tabsContent.join("\n") + "
    " else - h = gui.forms.fieldsToHtml(fields, item, editing) + h = gui.forms.fieldsToHtml(fields, item, if forShow? then "readonly" else editing) form += h.html fillers = fillers.concat(h.fillers) $.extend originalValues, h.originalValues diff --git a/server/src/uds/static/adm/js/gui-methods.coffee b/server/src/uds/static/adm/js/gui-methods.coffee index 9a0c03801..2ea799e7e 100644 --- a/server/src/uds/static/adm/js/gui-methods.coffee +++ b/server/src/uds/static/adm/js/gui-methods.coffee @@ -64,13 +64,15 @@ gui.methods.typedShow = (parent, value, placeholder, modalErrorMsg, options) -> parent.rest.item value.id, (item) -> gui.doLog "Item", item, "Gui", guiDefinition data = [] - flds = gui.forms.fieldsToHtml(guiDefinition, item, "readonly") + # flds = gui.forms.fieldsToHtml(guiDefinition, item, "readonly") + flds = gui.forms.fromFields(guiDefinition, item, true) gui.doLog(flds) html = api.templates.evaluate "tmpl_comp_overview_record", id: formId legend: gettext('Overview') fields: flds.html $(placeholder).html(html) + flds.init('#' + formId) gui.tools.applyCustoms '#' + formId return ), gui.failRequestModalFnc(modalErrorMsg, true) diff --git a/server/src/uds/templates/uds/admin/tmpl/providers.html b/server/src/uds/templates/uds/admin/tmpl/providers.html index a5d0e4570..a3316ebc1 100644 --- a/server/src/uds/templates/uds/admin/tmpl/providers.html +++ b/server/src/uds/templates/uds/admin/tmpl/providers.html @@ -14,9 +14,9 @@ {% for message in messages %}
    - {{ message }} + {{ message }}
    - {% endfor %} + {% endfor %} {% endif %} @@ -30,7 +30,7 @@
  • {% endverbatim %}{% trans 'Overview' %}{% verbatim %}
  • {% endverbatim %}{% trans 'Services' %}{% verbatim %}
  • {% endverbatim %}{% trans 'Logs' %}{% verbatim %}
  • - +
    @@ -38,21 +38,17 @@
    -
    +
    -
    -
    -
    -
    ...
    - + -{% endverbatim %} \ No newline at end of file +{% endverbatim %} diff --git a/server/src/uds/templates/uds/admin/tmpl/service-info.html b/server/src/uds/templates/uds/admin/tmpl/service-info.html new file mode 100644 index 000000000..d75a5bf07 --- /dev/null +++ b/server/src/uds/templates/uds/admin/tmpl/service-info.html @@ -0,0 +1,42 @@ +{% load i18n html5 %} +{% verbatim %} + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + {{#each pools }} + + {{/each }} + +
    {% endverbatim %}{% trans 'Image' %}{% verbatim %}{% endverbatim %}{% trans 'Pool' %}{% verbatim %}
    {{ name }}
    +
    +
    +
    +
    +
    +
    + logs +
    +
    +
    +
    +{% endverbatim %}