1
0
mirror of https://github.com/dkmstr/openuds.git synced 2024-12-22 13:34:04 +03:00

* Added form validations (more work will be needed probably for numerics for example)

This commit is contained in:
Adolfo Gómez 2013-11-23 22:39:07 +00:00
parent b7bfecf87c
commit a52e8dc548
44 changed files with 2749 additions and 723 deletions

View File

@ -22,10 +22,6 @@ ADMINS = (
MANAGERS = ADMINS MANAGERS = ADMINS
# Compressor settings (for css/js)
COMPRESS_ENABLED = True
COMPRESS_OUTPUT_DIR = 'cache'
#USE_X_FORWARDED_HOST = True #USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') # For testing begind a reverse proxy SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') # For testing begind a reverse proxy
@ -46,7 +42,6 @@ DATABASES = {
} }
} }
#DB_SECTION_END #DB_SECTION_END
ALLOWED_HOSTS = '*' ALLOWED_HOSTS = '*'
# Local time zone for this installation. Choices can be found here: # Local time zone for this installation. Choices can be found here:
@ -146,13 +141,15 @@ TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
) )
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware', 'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'uds.core.util.request.GlobalRequestMiddleware', 'uds.core.util.request.GlobalRequestMiddleware',
'uds.core.util.middleware.XUACompatibleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
) )
SESSION_EXPIRE_AT_BROWSER_CLOSE = True SESSION_EXPIRE_AT_BROWSER_CLOSE = True
@ -177,7 +174,6 @@ INSTALLED_APPS = (
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'south', 'south',
'compressor',
'uds', 'uds',
) )
@ -233,6 +229,17 @@ LOGGING = {
'encoding': 'utf-8' 'encoding': 'utf-8'
}, },
'database':{
'level':'ERROR',
'class':'logging.handlers.RotatingFileHandler',
'formatter': 'simple',
'filename': LOGDIR + '/' + 'db.log',
'mode': 'a',
'maxBytes': ROTATINGSIZE,
'backupCount': 3,
'encoding': 'utf-8'
},
'servicesFile':{ 'servicesFile':{
'level':'DEBUG', 'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler', 'class':'logging.handlers.RotatingFileHandler',
@ -271,11 +278,6 @@ LOGGING = {
'class':'logging.StreamHandler', 'class':'logging.StreamHandler',
'formatter': 'simple' 'formatter': 'simple'
}, },
'database':{
'level':'DEBUG',
'class':'logging.StreamHandler',
'formatter': 'database'
},
'mail_admins': { 'mail_admins': {
'level': 'ERROR', 'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler', 'class': 'django.utils.log.AdminEmailHandler',

View File

@ -183,7 +183,7 @@ class ModelTypeHandlerMixin(object):
'name': 'comments', 'name': 'comments',
'value':'', 'value':'',
'gui': { 'gui': {
'required':True, 'required':False,
'defvalue':'', 'defvalue':'',
'value':'', 'value':'',
'label': _('Comments'), 'label': _('Comments'),

View File

@ -30,7 +30,7 @@
''' '''
@author: Adolfo Gómez, dkmaster at dkmon dot com @author: Adolfo Gómez, dkmaster at dkmon dot com
''' '''
from __future__ import unicode_literals
from django.db import transaction from django.db import transaction
from uds.models import Cache as dbCache, getSqlDatetime from uds.models import Cache as dbCache, getSqlDatetime
from datetime import datetime, timedelta from datetime import datetime, timedelta

View File

@ -0,0 +1,16 @@
from __future__ import unicode_literals
import logging
logger = logging.getLogger(__name__)
class XUACompatibleMiddleware(object):
"""
Add a X-UA-Compatible header to the response
This header tells to Internet Explorer to render page with latest
possible version or to use chrome frame if it is installed.
"""
def process_response(self, request, response):
if response.get('content-type', '').startswith('text/html'):
response['X-UA-Compatible'] = 'IE=edge'
return response

View File

@ -32,7 +32,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -42,22 +42,32 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: REST/methods/authenticators.py:80 #: REST/mixins.py:172 REST/methods/authenticators.py:82
msgid "Current authenticators" #: REST/methods/networks.py:68 REST/methods/osmanagers.py:71
msgstr "Aktuelle Authentifikatoren" #: REST/methods/providers.py:75 REST/methods/transports.py:79
#: REST/methods/users_groups.py:73
#: REST/methods/authenticators.py:82 REST/methods/networks.py:68
#: REST/methods/osmanagers.py:71 REST/methods/providers.py:69
#: REST/methods/transports.py:71 REST/methods/users.py:77
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: REST/methods/authenticators.py:83 REST/methods/osmanagers.py:72 #: REST/mixins.py:175
#: REST/methods/providers.py:70 REST/methods/transports.py:72 msgid "Name of this element"
#: REST/methods/users.py:78 msgstr "Name dieses Elements"
#: REST/mixins.py:189 REST/methods/authenticators.py:83
#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76
#: REST/methods/transports.py:80 REST/methods/users_groups.py:74
#: REST/methods/users_groups.py:102
msgid "Comments" msgid "Comments"
msgstr "Kommentare" msgstr "Kommentare"
#: REST/mixins.py:192
msgid "Comments for this element"
msgstr "Kommentare für dieses element"
#: REST/methods/authenticators.py:80
msgid "Current authenticators"
msgstr "Aktuelle Authentifikatoren"
#: REST/methods/authenticators.py:84 #: REST/methods/authenticators.py:84
msgid "Users" msgid "Users"
msgstr "Benutzer" msgstr "Benutzer"
@ -72,7 +82,7 @@ msgid "Networks"
msgstr "Netzwerke" msgstr "Netzwerke"
#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 #: REST/methods/networks.py:70 REST/methods/osmanagers.py:73
#: REST/methods/transports.py:73 #: REST/methods/transports.py:81
msgid "Used by" msgid "Used by"
msgstr "Von verwendet" msgstr "Von verwendet"
@ -80,40 +90,49 @@ msgstr "Von verwendet"
msgid "Current OS Managers" msgid "Current OS Managers"
msgstr "Aktuelle OS-Manager" msgstr "Aktuelle OS-Manager"
#: REST/methods/providers.py:67 #: REST/methods/providers.py:73
msgid "Current service providers" msgid "Current service providers"
msgstr "Aktuelle Service-Provider" msgstr "Aktuelle Service-Provider"
#: REST/methods/providers.py:71 templates/uds/index.html:51 #: REST/methods/providers.py:77 templates/uds/index.html:51
#: templates/uds/html5/index.html:68 #: templates/uds/html5/index.html:68
msgid "Services" msgid "Services"
msgstr "Dienstleistungen" msgstr "Dienstleistungen"
#: REST/methods/transports.py:69 #: REST/methods/transports.py:77
msgid "Current Transports" msgid "Current Transports"
msgstr "Aktuelle Transporte" msgstr "Aktuelle Transporte"
#: REST/methods/users.py:70 #: REST/methods/users_groups.py:66
#, python-brace-format #, python-brace-format
msgid "Users of {0}" msgid "Users of {0}"
msgstr "Benutzer von {0}" msgstr "Benutzer von {0}"
#: REST/methods/users.py:72 #: REST/methods/users_groups.py:68
msgid "Current users" msgid "Current users"
msgstr "Momentane Benutzer" msgstr "Momentane Benutzer"
#: REST/methods/users.py:76 #: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101
msgid "User Id" msgid "User Id"
msgstr "Benutzer-Id" msgstr "Benutzer-Id"
#: REST/methods/users.py:79 #: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103
msgid "state" msgid "state"
msgstr "Zustand" msgstr "Zustand"
#: REST/methods/users.py:80 #: REST/methods/users_groups.py:76
msgid "Last access" msgid "Last access"
msgstr "Zuletzt online" msgstr "Zuletzt online"
#: REST/methods/users_groups.py:95
#, python-brace-format
msgid "Groups of {0}"
msgstr "Gruppen von {0}"
#: REST/methods/users_groups.py:97
msgid "Current groups"
msgstr "Aktuelle Gruppen"
#: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422 #: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422
msgid "Forbidden" msgid "Forbidden"
msgstr "Verboten" msgstr "Verboten"
@ -144,7 +163,9 @@ msgstr "Verwendung SSL"
#: auths/ActiveDirectory_enterprise/Authenticator.py:30 #: auths/ActiveDirectory_enterprise/Authenticator.py:30
msgid "If checked, will use a ssl connection to Active Directory" msgid "If checked, will use a ssl connection to Active Directory"
msgstr "Wenn diese Option aktiviert, wird eine Ssl-Verbindung mit Active Directory verwenden." msgstr ""
"Wenn diese Option aktiviert, wird eine Ssl-Verbindung mit Active Directory "
"verwenden."
#: auths/ActiveDirectory_enterprise/Authenticator.py:31 #: auths/ActiveDirectory_enterprise/Authenticator.py:31
msgid "Compatibility" msgid "Compatibility"
@ -164,8 +185,8 @@ msgid ""
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form " "Username with read privileges on the base selected (use USER@DOMAIN.DOM form "
"for this)" "for this)"
msgstr "" msgstr ""
"Benutzernamen mit lesen Berechtigungen auf der Basis ausgewählt (USER@DOMAIN verwenden.DOM-Formular " "Benutzernamen mit lesen Berechtigungen auf der Basis ausgewählt (USER@DOMAIN "
"dafür)" "verwenden.DOM-Formular dafür)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:34 #: auths/ActiveDirectory_enterprise/Authenticator.py:34
#: auths/ActiveDirectory_enterprise/Authenticator.py:52 #: auths/ActiveDirectory_enterprise/Authenticator.py:52
@ -369,7 +390,8 @@ msgstr "Erwartete Gruppenattribut "
msgid "" msgid ""
"Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)" "Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)"
msgstr "" msgstr ""
"LDAP-Benutzer Klasse oder Benutzer-Id-Attr ist vermutlich falsch (Ldap ist eine eDirectory?)" "LDAP-Benutzer Klasse oder Benutzer-Id-Attr ist vermutlich falsch (Ldap ist "
"eine eDirectory?)"
#: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50 #: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50
msgid "IP Authenticator" msgid "IP Authenticator"
@ -531,7 +553,8 @@ msgstr "IDP-Metadaten"
msgid "" msgid ""
"You can enter here the URL or the IDP metadata or the metadata itself (xml)" "You can enter here the URL or the IDP metadata or the metadata itself (xml)"
msgstr "" msgstr ""
"Sie können hier die URL oder die IDP-Metadaten oder die Metadaten selbst (Xml) eingeben." "Sie können hier die URL oder die IDP-Metadaten oder die Metadaten selbst "
"(Xml) eingeben."
#: auths/SAML_enterprise/SAML.py:127 #: auths/SAML_enterprise/SAML.py:127
msgid "Entity ID" msgid "Entity ID"
@ -582,8 +605,8 @@ msgid ""
"Private key should be a valid PEM (PEM private keys starts with -----BEGIN " "Private key should be a valid PEM (PEM private keys starts with -----BEGIN "
"RSA PRIVATE KEY-----" "RSA PRIVATE KEY-----"
msgstr "" msgstr ""
"Der Private Schlüssel sollte ein gültiger PEM (PEM private Schlüssel beginnt mit---BEGIN " "Der Private Schlüssel sollte ein gültiger PEM (PEM private Schlüssel beginnt "
"RSA PRIVATE KEY---" "mit---BEGIN RSA PRIVATE KEY---"
#: auths/SAML_enterprise/SAML.py:197 #: auths/SAML_enterprise/SAML.py:197
#, python-brace-format #, python-brace-format
@ -1158,7 +1181,9 @@ msgstr "Hyper-v Cluster verknüpften Klon (experimentell)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:55 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:55
#: services/HyperV_enterprise/HyperVLinkedService.py:58 #: services/HyperV_enterprise/HyperVLinkedService.py:58
msgid "Hyper Services based on templates and differential disks (experimental)" msgid "Hyper Services based on templates and differential disks (experimental)"
msgstr "Hyper-Dienste basierend auf Vorlagen und differenzielle Datenträger (experimentell)" msgstr ""
"Hyper-Dienste basierend auf Vorlagen und differenzielle Datenträger "
"(experimentell)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72
#: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/HyperV_enterprise/HyperVLinkedService.py:75
@ -1202,7 +1227,8 @@ msgstr "Netzwerk"
msgid "" msgid ""
"If more than 1 interface is found in machine, use one on this network as main" "If more than 1 interface is found in machine, use one on this network as main"
msgstr "" msgstr ""
"Wenn mehr als 1 Schnittstelle im Computer gefunden wird, verwenden Sie eine in diesem Netzwerk als wichtigsten" "Wenn mehr als 1 Schnittstelle im Computer gefunden wird, verwenden Sie eine "
"in diesem Netzwerk als wichtigsten"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98
#: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/HyperV_enterprise/HyperVLinkedService.py:101
@ -1280,7 +1306,8 @@ msgstr "Hyper-v Cluster Service-Provider"
#: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVClusterProvider.py:89
#: services/HyperV_enterprise/HyperVProvider.py:81 #: services/HyperV_enterprise/HyperVProvider.py:81
msgid "HyperV Server IP or Hostname (must enable first WSMAN access)" msgid "HyperV Server IP or Hostname (must enable first WSMAN access)"
msgstr "Hyper-v Server IP oder Hostname (müssen erste WSMAN-Zugriff aktivieren)" msgstr ""
"Hyper-v Server IP oder Hostname (müssen erste WSMAN-Zugriff aktivieren)"
#: services/HyperV_enterprise/HyperVClusterProvider.py:90 #: services/HyperV_enterprise/HyperVClusterProvider.py:90
#: services/HyperV_enterprise/HyperVProvider.py:82 #: services/HyperV_enterprise/HyperVProvider.py:82
@ -1653,7 +1680,8 @@ msgstr "VMWare Linked Clone base"
msgid "" msgid ""
"This service provides access to Linked Clones machines on a Virtual Center" "This service provides access to Linked Clones machines on a Virtual Center"
msgstr "" msgstr ""
"Dieser Service bietet Zugriff auf verknüpfte Klone Maschinen auf ein Virtual Center" "Dieser Service bietet Zugriff auf verknüpfte Klone Maschinen auf ein Virtual "
"Center"
#: templates/404.html:3 templates/500.html:3 #: templates/404.html:3 templates/500.html:3
msgid "Page not found" msgid "Page not found"
@ -1788,15 +1816,27 @@ msgstr "Ausfahrt dashboard"
msgid "logout" msgid "logout"
msgstr "Logout" msgstr "Logout"
#: templates/uds/admin/tmpl/authenticators.html:4
msgid "administration of authenticators"
msgstr "Verwaltung von Authentifikatoren"
#: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/connectivity.html:4
#: templates/uds/admin/tmpl/dashboard.html:4 #: templates/uds/admin/tmpl/dashboard.html:4
msgid "overview" msgid "overview"
msgstr "Übersicht" msgstr "Übersicht"
#: templates/uds/admin/tmpl/modal.html:18
msgid "Close"
msgstr "Schließen"
#: templates/uds/admin/tmpl/modal.html:25
msgid "Save"
msgstr "Speichern"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "Yes"
msgstr "Ja"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "No"
msgstr "Nr."
#: templates/uds/html5/detectJava.html:4 #: templates/uds/html5/detectJava.html:4
msgid "Login redirection to UDS" msgid "Login redirection to UDS"
msgstr "Login-Umleitung zu UDS" msgstr "Login-Umleitung zu UDS"
@ -2253,7 +2293,9 @@ msgstr "Einstellbare Qualität"
#: transports/RGS-enterprise/RGSTransport.py:48 #: transports/RGS-enterprise/RGSTransport.py:48
#: transports/RGS-enterprise/TRGSTransport.py:53 #: transports/RGS-enterprise/TRGSTransport.py:53
msgid "If checked, the image quality will be adjustable with bandwidth" msgid "If checked, the image quality will be adjustable with bandwidth"
msgstr "Wenn diese Option aktiviert, wird die Bildqualität mit Bandbreite einstellbar sein" msgstr ""
"Wenn diese Option aktiviert, wird die Bildqualität mit Bandbreite "
"einstellbar sein"
#: transports/RGS-enterprise/RGSTransport.py:49 #: transports/RGS-enterprise/RGSTransport.py:49
#: transports/RGS-enterprise/TRGSTransport.py:54 #: transports/RGS-enterprise/TRGSTransport.py:54
@ -2266,8 +2308,8 @@ msgid ""
"The lowest image quality applied to images to maintain the minimum update " "The lowest image quality applied to images to maintain the minimum update "
"rate." "rate."
msgstr "" msgstr ""
"Die niedrigste Bildqualität auf Bilder weiterhin das minimale Update angewendet " "Die niedrigste Bildqualität auf Bilder weiterhin das minimale Update "
"Rate." "angewendet Rate."
#: transports/RGS-enterprise/RGSTransport.py:51 #: transports/RGS-enterprise/RGSTransport.py:51
#: transports/RGS-enterprise/TRGSTransport.py:56 #: transports/RGS-enterprise/TRGSTransport.py:56
@ -2333,7 +2375,8 @@ msgstr "RGS-Transport für getunnelte Verbindung"
#: transports/RGS-enterprise/web.py:82 #: transports/RGS-enterprise/web.py:82
msgid "In order to use this service, you should first install RGS Receiver." msgid "In order to use this service, you should first install RGS Receiver."
msgstr "Um diesen Service zu nutzen, sollten Sie zunächst RGS-Empfänger installieren." msgstr ""
"Um diesen Service zu nutzen, sollten Sie zunächst RGS-Empfänger installieren."
#: transports/RGS-enterprise/web.py:83 #: transports/RGS-enterprise/web.py:83
msgid "HP Website" msgid "HP Website"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,146 +18,234 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/adm/js/api-tools.js:46
msgid "Just a moment..."
msgstr "Einen Moment..."
#: static/adm/js/api-tools.js:75
msgid "Sunday"
msgstr "Sonntag"
#: static/adm/js/api-tools.js:75
msgid "Monday"
msgstr "Montag"
#: static/adm/js/api-tools.js:75
msgid "Tuesday"
msgstr "Dienstag"
#: static/adm/js/api-tools.js:75
msgid "Wednesday"
msgstr "Mittwoch"
#: static/adm/js/api-tools.js:76
msgid "Thursday"
msgstr "Donnerstag"
#: static/adm/js/api-tools.js:76
msgid "Friday"
msgstr "Freitag"
#: static/adm/js/api-tools.js:76
msgid "Saturday"
msgstr "Samstag"
#: static/adm/js/api-tools.js:77
msgid "January"
msgstr "Januar"
#: static/adm/js/api-tools.js:77
msgid "February"
msgstr "Februar"
#: static/adm/js/api-tools.js:77
msgid "March"
msgstr "März"
#: static/adm/js/api-tools.js:77
msgid "April"
msgstr "April"
#: static/adm/js/api-tools.js:77
msgid "May"
msgstr "Mai"
#: static/adm/js/api-tools.js:78
msgid "June"
msgstr "Juni"
#: static/adm/js/api-tools.js:78
msgid "July"
msgstr "Juli"
#: static/adm/js/api-tools.js:78
msgid "August"
msgstr "August"
#: static/adm/js/api-tools.js:78
msgid "September"
msgstr "September"
#: static/adm/js/api-tools.js:78
msgid "October"
msgstr "Oktober"
#: static/adm/js/api-tools.js:79
msgid "November"
msgstr "November"
#: static/adm/js/api-tools.js:79
msgid "December"
msgstr "Dezember"
#: static/adm/js/dataTables.bootstrap.js:6 static/adm/js/gui.js:19
msgid "_MENU_ records per page"
msgstr "_MENU_ Datensätze pro Seite"
#: static/adm/js/gui-elements.js:33 #: static/adm/js/gui-elements.js:33
msgid "Service Providers" msgid "Service Providers"
msgstr "Service-Provider" msgstr "Service-Provider"
#: static/adm/js/gui.js:18 #: static/adm/js/gui-elements.js:40
msgid "_MENU_ records per page" msgid "Edit service provider"
msgstr "_MENU_ Datensätze pro Seite" msgstr "Dienstleister bearbeiten"
#: static/adm/js/gui.js:19 #: static/adm/js/gui-elements.js:104
msgid "Edit authenticator"
msgstr "Authentifikator bearbeiten"
#: static/adm/js/gui-elements.js:149
msgid "Edit transport"
msgstr "Bearbeiten Verkehr"
#: static/adm/js/gui-elements.js:159
msgid "New transport"
msgstr "Neue Verkehrsmittel"
#: static/adm/js/gui.js:20
msgid "Empty" msgid "Empty"
msgstr "Leer" msgstr "Leer"
#: static/adm/js/gui.js:20 #: static/adm/js/gui.js:21
msgid "Records _START_ to _END_ of _TOTAL_" msgid "Records _START_ to _END_ of _TOTAL_"
msgstr "Zeichnet _START_, _END_ von _TOTAL_" msgstr "Zeichnet _START_, _END_ von _TOTAL_"
#: static/adm/js/gui.js:21 #: static/adm/js/gui.js:22
msgid "No records" msgid "No records"
msgstr "Keine Datensätze" msgstr "Keine Datensätze"
#: static/adm/js/gui.js:22 #: static/adm/js/gui.js:23
msgid "(filtered from _MAX_ total records)" msgid "(filtered from _MAX_ total records)"
msgstr "(von _MAX_ Datensätze gefiltert)" msgstr "(von _MAX_ Datensätze gefiltert)"
#: static/adm/js/gui.js:23 #: static/adm/js/gui.js:24
msgid "Please wait, processing" msgid "Please wait, processing"
msgstr "Bitte warten, Verarbeitung" msgstr "Bitte warten, Verarbeitung"
#: static/adm/js/gui.js:24 #: static/adm/js/gui.js:25
msgid "Filter" msgid "Filter"
msgstr "Filter" msgstr "Filter"
#: static/adm/js/gui.js:27 #: static/adm/js/gui.js:28
msgid "First" msgid "First"
msgstr "Erste" msgstr "Erste"
#: static/adm/js/gui.js:28 #: static/adm/js/gui.js:29
msgid "Last" msgid "Last"
msgstr "Letzter" msgstr "Letzter"
#: static/adm/js/gui.js:29 #: static/adm/js/gui.js:30
msgid "Next" msgid "Next"
msgstr "Nächste" msgstr "Nächste"
#: static/adm/js/gui.js:30 #: static/adm/js/gui.js:31
msgid "Previous" msgid "Previous"
msgstr "Vorherige" msgstr "Vorherige"
#: static/adm/js/gui.js:75 #: static/adm/js/gui.js:37
msgid "Deployed services" msgid "New"
msgstr "Bereitgestellten Dienste" msgstr "Neu"
#: static/adm/js/gui.js:360 #: static/adm/js/gui.js:41
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" msgstr "Bearbeiten"
#: static/adm/js/gui.js:369 #: static/adm/js/gui.js:45
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: static/adm/js/gui.js:378 #: static/adm/js/gui.js:49
msgid "Refresh" msgid "Refresh"
msgstr "Aktualisieren" msgstr "Aktualisieren"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:53
msgid "Sunday" msgid "Xls"
msgstr "Sonntag" msgstr "Xls"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:166
msgid "Monday" msgid "Deployed services"
msgstr "Montag" msgstr "Bereitgestellten Dienste"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:204
msgid "Tuesday" msgid "This field is required."
msgstr "Dienstag" msgstr "Dieses Feld ist erforderlich."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:205
msgid "Wednesday" msgid "Please fix this field."
msgstr "Mittwoch" msgstr "Bitte korrigieren Sie in diesem Feld."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:206
msgid "Thursday" msgid "Please enter a valid email address."
msgstr "Donnerstag" msgstr "Bitte geben Sie eine gültige e-Mail-Adresse."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:207
msgid "Friday" msgid "Please enter a valid URL."
msgstr "Freitag" msgstr "Bitte geben Sie eine gültige URL."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:208
msgid "Saturday" msgid "Please enter a valid date."
msgstr "Samstag" msgstr "Bitte geben Sie ein gültiges Datum."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:209
msgid "January" msgid "Please enter a valid date (ISO)."
msgstr "Januar" msgstr "Bitte geben Sie ein gültiges Datum (ISO)."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:210
msgid "February" msgid "Please enter a valid number."
msgstr "Februar" msgstr "Bitte geben Sie eine gültige Nummer."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:211
msgid "March" msgid "Please enter only digits."
msgstr "März" msgstr "Bitte geben Sie nur Ziffern."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:212
msgid "April" msgid "Please enter a valid credit card number."
msgstr "April" msgstr "Bitte geben Sie eine gültige Kreditkartennummer."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:213
msgid "May" msgid "Please enter the same value again."
msgstr "Mai" msgstr "Bitte geben Sie den gleichen Wert wieder."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:214
msgid "June" msgid "Please enter no more than {0} characters."
msgstr "Juni" msgstr "Bitte geben Sie nicht mehr als {0} Zeichen."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:215
msgid "July" msgid "Please enter at least {0} characters."
msgstr "Juli" msgstr "Bitte geben Sie mindestens {0} Zeichen."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:216
msgid "August" msgid "Please enter a value between {0} and {1} characters long."
msgstr "August" msgstr "Bitte geben Sie einen Wert zwischen {0} und {1} Zeichen lang."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:217
msgid "September" msgid "Please enter a value between {0} and {1}."
msgstr "September" msgstr "Bitte geben Sie einen Wert zwischen {0} und {1}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:218
msgid "October" msgid "Please enter a value less than or equal to {0}."
msgstr "Oktober" msgstr "Bitte geben Sie einen Wert kleiner oder gleich {0}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:219
msgid "November" msgid "Please enter a value greater than or equal to {0}."
msgstr "November" msgstr "Bitte geben Sie einen Wert größer oder gleich {0}."
#: static/adm/js/strftime.js:35
msgid "December"
msgstr "Dezember"
#: static/adm/js/tools.js:46
msgid "Just a moment..."
msgstr "Einen Moment..."

View File

@ -31,7 +31,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: 2013-04-22 06:24+0200\n" "PO-Revision-Date: 2013-04-22 06:24+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Spanish <kde-i18n-doc@kde.org>\n" "Language-Team: Spanish <kde-i18n-doc@kde.org>\n"
@ -42,22 +42,32 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Lokalize 1.4\n" "X-Generator: Lokalize 1.4\n"
#: REST/methods/authenticators.py:80 #: REST/mixins.py:172 REST/methods/authenticators.py:82
msgid "Current authenticators" #: REST/methods/networks.py:68 REST/methods/osmanagers.py:71
msgstr "Autenticadores actuales" #: REST/methods/providers.py:75 REST/methods/transports.py:79
#: REST/methods/users_groups.py:73
#: REST/methods/authenticators.py:82 REST/methods/networks.py:68
#: REST/methods/osmanagers.py:71 REST/methods/providers.py:69
#: REST/methods/transports.py:71 REST/methods/users.py:77
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: REST/methods/authenticators.py:83 REST/methods/osmanagers.py:72 #: REST/mixins.py:175
#: REST/methods/providers.py:70 REST/methods/transports.py:72 msgid "Name of this element"
#: REST/methods/users.py:78 msgstr "Nombre de este elemento"
#: REST/mixins.py:189 REST/methods/authenticators.py:83
#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76
#: REST/methods/transports.py:80 REST/methods/users_groups.py:74
#: REST/methods/users_groups.py:102
msgid "Comments" msgid "Comments"
msgstr "Comentarios" msgstr "Comentarios"
#: REST/mixins.py:192
msgid "Comments for this element"
msgstr "Comentarios para este elemento"
#: REST/methods/authenticators.py:80
msgid "Current authenticators"
msgstr "Autenticadores actuales"
#: REST/methods/authenticators.py:84 #: REST/methods/authenticators.py:84
msgid "Users" msgid "Users"
msgstr "Usuarios" msgstr "Usuarios"
@ -72,7 +82,7 @@ msgid "Networks"
msgstr "Redes" msgstr "Redes"
#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 #: REST/methods/networks.py:70 REST/methods/osmanagers.py:73
#: REST/methods/transports.py:73 #: REST/methods/transports.py:81
msgid "Used by" msgid "Used by"
msgstr "Utilizado por" msgstr "Utilizado por"
@ -80,40 +90,49 @@ msgstr "Utilizado por"
msgid "Current OS Managers" msgid "Current OS Managers"
msgstr "Actual OS administradores" msgstr "Actual OS administradores"
#: REST/methods/providers.py:67 #: REST/methods/providers.py:73
msgid "Current service providers" msgid "Current service providers"
msgstr "Proveedores de servicio actuales" msgstr "Proveedores de servicio actuales"
#: REST/methods/providers.py:71 templates/uds/index.html:51 #: REST/methods/providers.py:77 templates/uds/index.html:51
#: templates/uds/html5/index.html:68 #: templates/uds/html5/index.html:68
msgid "Services" msgid "Services"
msgstr "Servicios" msgstr "Servicios"
#: REST/methods/transports.py:69 #: REST/methods/transports.py:77
msgid "Current Transports" msgid "Current Transports"
msgstr "Transportes actuales" msgstr "Transportes actuales"
#: REST/methods/users.py:70 #: REST/methods/users_groups.py:66
#, python-brace-format #, python-brace-format
msgid "Users of {0}" msgid "Users of {0}"
msgstr "Usuarios de {0}" msgstr "Usuarios de {0}"
#: REST/methods/users.py:72 #: REST/methods/users_groups.py:68
msgid "Current users" msgid "Current users"
msgstr "Usuarios actuales" msgstr "Usuarios actuales"
#: REST/methods/users.py:76 #: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101
msgid "User Id" msgid "User Id"
msgstr "Id de usuario" msgstr "Id de usuario"
#: REST/methods/users.py:79 #: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103
msgid "state" msgid "state"
msgstr "estado" msgstr "estado"
#: REST/methods/users.py:80 #: REST/methods/users_groups.py:76
msgid "Last access" msgid "Last access"
msgstr "Último acceso" msgstr "Último acceso"
#: REST/methods/users_groups.py:95
#, python-brace-format
msgid "Groups of {0}"
msgstr "Grupos de {0}"
#: REST/methods/users_groups.py:97
msgid "Current groups"
msgstr "Grupos actuales"
#: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422 #: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422
msgid "Forbidden" msgid "Forbidden"
msgstr "Prohibido" msgstr "Prohibido"
@ -164,8 +183,8 @@ msgid ""
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form " "Username with read privileges on the base selected (use USER@DOMAIN.DOM form "
"for this)" "for this)"
msgstr "" msgstr ""
"Nombre de usuario con privilegios de lectura en la base seleccionada (uso USER@DOMAIN.Formulario de DOM " "Nombre de usuario con privilegios de lectura en la base seleccionada (uso "
"para esto)" "USER@DOMAIN.Formulario de DOM para esto)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:34 #: auths/ActiveDirectory_enterprise/Authenticator.py:34
#: auths/ActiveDirectory_enterprise/Authenticator.py:52 #: auths/ActiveDirectory_enterprise/Authenticator.py:52
@ -244,7 +263,8 @@ msgstr "Grupo"
#: auths/ActiveDirectory_enterprise/Authenticator.py:67 #: auths/ActiveDirectory_enterprise/Authenticator.py:67
#: auths/ActiveDirectory_enterprise/Authenticator.py:442 #: auths/ActiveDirectory_enterprise/Authenticator.py:442
msgid "Must specify the username in the form USERNAME@DOMAIN.DOM" msgid "Must specify the username in the form USERNAME@DOMAIN.DOM"
msgstr "Debe especificar el nombre de usuario en el formulario USERNAME@DOMAIN.DOM" msgstr ""
"Debe especificar el nombre de usuario en el formulario USERNAME@DOMAIN.DOM"
#: auths/ActiveDirectory_enterprise/Authenticator.py:164 #: auths/ActiveDirectory_enterprise/Authenticator.py:164
#: auths/EDirectory_enterprise/Authenticator.py:123 #: auths/EDirectory_enterprise/Authenticator.py:123
@ -371,7 +391,8 @@ msgstr "Atributo de grupo esperados "
msgid "" msgid ""
"Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)" "Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)"
msgstr "" msgstr ""
"LDAP usuario clase o usuario id attr es probablemente incorrecto (Ldap es un eDirectory?)" "LDAP usuario clase o usuario id attr es probablemente incorrecto (Ldap es un "
"eDirectory?)"
#: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50 #: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50
msgid "IP Authenticator" msgid "IP Authenticator"
@ -522,7 +543,8 @@ msgstr "Certificado"
#: auths/SAML_enterprise/SAML.py:123 #: auths/SAML_enterprise/SAML.py:123
msgid "Server certificate (public), , as generated in base 64 from openssl" msgid "Server certificate (public), , as generated in base 64 from openssl"
msgstr "Certificado del servidor (público), como generados en base 64 de openssl" msgstr ""
"Certificado del servidor (público), como generados en base 64 de openssl"
#: auths/SAML_enterprise/SAML.py:124 #: auths/SAML_enterprise/SAML.py:124
msgid "IDP Metadata" msgid "IDP Metadata"
@ -532,7 +554,8 @@ msgstr "IDP metadatos"
msgid "" msgid ""
"You can enter here the URL or the IDP metadata or the metadata itself (xml)" "You can enter here the URL or the IDP metadata or the metadata itself (xml)"
msgstr "" msgstr ""
"Aquí puede introducir la URL o los metadatos IDP o los metadatos de sí mismo (xml)" "Aquí puede introducir la URL o los metadatos IDP o los metadatos de sí mismo "
"(xml)"
#: auths/SAML_enterprise/SAML.py:127 #: auths/SAML_enterprise/SAML.py:127
msgid "Entity ID" msgid "Entity ID"
@ -540,7 +563,9 @@ msgstr "ID de entidad"
#: auths/SAML_enterprise/SAML.py:128 #: auths/SAML_enterprise/SAML.py:128
msgid "ID of the SP. If left blank, this will be autogenerated from server URL" msgid "ID of the SP. If left blank, this will be autogenerated from server URL"
msgstr "ID del SP. Si deja en blanco, este será generadas automáticamente desde la dirección URL del servidor" msgstr ""
"ID del SP. Si deja en blanco, este será generadas automáticamente desde la "
"dirección URL del servidor"
#: auths/SAML_enterprise/SAML.py:130 #: auths/SAML_enterprise/SAML.py:130
msgid "User name attrs" msgid "User name attrs"
@ -571,8 +596,8 @@ msgid ""
"Server certificate should be a valid PEM (PEM certificates starts with -----" "Server certificate should be a valid PEM (PEM certificates starts with -----"
"BEGIN CERTIFICATE-----)" "BEGIN CERTIFICATE-----)"
msgstr "" msgstr ""
"Certificado del servidor debe ser un PEM válido (PEM certificados comienza con---" "Certificado del servidor debe ser un PEM válido (PEM certificados comienza "
"BEGIN CERTIFICADO---)" "con---BEGIN CERTIFICADO---)"
#: auths/SAML_enterprise/SAML.py:165 #: auths/SAML_enterprise/SAML.py:165
msgid "Invalid server certificate. " msgid "Invalid server certificate. "
@ -583,8 +608,8 @@ msgid ""
"Private key should be a valid PEM (PEM private keys starts with -----BEGIN " "Private key should be a valid PEM (PEM private keys starts with -----BEGIN "
"RSA PRIVATE KEY-----" "RSA PRIVATE KEY-----"
msgstr "" msgstr ""
"Clave privada debe ser un PEM válido (PEM claves privadas comienza con---BEGIN " "Clave privada debe ser un PEM válido (PEM claves privadas comienza con---"
"CLAVE PRIVADA RSA---" "BEGIN CLAVE PRIVADA RSA---"
#: auths/SAML_enterprise/SAML.py:197 #: auths/SAML_enterprise/SAML.py:197
#, python-brace-format #, python-brace-format
@ -1151,7 +1176,8 @@ msgstr "Cluster HyperV ligado clon (Experimental)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:55 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:55
#: services/HyperV_enterprise/HyperVLinkedService.py:58 #: services/HyperV_enterprise/HyperVLinkedService.py:58
msgid "Hyper Services based on templates and differential disks (experimental)" msgid "Hyper Services based on templates and differential disks (experimental)"
msgstr "Hiper servicios basados en plantillas y diferenciales discos (experimentales)" msgstr ""
"Hiper servicios basados en plantillas y diferenciales discos (experimentales)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72
#: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/HyperV_enterprise/HyperVLinkedService.py:75
@ -1192,7 +1218,8 @@ msgstr "Red"
msgid "" msgid ""
"If more than 1 interface is found in machine, use one on this network as main" "If more than 1 interface is found in machine, use one on this network as main"
msgstr "" msgstr ""
"Si más de una interfaz se encuentra en la máquina, utilice uno de esta red como principal" "Si más de una interfaz se encuentra en la máquina, utilice uno de esta red "
"como principal"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98
#: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/HyperV_enterprise/HyperVLinkedService.py:101
@ -1215,7 +1242,8 @@ msgstr "Unidades de almacén de datos"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:101 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:101
#: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:104
msgid "Datastores where to put incrementals & publications" msgid "Datastores where to put incrementals & publications"
msgstr "Almacenes de datos dónde poner los backups incrementales & publicaciones" msgstr ""
"Almacenes de datos dónde poner los backups incrementales & publicaciones"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102
#: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/HyperV_enterprise/HyperVLinkedService.py:105
@ -1270,7 +1298,8 @@ msgstr "Proveedor de servicios de clúster HyperV"
#: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVClusterProvider.py:89
#: services/HyperV_enterprise/HyperVProvider.py:81 #: services/HyperV_enterprise/HyperVProvider.py:81
msgid "HyperV Server IP or Hostname (must enable first WSMAN access)" msgid "HyperV Server IP or Hostname (must enable first WSMAN access)"
msgstr "HyperV servidor IP o nombre de host (debe permitir el acceso WSMAN primera)" msgstr ""
"HyperV servidor IP o nombre de host (debe permitir el acceso WSMAN primera)"
#: services/HyperV_enterprise/HyperVClusterProvider.py:90 #: services/HyperV_enterprise/HyperVClusterProvider.py:90
#: services/HyperV_enterprise/HyperVProvider.py:82 #: services/HyperV_enterprise/HyperVProvider.py:82
@ -1639,7 +1668,8 @@ msgstr "VMWare vinculado base clon"
msgid "" msgid ""
"This service provides access to Linked Clones machines on a Virtual Center" "This service provides access to Linked Clones machines on a Virtual Center"
msgstr "" msgstr ""
"Este servicio proporciona acceso a máquinas de Clones enlazados en un Centro Virtual" "Este servicio proporciona acceso a máquinas de Clones enlazados en un Centro "
"Virtual"
#: templates/404.html:3 templates/500.html:3 #: templates/404.html:3 templates/500.html:3
msgid "Page not found" msgid "Page not found"
@ -1774,15 +1804,27 @@ msgstr "Tablero de salida"
msgid "logout" msgid "logout"
msgstr "logout" msgstr "logout"
#: templates/uds/admin/tmpl/authenticators.html:4
msgid "administration of authenticators"
msgstr "Administración de autenticadores"
#: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/connectivity.html:4
#: templates/uds/admin/tmpl/dashboard.html:4 #: templates/uds/admin/tmpl/dashboard.html:4
msgid "overview" msgid "overview"
msgstr "Resumen" msgstr "Resumen"
#: templates/uds/admin/tmpl/modal.html:18
msgid "Close"
msgstr "Cerrar"
#: templates/uds/admin/tmpl/modal.html:25
msgid "Save"
msgstr "Salvar"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "Yes"
msgstr "Sí"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "No"
msgstr "No"
#: templates/uds/html5/detectJava.html:4 #: templates/uds/html5/detectJava.html:4
msgid "Login redirection to UDS" msgid "Login redirection to UDS"
msgstr "Redirección de inicio de sesión para UDS" msgstr "Redirección de inicio de sesión para UDS"
@ -2231,7 +2273,8 @@ msgstr "Calidad ajustable"
#: transports/RGS-enterprise/RGSTransport.py:48 #: transports/RGS-enterprise/RGSTransport.py:48
#: transports/RGS-enterprise/TRGSTransport.py:53 #: transports/RGS-enterprise/TRGSTransport.py:53
msgid "If checked, the image quality will be adjustable with bandwidth" msgid "If checked, the image quality will be adjustable with bandwidth"
msgstr "Si está marcada, la calidad de imagen será ajustable con ancho de banda" msgstr ""
"Si está marcada, la calidad de imagen será ajustable con ancho de banda"
#: transports/RGS-enterprise/RGSTransport.py:49 #: transports/RGS-enterprise/RGSTransport.py:49
#: transports/RGS-enterprise/TRGSTransport.py:54 #: transports/RGS-enterprise/TRGSTransport.py:54
@ -2244,8 +2287,8 @@ msgid ""
"The lowest image quality applied to images to maintain the minimum update " "The lowest image quality applied to images to maintain the minimum update "
"rate." "rate."
msgstr "" msgstr ""
"La menor calidad de imagen aplicada a las imágenes para mantener la actualización mínima " "La menor calidad de imagen aplicada a las imágenes para mantener la "
"tasa." "actualización mínima tasa."
#: transports/RGS-enterprise/RGSTransport.py:51 #: transports/RGS-enterprise/RGSTransport.py:51
#: transports/RGS-enterprise/TRGSTransport.py:56 #: transports/RGS-enterprise/TRGSTransport.py:56
@ -2255,7 +2298,8 @@ msgstr "Velocidad de fotogramas ajustable"
#: transports/RGS-enterprise/RGSTransport.py:52 #: transports/RGS-enterprise/RGSTransport.py:52
#: transports/RGS-enterprise/TRGSTransport.py:57 #: transports/RGS-enterprise/TRGSTransport.py:57
msgid "Update rate threshold to begin adjusting image quality" msgid "Update rate threshold to begin adjusting image quality"
msgstr "Umbral de tasa de actualización para comenzar a ajustar la calidad de imagen" msgstr ""
"Umbral de tasa de actualización para comenzar a ajustar la calidad de imagen"
#: transports/RGS-enterprise/RGSTransport.py:53 #: transports/RGS-enterprise/RGSTransport.py:53
#: transports/RGS-enterprise/TRGSTransport.py:58 #: transports/RGS-enterprise/TRGSTransport.py:58
@ -2311,7 +2355,8 @@ msgstr "RGS transporte para la conexión de túnel"
#: transports/RGS-enterprise/web.py:82 #: transports/RGS-enterprise/web.py:82
msgid "In order to use this service, you should first install RGS Receiver." msgid "In order to use this service, you should first install RGS Receiver."
msgstr "Para poder utilizar este servicio, usted debe instalar primero RGS receptor." msgstr ""
"Para poder utilizar este servicio, usted debe instalar primero RGS receptor."
#: transports/RGS-enterprise/web.py:83 #: transports/RGS-enterprise/web.py:83
msgid "HP Website" msgid "HP Website"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,146 +18,234 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/adm/js/api-tools.js:46
msgid "Just a moment..."
msgstr "Un momento..."
#: static/adm/js/api-tools.js:75
msgid "Sunday"
msgstr "Domingo"
#: static/adm/js/api-tools.js:75
msgid "Monday"
msgstr "Lunes"
#: static/adm/js/api-tools.js:75
msgid "Tuesday"
msgstr "Martes"
#: static/adm/js/api-tools.js:75
msgid "Wednesday"
msgstr "Miércoles"
#: static/adm/js/api-tools.js:76
msgid "Thursday"
msgstr "Jueves"
#: static/adm/js/api-tools.js:76
msgid "Friday"
msgstr "Viernes"
#: static/adm/js/api-tools.js:76
msgid "Saturday"
msgstr "Sábado"
#: static/adm/js/api-tools.js:77
msgid "January"
msgstr "Enero"
#: static/adm/js/api-tools.js:77
msgid "February"
msgstr "Febrero"
#: static/adm/js/api-tools.js:77
msgid "March"
msgstr "Marzo"
#: static/adm/js/api-tools.js:77
msgid "April"
msgstr "Abril"
#: static/adm/js/api-tools.js:77
msgid "May"
msgstr "Mayo"
#: static/adm/js/api-tools.js:78
msgid "June"
msgstr "Junio"
#: static/adm/js/api-tools.js:78
msgid "July"
msgstr "Julio"
#: static/adm/js/api-tools.js:78
msgid "August"
msgstr "Agosto"
#: static/adm/js/api-tools.js:78
msgid "September"
msgstr "Septiembre"
#: static/adm/js/api-tools.js:78
msgid "October"
msgstr "Octubre"
#: static/adm/js/api-tools.js:79
msgid "November"
msgstr "Noviembre"
#: static/adm/js/api-tools.js:79
msgid "December"
msgstr "Diciembre"
#: static/adm/js/dataTables.bootstrap.js:6 static/adm/js/gui.js:19
msgid "_MENU_ records per page"
msgstr "Registros _MENU_ por página"
#: static/adm/js/gui-elements.js:33 #: static/adm/js/gui-elements.js:33
msgid "Service Providers" msgid "Service Providers"
msgstr "Proveedores de servicios" msgstr "Proveedores de servicios"
#: static/adm/js/gui.js:18 #: static/adm/js/gui-elements.js:40
msgid "_MENU_ records per page" msgid "Edit service provider"
msgstr "Registros _MENU_ por página" msgstr "Editar proveedor"
#: static/adm/js/gui.js:19 #: static/adm/js/gui-elements.js:104
msgid "Edit authenticator"
msgstr "Editar autenticador"
#: static/adm/js/gui-elements.js:149
msgid "Edit transport"
msgstr "Editar transporte"
#: static/adm/js/gui-elements.js:159
msgid "New transport"
msgstr "Nuevo transporte"
#: static/adm/js/gui.js:20
msgid "Empty" msgid "Empty"
msgstr "Vacío" msgstr "Vacío"
#: static/adm/js/gui.js:20 #: static/adm/js/gui.js:21
msgid "Records _START_ to _END_ of _TOTAL_" msgid "Records _START_ to _END_ of _TOTAL_"
msgstr "Registros de _START_ a _END_ de _TOTAL_" msgstr "Registros de _START_ a _END_ de _TOTAL_"
#: static/adm/js/gui.js:21 #: static/adm/js/gui.js:22
msgid "No records" msgid "No records"
msgstr "No hay registros" msgstr "No hay registros"
#: static/adm/js/gui.js:22 #: static/adm/js/gui.js:23
msgid "(filtered from _MAX_ total records)" msgid "(filtered from _MAX_ total records)"
msgstr "(filtrado de registros total _MAX_)" msgstr "(filtrado de registros total _MAX_)"
#: static/adm/js/gui.js:23 #: static/adm/js/gui.js:24
msgid "Please wait, processing" msgid "Please wait, processing"
msgstr "Por favor espere, procesando" msgstr "Por favor espere, procesando"
#: static/adm/js/gui.js:24 #: static/adm/js/gui.js:25
msgid "Filter" msgid "Filter"
msgstr "Filtro" msgstr "Filtro"
#: static/adm/js/gui.js:27 #: static/adm/js/gui.js:28
msgid "First" msgid "First"
msgstr "Primero" msgstr "Primero"
#: static/adm/js/gui.js:28 #: static/adm/js/gui.js:29
msgid "Last" msgid "Last"
msgstr "Duran" msgstr "Duran"
#: static/adm/js/gui.js:29 #: static/adm/js/gui.js:30
msgid "Next" msgid "Next"
msgstr "Próxima" msgstr "Próxima"
#: static/adm/js/gui.js:30 #: static/adm/js/gui.js:31
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: static/adm/js/gui.js:75 #: static/adm/js/gui.js:37
msgid "Deployed services" msgid "New"
msgstr "Servicios desplegados" msgstr "Nuevo"
#: static/adm/js/gui.js:360 #: static/adm/js/gui.js:41
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
#: static/adm/js/gui.js:369 #: static/adm/js/gui.js:45
msgid "Delete" msgid "Delete"
msgstr "Borrar" msgstr "Borrar"
#: static/adm/js/gui.js:378 #: static/adm/js/gui.js:49
msgid "Refresh" msgid "Refresh"
msgstr "Actualización" msgstr "Actualización"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:53
msgid "Sunday" msgid "Xls"
msgstr "Domingo" msgstr "XLS"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:166
msgid "Monday" msgid "Deployed services"
msgstr "Lunes" msgstr "Servicios desplegados"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:204
msgid "Tuesday" msgid "This field is required."
msgstr "Martes" msgstr "Este campo es requerido."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:205
msgid "Wednesday" msgid "Please fix this field."
msgstr "Miércoles" msgstr "Por favor arreglar este campo."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:206
msgid "Thursday" msgid "Please enter a valid email address."
msgstr "Jueves" msgstr "Introduzca una dirección de correo electrónico válida."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:207
msgid "Friday" msgid "Please enter a valid URL."
msgstr "Viernes" msgstr "Por favor, introduzca una URL válida."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:208
msgid "Saturday" msgid "Please enter a valid date."
msgstr "Sábado" msgstr "Por favor, introduzca una fecha válida."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:209
msgid "January" msgid "Please enter a valid date (ISO)."
msgstr "Enero" msgstr "Por favor, introduzca una fecha válida (ISO)."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:210
msgid "February" msgid "Please enter a valid number."
msgstr "Febrero" msgstr "Por favor, introduzca un número válido."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:211
msgid "March" msgid "Please enter only digits."
msgstr "Marzo" msgstr "Introduce sólo dígitos."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:212
msgid "April" msgid "Please enter a valid credit card number."
msgstr "Abril" msgstr "Por favor, introduzca un número de tarjeta de crédito válida."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:213
msgid "May" msgid "Please enter the same value again."
msgstr "Mayo" msgstr "Por favor, introduzca el valor mismo otra vez."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:214
msgid "June" msgid "Please enter no more than {0} characters."
msgstr "Junio" msgstr "Introduce no más de {0} caracteres."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:215
msgid "July" msgid "Please enter at least {0} characters."
msgstr "Julio" msgstr "Introduce al menos {0} caracteres."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:216
msgid "August" msgid "Please enter a value between {0} and {1} characters long."
msgstr "Agosto" msgstr "Por favor, introduzca un valor entre caracteres {0} y {1} durante mucho tiempo."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:217
msgid "September" msgid "Please enter a value between {0} and {1}."
msgstr "Septiembre" msgstr "Por favor, introduzca un valor entre {0} y {1}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:218
msgid "October" msgid "Please enter a value less than or equal to {0}."
msgstr "Octubre" msgstr "Por favor, introduzca un valor menor o igual a {0}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:219
msgid "November" msgid "Please enter a value greater than or equal to {0}."
msgstr "Noviembre" msgstr "Por favor, introduzca un valor mayor o igual a {0}."
#: static/adm/js/strftime.js:35
msgid "December"
msgstr "Diciembre"
#: static/adm/js/tools.js:46
msgid "Just a moment..."
msgstr "Un momento..."

View File

@ -32,7 +32,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -42,22 +42,32 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n"
#: REST/methods/authenticators.py:80 #: REST/mixins.py:172 REST/methods/authenticators.py:82
msgid "Current authenticators" #: REST/methods/networks.py:68 REST/methods/osmanagers.py:71
msgstr "Authentificateurs actuels" #: REST/methods/providers.py:75 REST/methods/transports.py:79
#: REST/methods/users_groups.py:73
#: REST/methods/authenticators.py:82 REST/methods/networks.py:68
#: REST/methods/osmanagers.py:71 REST/methods/providers.py:69
#: REST/methods/transports.py:71 REST/methods/users.py:77
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: REST/methods/authenticators.py:83 REST/methods/osmanagers.py:72 #: REST/mixins.py:175
#: REST/methods/providers.py:70 REST/methods/transports.py:72 msgid "Name of this element"
#: REST/methods/users.py:78 msgstr "Nom de cet élément"
#: REST/mixins.py:189 REST/methods/authenticators.py:83
#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76
#: REST/methods/transports.py:80 REST/methods/users_groups.py:74
#: REST/methods/users_groups.py:102
msgid "Comments" msgid "Comments"
msgstr "Commentaires" msgstr "Commentaires"
#: REST/mixins.py:192
msgid "Comments for this element"
msgstr "Commentaires pour cet élément"
#: REST/methods/authenticators.py:80
msgid "Current authenticators"
msgstr "Authentificateurs actuels"
#: REST/methods/authenticators.py:84 #: REST/methods/authenticators.py:84
msgid "Users" msgid "Users"
msgstr "Utilisateurs" msgstr "Utilisateurs"
@ -72,7 +82,7 @@ msgid "Networks"
msgstr "Réseaux" msgstr "Réseaux"
#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 #: REST/methods/networks.py:70 REST/methods/osmanagers.py:73
#: REST/methods/transports.py:73 #: REST/methods/transports.py:81
msgid "Used by" msgid "Used by"
msgstr "Utilisé par" msgstr "Utilisé par"
@ -80,40 +90,49 @@ msgstr "Utilisé par"
msgid "Current OS Managers" msgid "Current OS Managers"
msgstr "Dirigeants de OS actuels" msgstr "Dirigeants de OS actuels"
#: REST/methods/providers.py:67 #: REST/methods/providers.py:73
msgid "Current service providers" msgid "Current service providers"
msgstr "Fournisseurs de services actuels" msgstr "Fournisseurs de services actuels"
#: REST/methods/providers.py:71 templates/uds/index.html:51 #: REST/methods/providers.py:77 templates/uds/index.html:51
#: templates/uds/html5/index.html:68 #: templates/uds/html5/index.html:68
msgid "Services" msgid "Services"
msgstr "Services" msgstr "Services"
#: REST/methods/transports.py:69 #: REST/methods/transports.py:77
msgid "Current Transports" msgid "Current Transports"
msgstr "Transports actuels" msgstr "Transports actuels"
#: REST/methods/users.py:70 #: REST/methods/users_groups.py:66
#, python-brace-format #, python-brace-format
msgid "Users of {0}" msgid "Users of {0}"
msgstr "Utilisateurs de {0}" msgstr "Utilisateurs de {0}"
#: REST/methods/users.py:72 #: REST/methods/users_groups.py:68
msgid "Current users" msgid "Current users"
msgstr "Utilisateurs actuels" msgstr "Utilisateurs actuels"
#: REST/methods/users.py:76 #: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101
msgid "User Id" msgid "User Id"
msgstr "Id de l'utilisateur" msgstr "Id de l'utilisateur"
#: REST/methods/users.py:79 #: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103
msgid "state" msgid "state"
msgstr "État" msgstr "État"
#: REST/methods/users.py:80 #: REST/methods/users_groups.py:76
msgid "Last access" msgid "Last access"
msgstr "Dernier accès" msgstr "Dernier accès"
#: REST/methods/users_groups.py:95
#, python-brace-format
msgid "Groups of {0}"
msgstr "Groupes de {0}"
#: REST/methods/users_groups.py:97
msgid "Current groups"
msgstr "Groupes actuels"
#: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422 #: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422
msgid "Forbidden" msgid "Forbidden"
msgstr "Interdit" msgstr "Interdit"
@ -152,7 +171,9 @@ msgstr "Compatibilité"
#: auths/ActiveDirectory_enterprise/Authenticator.py:31 #: auths/ActiveDirectory_enterprise/Authenticator.py:31
msgid "Compatibility of AD connection (Usually windows 2000 and later)" msgid "Compatibility of AD connection (Usually windows 2000 and later)"
msgstr "Compatibilité de connexion AD (généralement windows 2000 et versions ultérieures)" msgstr ""
"Compatibilité de connexion AD (généralement windows 2000 et versions "
"ultérieures)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:33 #: auths/ActiveDirectory_enterprise/Authenticator.py:33
#: auths/RegexLdap/Authenticator.py:52 auths/SimpleLDAP/Authenticator.py:52 #: auths/RegexLdap/Authenticator.py:52 auths/SimpleLDAP/Authenticator.py:52
@ -164,8 +185,8 @@ msgid ""
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form " "Username with read privileges on the base selected (use USER@DOMAIN.DOM form "
"for this)" "for this)"
msgstr "" msgstr ""
"Nom d'utilisateur avec des privilèges de lecture sur la base sélectionnée (utilisation USER@DOMAIN.Forme de DOM " "Nom d'utilisateur avec des privilèges de lecture sur la base sélectionnée "
"pour cela)" "(utilisation USER@DOMAIN.Forme de DOM pour cela)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:34 #: auths/ActiveDirectory_enterprise/Authenticator.py:34
#: auths/ActiveDirectory_enterprise/Authenticator.py:52 #: auths/ActiveDirectory_enterprise/Authenticator.py:52
@ -280,17 +301,22 @@ msgstr "Domaine semble être incorrect, veuillez bien consulter le"
#: auths/ActiveDirectory_enterprise/Authenticator.py:456 #: auths/ActiveDirectory_enterprise/Authenticator.py:456
msgid "Ldap does not seem an Active Directory (do not have user objects)" msgid "Ldap does not seem an Active Directory (do not have user objects)"
msgstr "LDAP ne semble pas un serveur Active Directory (n'ont pas les objets utilisateur)" msgstr ""
"LDAP ne semble pas un serveur Active Directory (n'ont pas les objets "
"utilisateur)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:464 #: auths/ActiveDirectory_enterprise/Authenticator.py:464
msgid "Ldap does not seem an Active Directory (no not have group objects)" msgid "Ldap does not seem an Active Directory (no not have group objects)"
msgstr "LDAP ne semble pas un serveur Active Directory (ne pas ont des objets de groupe)" msgstr ""
"LDAP ne semble pas un serveur Active Directory (ne pas ont des objets de "
"groupe)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:472 #: auths/ActiveDirectory_enterprise/Authenticator.py:472
msgid "" msgid ""
"Ldap does not seem an Active Directory (do not have any user nor groups)" "Ldap does not seem an Active Directory (do not have any user nor groups)"
msgstr "" msgstr ""
"LDAP ne semble pas un serveur Active Directory (n'ont pas l'utilisateur ou groupes)" "LDAP ne semble pas un serveur Active Directory (n'ont pas l'utilisateur ou "
"groupes)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/ActiveDirectory_enterprise/Authenticator.py:477
#: auths/EDirectory_enterprise/Authenticator.py:358 #: auths/EDirectory_enterprise/Authenticator.py:358
@ -370,7 +396,8 @@ msgstr "Attribut groupe attendue "
msgid "" msgid ""
"Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)" "Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)"
msgstr "" msgstr ""
"LDAP user class ou utilisateur id attr est probablement faux (Ldap est un eDirectory?)" "LDAP user class ou utilisateur id attr est probablement faux (Ldap est un "
"eDirectory?)"
#: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50 #: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50
msgid "IP Authenticator" msgid "IP Authenticator"
@ -533,7 +560,8 @@ msgstr "Métadonnées de l'IDP"
msgid "" msgid ""
"You can enter here the URL or the IDP metadata or the metadata itself (xml)" "You can enter here the URL or the IDP metadata or the metadata itself (xml)"
msgstr "" msgstr ""
"Ici, vous pouvez entrer le URL ou les métadonnées d'IDP ou les métadonnées lui-même (xml)" "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:127 #: auths/SAML_enterprise/SAML.py:127
msgid "Entity ID" msgid "Entity ID"
@ -541,7 +569,9 @@ msgstr "ID de l'entité"
#: auths/SAML_enterprise/SAML.py:128 #: auths/SAML_enterprise/SAML.py:128
msgid "ID of the SP. If left blank, this will be autogenerated from server URL" msgid "ID of the SP. If left blank, this will be autogenerated from server URL"
msgstr "ID de la SP. Si laissé vide, ce sera généré automatiquement des URL du serveur" msgstr ""
"ID de la SP. Si laissé vide, ce sera généré automatiquement des URL du "
"serveur"
#: auths/SAML_enterprise/SAML.py:130 #: auths/SAML_enterprise/SAML.py:130
msgid "User name attrs" msgid "User name attrs"
@ -572,8 +602,8 @@ msgid ""
"Server certificate should be a valid PEM (PEM certificates starts with -----" "Server certificate should be a valid PEM (PEM certificates starts with -----"
"BEGIN CERTIFICATE-----)" "BEGIN CERTIFICATE-----)"
msgstr "" msgstr ""
"Certificat de serveur doit être un PEM valide (PEM certificats commence par---" "Certificat de serveur doit être un PEM valide (PEM certificats commence "
"BEGIN CERTIFICATE---)" "par---BEGIN CERTIFICATE---)"
#: auths/SAML_enterprise/SAML.py:165 #: auths/SAML_enterprise/SAML.py:165
msgid "Invalid server certificate. " msgid "Invalid server certificate. "
@ -1157,7 +1187,9 @@ msgstr "Cluster HyperV lié Clone (expérimental)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:55 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:55
#: services/HyperV_enterprise/HyperVLinkedService.py:58 #: services/HyperV_enterprise/HyperVLinkedService.py:58
msgid "Hyper Services based on templates and differential disks (experimental)" msgid "Hyper Services based on templates and differential disks (experimental)"
msgstr "Hyper Services basés sur des modèles et des disques différentiels (expérimentales)" msgstr ""
"Hyper Services basés sur des modèles et des disques différentiels "
"(expérimentales)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72
#: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/HyperV_enterprise/HyperVLinkedService.py:75
@ -1199,7 +1231,8 @@ msgstr "Réseau"
msgid "" msgid ""
"If more than 1 interface is found in machine, use one on this network as main" "If more than 1 interface is found in machine, use one on this network as main"
msgstr "" msgstr ""
"Si plus d'une interface se trouve dans la machine, utiliser un sur ce réseau comme principal" "Si plus d'une interface se trouve dans la machine, utiliser un sur ce réseau "
"comme principal"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98
#: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/HyperV_enterprise/HyperVLinkedService.py:101
@ -1222,7 +1255,8 @@ msgstr "Lecteurs de magasin de données"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:101 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:101
#: services/HyperV_enterprise/HyperVLinkedService.py:104 #: services/HyperV_enterprise/HyperVLinkedService.py:104
msgid "Datastores where to put incrementals & publications" msgid "Datastores where to put incrementals & publications"
msgstr "Entrepôts de données où mettre les sauvegardes incrémentielles & publications" msgstr ""
"Entrepôts de données où mettre les sauvegardes incrémentielles & publications"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:102 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:102
#: services/HyperV_enterprise/HyperVLinkedService.py:105 #: services/HyperV_enterprise/HyperVLinkedService.py:105
@ -1278,7 +1312,8 @@ msgstr "Fournisseur de Service de Cluster HyperV"
#: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVClusterProvider.py:89
#: services/HyperV_enterprise/HyperVProvider.py:81 #: services/HyperV_enterprise/HyperVProvider.py:81
msgid "HyperV Server IP or Hostname (must enable first WSMAN access)" msgid "HyperV Server IP or Hostname (must enable first WSMAN access)"
msgstr "HyperV serveur IP ou nom d'hôte (doit permettre l'accès WSMAN première)" msgstr ""
"HyperV serveur IP ou nom d'hôte (doit permettre l'accès WSMAN première)"
#: services/HyperV_enterprise/HyperVClusterProvider.py:90 #: services/HyperV_enterprise/HyperVClusterProvider.py:90
#: services/HyperV_enterprise/HyperVProvider.py:82 #: services/HyperV_enterprise/HyperVProvider.py:82
@ -1786,15 +1821,27 @@ msgstr "Tableau de bord de sortie"
msgid "logout" msgid "logout"
msgstr "logout" msgstr "logout"
#: templates/uds/admin/tmpl/authenticators.html:4
msgid "administration of authenticators"
msgstr "administration des authentificateurs"
#: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/connectivity.html:4
#: templates/uds/admin/tmpl/dashboard.html:4 #: templates/uds/admin/tmpl/dashboard.html:4
msgid "overview" msgid "overview"
msgstr "vue d'ensemble" msgstr "vue d'ensemble"
#: templates/uds/admin/tmpl/modal.html:18
msgid "Close"
msgstr "Fermer"
#: templates/uds/admin/tmpl/modal.html:25
msgid "Save"
msgstr "Enregistrer"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "Yes"
msgstr "Oui"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "No"
msgstr "Non"
#: templates/uds/html5/detectJava.html:4 #: templates/uds/html5/detectJava.html:4
msgid "Login redirection to UDS" msgid "Login redirection to UDS"
msgstr "Redirection de connexion à l'UDS" msgstr "Redirection de connexion à l'UDS"
@ -2259,8 +2306,8 @@ msgid ""
"The lowest image quality applied to images to maintain the minimum update " "The lowest image quality applied to images to maintain the minimum update "
"rate." "rate."
msgstr "" msgstr ""
"La qualité d'image le plus bas appliquée aux images de maintenir la mise à jour minimale " "La qualité d'image le plus bas appliquée aux images de maintenir la mise à "
"Ravel" "jour minimale Ravel"
#: transports/RGS-enterprise/RGSTransport.py:51 #: transports/RGS-enterprise/RGSTransport.py:51
#: transports/RGS-enterprise/TRGSTransport.py:56 #: transports/RGS-enterprise/TRGSTransport.py:56
@ -2270,7 +2317,8 @@ msgstr "Cadence réglable"
#: transports/RGS-enterprise/RGSTransport.py:52 #: transports/RGS-enterprise/RGSTransport.py:52
#: transports/RGS-enterprise/TRGSTransport.py:57 #: transports/RGS-enterprise/TRGSTransport.py:57
msgid "Update rate threshold to begin adjusting image quality" msgid "Update rate threshold to begin adjusting image quality"
msgstr "Seuil de taux de mise à jour pour commencer le réglage qualité de l'image" msgstr ""
"Seuil de taux de mise à jour pour commencer le réglage qualité de l'image"
#: transports/RGS-enterprise/RGSTransport.py:53 #: transports/RGS-enterprise/RGSTransport.py:53
#: transports/RGS-enterprise/TRGSTransport.py:58 #: transports/RGS-enterprise/TRGSTransport.py:58
@ -2283,8 +2331,8 @@ msgid ""
"Change the Sender's resolution to match the Receiver's resolution when " "Change the Sender's resolution to match the Receiver's resolution when "
"connecting" "connecting"
msgstr "" msgstr ""
"Changer la résolution de l'expéditeur pour l'adapter résolution du récepteur lorsque " "Changer la résolution de l'expéditeur pour l'adapter résolution du récepteur "
"connexion" "lorsque connexion"
#: transports/RGS-enterprise/RGSTransport.py:55 #: transports/RGS-enterprise/RGSTransport.py:55
#: transports/RGS-enterprise/TRGSTransport.py:60 #: transports/RGS-enterprise/TRGSTransport.py:60
@ -2326,7 +2374,8 @@ msgstr "RGS Transport pour connexion par tunnel"
#: transports/RGS-enterprise/web.py:82 #: transports/RGS-enterprise/web.py:82
msgid "In order to use this service, you should first install RGS Receiver." msgid "In order to use this service, you should first install RGS Receiver."
msgstr "Pour utiliser ce service, vous devez commencer par installer récepteur RGS." msgstr ""
"Pour utiliser ce service, vous devez commencer par installer récepteur RGS."
#: transports/RGS-enterprise/web.py:83 #: transports/RGS-enterprise/web.py:83
msgid "HP Website" msgid "HP Website"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,146 +18,234 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: static/adm/js/api-tools.js:46
msgid "Just a moment..."
msgstr "Un instant..."
#: static/adm/js/api-tools.js:75
msgid "Sunday"
msgstr "Dimanche"
#: static/adm/js/api-tools.js:75
msgid "Monday"
msgstr "Lundi"
#: static/adm/js/api-tools.js:75
msgid "Tuesday"
msgstr "Mardi"
#: static/adm/js/api-tools.js:75
msgid "Wednesday"
msgstr "Mercredi"
#: static/adm/js/api-tools.js:76
msgid "Thursday"
msgstr "Jeudi"
#: static/adm/js/api-tools.js:76
msgid "Friday"
msgstr "Vendredi"
#: static/adm/js/api-tools.js:76
msgid "Saturday"
msgstr "Samedi"
#: static/adm/js/api-tools.js:77
msgid "January"
msgstr "Janvier"
#: static/adm/js/api-tools.js:77
msgid "February"
msgstr "Février"
#: static/adm/js/api-tools.js:77
msgid "March"
msgstr "Mars"
#: static/adm/js/api-tools.js:77
msgid "April"
msgstr "Avril"
#: static/adm/js/api-tools.js:77
msgid "May"
msgstr "Mai"
#: static/adm/js/api-tools.js:78
msgid "June"
msgstr "Juin"
#: static/adm/js/api-tools.js:78
msgid "July"
msgstr "Juillet"
#: static/adm/js/api-tools.js:78
msgid "August"
msgstr "Août"
#: static/adm/js/api-tools.js:78
msgid "September"
msgstr "Septembre"
#: static/adm/js/api-tools.js:78
msgid "October"
msgstr "Octobre"
#: static/adm/js/api-tools.js:79
msgid "November"
msgstr "Novembre"
#: static/adm/js/api-tools.js:79
msgid "December"
msgstr "Décembre"
#: static/adm/js/dataTables.bootstrap.js:6 static/adm/js/gui.js:19
msgid "_MENU_ records per page"
msgstr "Documents _MENU_ par page"
#: static/adm/js/gui-elements.js:33 #: static/adm/js/gui-elements.js:33
msgid "Service Providers" msgid "Service Providers"
msgstr "Fournisseurs de services" msgstr "Fournisseurs de services"
#: static/adm/js/gui.js:18 #: static/adm/js/gui-elements.js:40
msgid "_MENU_ records per page" msgid "Edit service provider"
msgstr "Documents _MENU_ par page" msgstr "Modifier le fournisseur de services"
#: static/adm/js/gui.js:19 #: static/adm/js/gui-elements.js:104
msgid "Edit authenticator"
msgstr "Modifier l'authentificateur"
#: static/adm/js/gui-elements.js:149
msgid "Edit transport"
msgstr "Edit de transport"
#: static/adm/js/gui-elements.js:159
msgid "New transport"
msgstr "Nouveau transport"
#: static/adm/js/gui.js:20
msgid "Empty" msgid "Empty"
msgstr "Vide" msgstr "Vide"
#: static/adm/js/gui.js:20 #: static/adm/js/gui.js:21
msgid "Records _START_ to _END_ of _TOTAL_" msgid "Records _START_ to _END_ of _TOTAL_"
msgstr "Dossiers _START_ à _END_ de _TOTAL_" msgstr "Dossiers _START_ à _END_ de _TOTAL_"
#: static/adm/js/gui.js:21 #: static/adm/js/gui.js:22
msgid "No records" msgid "No records"
msgstr "Aucun enregistrement" msgstr "Aucun enregistrement"
#: static/adm/js/gui.js:22 #: static/adm/js/gui.js:23
msgid "(filtered from _MAX_ total records)" msgid "(filtered from _MAX_ total records)"
msgstr "(filtrée de total d'enregistrements _MAX_)" msgstr "(filtrée de total d'enregistrements _MAX_)"
#: static/adm/js/gui.js:23 #: static/adm/js/gui.js:24
msgid "Please wait, processing" msgid "Please wait, processing"
msgstr "Veuillez patienter, traitement" msgstr "Veuillez patienter, traitement"
#: static/adm/js/gui.js:24 #: static/adm/js/gui.js:25
msgid "Filter" msgid "Filter"
msgstr "Filtre" msgstr "Filtre"
#: static/adm/js/gui.js:27 #: static/adm/js/gui.js:28
msgid "First" msgid "First"
msgstr "Première" msgstr "Première"
#: static/adm/js/gui.js:28 #: static/adm/js/gui.js:29
msgid "Last" msgid "Last"
msgstr "Dernière" msgstr "Dernière"
#: static/adm/js/gui.js:29 #: static/adm/js/gui.js:30
msgid "Next" msgid "Next"
msgstr "Prochaine" msgstr "Prochaine"
#: static/adm/js/gui.js:30 #: static/adm/js/gui.js:31
msgid "Previous" msgid "Previous"
msgstr "Précédent" msgstr "Précédent"
#: static/adm/js/gui.js:75 #: static/adm/js/gui.js:37
msgid "Deployed services" msgid "New"
msgstr "Services déployés" msgstr "Nouveau"
#: static/adm/js/gui.js:360 #: static/adm/js/gui.js:41
msgid "Edit" msgid "Edit"
msgstr "Edit" msgstr "Edit"
#: static/adm/js/gui.js:369 #: static/adm/js/gui.js:45
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
#: static/adm/js/gui.js:378 #: static/adm/js/gui.js:49
msgid "Refresh" msgid "Refresh"
msgstr "Actualisation" msgstr "Actualisation"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:53
msgid "Sunday" msgid "Xls"
msgstr "Dimanche" msgstr "XLS"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:166
msgid "Monday" msgid "Deployed services"
msgstr "Lundi" msgstr "Services déployés"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:204
msgid "Tuesday" msgid "This field is required."
msgstr "Mardi" msgstr "Ce champ est obligatoire."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:205
msgid "Wednesday" msgid "Please fix this field."
msgstr "Mercredi" msgstr "Corrigez ce champ."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:206
msgid "Thursday" msgid "Please enter a valid email address."
msgstr "Jeudi" msgstr "Veuillez entrer une adresse email valide."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:207
msgid "Friday" msgid "Please enter a valid URL."
msgstr "Vendredi" msgstr "Veuillez entrer une URL valide."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:208
msgid "Saturday" msgid "Please enter a valid date."
msgstr "Samedi" msgstr "Veuillez entrer une date valide."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:209
msgid "January" msgid "Please enter a valid date (ISO)."
msgstr "Janvier" msgstr "Veuillez entrer une date valide (ISO)."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:210
msgid "February" msgid "Please enter a valid number."
msgstr "Février" msgstr "Veuillez entrer un numéro valide."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:211
msgid "March" msgid "Please enter only digits."
msgstr "Mars" msgstr "Veuillez saisir uniquement des chiffres."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:212
msgid "April" msgid "Please enter a valid credit card number."
msgstr "Avril" msgstr "Veuillez entrer un numéro de carte de crédit valide."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:213
msgid "May" msgid "Please enter the same value again."
msgstr "Mai" msgstr "Entrez à nouveau la même valeur."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:214
msgid "June" msgid "Please enter no more than {0} characters."
msgstr "Juin" msgstr "S'il vous plaît entrez pas plus de {0} caractères."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:215
msgid "July" msgid "Please enter at least {0} characters."
msgstr "Juillet" msgstr "Veuillez saisir au moins {0} caractères."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:216
msgid "August" msgid "Please enter a value between {0} and {1} characters long."
msgstr "Août" msgstr "Veuillez entrer une valeur entre {0} et {1} caractères longtemps."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:217
msgid "September" msgid "Please enter a value between {0} and {1}."
msgstr "Septembre" msgstr "Veuillez entrer une valeur entre {0} et {1}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:218
msgid "October" msgid "Please enter a value less than or equal to {0}."
msgstr "Octobre" msgstr "Veuillez entrer une valeur inférieure ou égale à {0}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:219
msgid "November" msgid "Please enter a value greater than or equal to {0}."
msgstr "Novembre" msgstr "Entrez une valeur supérieure ou égale à {0}."
#: static/adm/js/strftime.js:35
msgid "December"
msgstr "Décembre"
#: static/adm/js/tools.js:46
msgid "Just a moment..."
msgstr "Un instant..."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,22 +18,32 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: REST/methods/authenticators.py:80 #: REST/mixins.py:172 REST/methods/authenticators.py:82
msgid "Current authenticators" #: REST/methods/networks.py:68 REST/methods/osmanagers.py:71
msgstr "Autenticatori correnti" #: REST/methods/providers.py:75 REST/methods/transports.py:79
#: REST/methods/users_groups.py:73
#: REST/methods/authenticators.py:82 REST/methods/networks.py:68
#: REST/methods/osmanagers.py:71 REST/methods/providers.py:69
#: REST/methods/transports.py:71 REST/methods/users.py:77
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#: REST/methods/authenticators.py:83 REST/methods/osmanagers.py:72 #: REST/mixins.py:175
#: REST/methods/providers.py:70 REST/methods/transports.py:72 msgid "Name of this element"
#: REST/methods/users.py:78 msgstr "Nome di questo elemento"
#: REST/mixins.py:189 REST/methods/authenticators.py:83
#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76
#: REST/methods/transports.py:80 REST/methods/users_groups.py:74
#: REST/methods/users_groups.py:102
msgid "Comments" msgid "Comments"
msgstr "Commenti" msgstr "Commenti"
#: REST/mixins.py:192
msgid "Comments for this element"
msgstr "Commenti per questo elemento"
#: REST/methods/authenticators.py:80
msgid "Current authenticators"
msgstr "Autenticatori correnti"
#: REST/methods/authenticators.py:84 #: REST/methods/authenticators.py:84
msgid "Users" msgid "Users"
msgstr "Utenti" msgstr "Utenti"
@ -48,7 +58,7 @@ msgid "Networks"
msgstr "Reti" msgstr "Reti"
#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 #: REST/methods/networks.py:70 REST/methods/osmanagers.py:73
#: REST/methods/transports.py:73 #: REST/methods/transports.py:81
msgid "Used by" msgid "Used by"
msgstr "Utilizzato da" msgstr "Utilizzato da"
@ -56,40 +66,49 @@ msgstr "Utilizzato da"
msgid "Current OS Managers" msgid "Current OS Managers"
msgstr "Attuale OS Manager" msgstr "Attuale OS Manager"
#: REST/methods/providers.py:67 #: REST/methods/providers.py:73
msgid "Current service providers" msgid "Current service providers"
msgstr "Attuali fornitori di servizi" msgstr "Attuali fornitori di servizi"
#: REST/methods/providers.py:71 templates/uds/index.html:51 #: REST/methods/providers.py:77 templates/uds/index.html:51
#: templates/uds/html5/index.html:68 #: templates/uds/html5/index.html:68
msgid "Services" msgid "Services"
msgstr "Servizi" msgstr "Servizi"
#: REST/methods/transports.py:69 #: REST/methods/transports.py:77
msgid "Current Transports" msgid "Current Transports"
msgstr "Trasporti correnti" msgstr "Trasporti correnti"
#: REST/methods/users.py:70 #: REST/methods/users_groups.py:66
#, python-brace-format #, python-brace-format
msgid "Users of {0}" msgid "Users of {0}"
msgstr "Utenti di {0}" msgstr "Utenti di {0}"
#: REST/methods/users.py:72 #: REST/methods/users_groups.py:68
msgid "Current users" msgid "Current users"
msgstr "Utenti correnti" msgstr "Utenti correnti"
#: REST/methods/users.py:76 #: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101
msgid "User Id" msgid "User Id"
msgstr "Id utente" msgstr "Id utente"
#: REST/methods/users.py:79 #: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103
msgid "state" msgid "state"
msgstr "stato" msgstr "stato"
#: REST/methods/users.py:80 #: REST/methods/users_groups.py:76
msgid "Last access" msgid "Last access"
msgstr "Ultimo accesso" msgstr "Ultimo accesso"
#: REST/methods/users_groups.py:95
#, python-brace-format
msgid "Groups of {0}"
msgstr "Gruppi di {0}"
#: REST/methods/users_groups.py:97
msgid "Current groups"
msgstr "Gruppi di corrente"
#: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422 #: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422
msgid "Forbidden" msgid "Forbidden"
msgstr "Vietato" msgstr "Vietato"
@ -128,7 +147,9 @@ msgstr "Compatibilità"
#: auths/ActiveDirectory_enterprise/Authenticator.py:31 #: auths/ActiveDirectory_enterprise/Authenticator.py:31
msgid "Compatibility of AD connection (Usually windows 2000 and later)" msgid "Compatibility of AD connection (Usually windows 2000 and later)"
msgstr "Compatibilità di connessione AD (solitamente windows 2000 e versioni successive)" msgstr ""
"Compatibilità di connessione AD (solitamente windows 2000 e versioni "
"successive)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:33 #: auths/ActiveDirectory_enterprise/Authenticator.py:33
#: auths/RegexLdap/Authenticator.py:52 auths/SimpleLDAP/Authenticator.py:52 #: auths/RegexLdap/Authenticator.py:52 auths/SimpleLDAP/Authenticator.py:52
@ -140,8 +161,8 @@ msgid ""
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form " "Username with read privileges on the base selected (use USER@DOMAIN.DOM form "
"for this)" "for this)"
msgstr "" msgstr ""
"Nome utente con privilegi di lettura sulla base selezionato (uso USER@DOMAIN.Forma di DOM " "Nome utente con privilegi di lettura sulla base selezionato (uso USER@DOMAIN."
"per questo)" "Forma di DOM per questo)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:34 #: auths/ActiveDirectory_enterprise/Authenticator.py:34
#: auths/ActiveDirectory_enterprise/Authenticator.py:52 #: auths/ActiveDirectory_enterprise/Authenticator.py:52
@ -265,8 +286,7 @@ msgstr "LDAP non sembra un'Active Directory (no, non sono oggetti di gruppo)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:472 #: auths/ActiveDirectory_enterprise/Authenticator.py:472
msgid "" msgid ""
"Ldap does not seem an Active Directory (do not have any user nor groups)" "Ldap does not seem an Active Directory (do not have any user nor groups)"
msgstr "" msgstr "LDAP non sembra un'Active Directory (non hanno alcun utente né gruppi)"
"LDAP non sembra un'Active Directory (non hanno alcun utente né gruppi)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/ActiveDirectory_enterprise/Authenticator.py:477
#: auths/EDirectory_enterprise/Authenticator.py:358 #: auths/EDirectory_enterprise/Authenticator.py:358
@ -345,7 +365,8 @@ msgstr "Attributo di gruppo previsto "
msgid "" msgid ""
"Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)" "Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)"
msgstr "" msgstr ""
"LDAP dell'utente utente o classe id attr è probabilmente sbagliato (Ldap è un eDirectory?)" "LDAP dell'utente utente o classe id attr è probabilmente sbagliato (Ldap è "
"un eDirectory?)"
#: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50 #: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50
msgid "IP Authenticator" msgid "IP Authenticator"
@ -486,8 +507,8 @@ msgid ""
"Private key used for sign and encription, as generated in base 64 from " "Private key used for sign and encription, as generated in base 64 from "
"openssl" "openssl"
msgstr "" msgstr ""
"Chiave privata utilizzata per segno ed encription, come generato in base 64 da " "Chiave privata utilizzata per segno ed encription, come generato in base 64 "
"OpenSSL" "da OpenSSL"
#: auths/SAML_enterprise/SAML.py:122 #: auths/SAML_enterprise/SAML.py:122
msgid "Certificate" msgid "Certificate"
@ -513,7 +534,9 @@ msgstr "ID entità"
#: auths/SAML_enterprise/SAML.py:128 #: auths/SAML_enterprise/SAML.py:128
msgid "ID of the SP. If left blank, this will be autogenerated from server URL" msgid "ID of the SP. If left blank, this will be autogenerated from server URL"
msgstr "ID della SP. Se lasciato vuoto, questo sarà generato automaticamente dal server URL" msgstr ""
"ID della SP. Se lasciato vuoto, questo sarà generato automaticamente dal "
"server URL"
#: auths/SAML_enterprise/SAML.py:130 #: auths/SAML_enterprise/SAML.py:130
msgid "User name attrs" msgid "User name attrs"
@ -544,8 +567,8 @@ msgid ""
"Server certificate should be a valid PEM (PEM certificates starts with -----" "Server certificate should be a valid PEM (PEM certificates starts with -----"
"BEGIN CERTIFICATE-----)" "BEGIN CERTIFICATE-----)"
msgstr "" msgstr ""
"Certificato server dovrebbe essere un valido PEM (PEM certificati inizia con---" "Certificato server dovrebbe essere un valido PEM (PEM certificati inizia "
"BEGIN CERTIFICATE---)" "con---BEGIN CERTIFICATE---)"
#: auths/SAML_enterprise/SAML.py:165 #: auths/SAML_enterprise/SAML.py:165
msgid "Invalid server certificate. " msgid "Invalid server certificate. "
@ -556,8 +579,8 @@ msgid ""
"Private key should be a valid PEM (PEM private keys starts with -----BEGIN " "Private key should be a valid PEM (PEM private keys starts with -----BEGIN "
"RSA PRIVATE KEY-----" "RSA PRIVATE KEY-----"
msgstr "" msgstr ""
"Chiave privata deve essere un valido PEM (PEM chiavi private inizia con----BEGIN " "Chiave privata deve essere un valido PEM (PEM chiavi private inizia con----"
"CHIAVE PRIVATA RSA-" "BEGIN CHIAVE PRIVATA RSA-"
#: auths/SAML_enterprise/SAML.py:197 #: auths/SAML_enterprise/SAML.py:197
#, python-brace-format #, python-brace-format
@ -1172,7 +1195,8 @@ msgstr "Rete"
msgid "" msgid ""
"If more than 1 interface is found in machine, use one on this network as main" "If more than 1 interface is found in machine, use one on this network as main"
msgstr "" msgstr ""
"Se più di 1 interfaccia si trova in macchina, utilizzare uno su questa rete come principale" "Se più di 1 interfaccia si trova in macchina, utilizzare uno su questa rete "
"come principale"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:98 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:98
#: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/HyperV_enterprise/HyperVLinkedService.py:101
@ -1250,7 +1274,9 @@ msgstr "HyperV Cluster Service Provider"
#: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVClusterProvider.py:89
#: services/HyperV_enterprise/HyperVProvider.py:81 #: services/HyperV_enterprise/HyperVProvider.py:81
msgid "HyperV Server IP or Hostname (must enable first WSMAN access)" msgid "HyperV Server IP or Hostname (must enable first WSMAN access)"
msgstr "HyperV Server IP o l'Hostname (necessario abilitare l'accesso prima di WS-Management)" msgstr ""
"HyperV Server IP o l'Hostname (necessario abilitare l'accesso prima di WS-"
"Management)"
#: services/HyperV_enterprise/HyperVClusterProvider.py:90 #: services/HyperV_enterprise/HyperVClusterProvider.py:90
#: services/HyperV_enterprise/HyperVProvider.py:82 #: services/HyperV_enterprise/HyperVProvider.py:82
@ -1620,7 +1646,8 @@ msgstr "Base di clone collegato VMWare"
msgid "" msgid ""
"This service provides access to Linked Clones machines on a Virtual Center" "This service provides access to Linked Clones machines on a Virtual Center"
msgstr "" msgstr ""
"Questo servizio fornisce l'accesso alle macchine collegate cloni su un Virtual Center" "Questo servizio fornisce l'accesso alle macchine collegate cloni su un "
"Virtual Center"
#: templates/404.html:3 templates/500.html:3 #: templates/404.html:3 templates/500.html:3
msgid "Page not found" msgid "Page not found"
@ -1754,15 +1781,27 @@ msgstr "Cruscotto di uscita"
msgid "logout" msgid "logout"
msgstr "logout" msgstr "logout"
#: templates/uds/admin/tmpl/authenticators.html:4
msgid "administration of authenticators"
msgstr "amministrazione di autenticatori"
#: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/connectivity.html:4
#: templates/uds/admin/tmpl/dashboard.html:4 #: templates/uds/admin/tmpl/dashboard.html:4
msgid "overview" msgid "overview"
msgstr "Panoramica" msgstr "Panoramica"
#: templates/uds/admin/tmpl/modal.html:18
msgid "Close"
msgstr "Chiudere"
#: templates/uds/admin/tmpl/modal.html:25
msgid "Save"
msgstr "Salvare"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "Yes"
msgstr "Sì"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "No"
msgstr "No"
#: templates/uds/html5/detectJava.html:4 #: templates/uds/html5/detectJava.html:4
msgid "Login redirection to UDS" msgid "Login redirection to UDS"
msgstr "Reindirizzamento login a UDS" msgstr "Reindirizzamento login a UDS"
@ -2210,7 +2249,9 @@ msgstr "Qualità regolabili"
#: transports/RGS-enterprise/RGSTransport.py:48 #: transports/RGS-enterprise/RGSTransport.py:48
#: transports/RGS-enterprise/TRGSTransport.py:53 #: transports/RGS-enterprise/TRGSTransport.py:53
msgid "If checked, the image quality will be adjustable with bandwidth" msgid "If checked, the image quality will be adjustable with bandwidth"
msgstr "Se selezionata, la qualità dell'immagine sarà regolabile con larghezza di banda" msgstr ""
"Se selezionata, la qualità dell'immagine sarà regolabile con larghezza di "
"banda"
#: transports/RGS-enterprise/RGSTransport.py:49 #: transports/RGS-enterprise/RGSTransport.py:49
#: transports/RGS-enterprise/TRGSTransport.py:54 #: transports/RGS-enterprise/TRGSTransport.py:54
@ -2223,8 +2264,8 @@ msgid ""
"The lowest image quality applied to images to maintain the minimum update " "The lowest image quality applied to images to maintain the minimum update "
"rate." "rate."
msgstr "" msgstr ""
"La qualità d'immagine più bassa applicata alle immagini per mantenere l'aggiornamento minimo " "La qualità d'immagine più bassa applicata alle immagini per mantenere "
"tasso." "l'aggiornamento minimo tasso."
#: transports/RGS-enterprise/RGSTransport.py:51 #: transports/RGS-enterprise/RGSTransport.py:51
#: transports/RGS-enterprise/TRGSTransport.py:56 #: transports/RGS-enterprise/TRGSTransport.py:56
@ -2234,7 +2275,9 @@ msgstr "Frequenza fotogrammi regolabile"
#: transports/RGS-enterprise/RGSTransport.py:52 #: transports/RGS-enterprise/RGSTransport.py:52
#: transports/RGS-enterprise/TRGSTransport.py:57 #: transports/RGS-enterprise/TRGSTransport.py:57
msgid "Update rate threshold to begin adjusting image quality" msgid "Update rate threshold to begin adjusting image quality"
msgstr "Soglia tasso di aggiornamento per iniziare a regolare la qualità dell'immagine" msgstr ""
"Soglia tasso di aggiornamento per iniziare a regolare la qualità "
"dell'immagine"
#: transports/RGS-enterprise/RGSTransport.py:53 #: transports/RGS-enterprise/RGSTransport.py:53
#: transports/RGS-enterprise/TRGSTransport.py:58 #: transports/RGS-enterprise/TRGSTransport.py:58
@ -2247,8 +2290,8 @@ msgid ""
"Change the Sender's resolution to match the Receiver's resolution when " "Change the Sender's resolution to match the Receiver's resolution when "
"connecting" "connecting"
msgstr "" msgstr ""
"Cambiare risoluzione del mittente per abbinare la risoluzione del ricevitore quando " "Cambiare risoluzione del mittente per abbinare la risoluzione del ricevitore "
"collegamento" "quando collegamento"
#: transports/RGS-enterprise/RGSTransport.py:55 #: transports/RGS-enterprise/RGSTransport.py:55
#: transports/RGS-enterprise/TRGSTransport.py:60 #: transports/RGS-enterprise/TRGSTransport.py:60
@ -2290,7 +2333,9 @@ msgstr "RGS trasporto per connessione con tunnel"
#: transports/RGS-enterprise/web.py:82 #: transports/RGS-enterprise/web.py:82
msgid "In order to use this service, you should first install RGS Receiver." msgid "In order to use this service, you should first install RGS Receiver."
msgstr "Per poter utilizzare questo servizio, è necessario prima installare RGS ricevitore." msgstr ""
"Per poter utilizzare questo servizio, è necessario prima installare RGS "
"ricevitore."
#: transports/RGS-enterprise/web.py:83 #: transports/RGS-enterprise/web.py:83
msgid "HP Website" msgid "HP Website"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,146 +18,234 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/adm/js/api-tools.js:46
msgid "Just a moment..."
msgstr "Solo un momento..."
#: static/adm/js/api-tools.js:75
msgid "Sunday"
msgstr "Domenica"
#: static/adm/js/api-tools.js:75
msgid "Monday"
msgstr "Lunedì"
#: static/adm/js/api-tools.js:75
msgid "Tuesday"
msgstr "Martedì"
#: static/adm/js/api-tools.js:75
msgid "Wednesday"
msgstr "Mercoledì"
#: static/adm/js/api-tools.js:76
msgid "Thursday"
msgstr "Giovedì"
#: static/adm/js/api-tools.js:76
msgid "Friday"
msgstr "Venerdì"
#: static/adm/js/api-tools.js:76
msgid "Saturday"
msgstr "Sabato"
#: static/adm/js/api-tools.js:77
msgid "January"
msgstr "Gennaio"
#: static/adm/js/api-tools.js:77
msgid "February"
msgstr "Febbraio"
#: static/adm/js/api-tools.js:77
msgid "March"
msgstr "Marzo"
#: static/adm/js/api-tools.js:77
msgid "April"
msgstr "Aprile"
#: static/adm/js/api-tools.js:77
msgid "May"
msgstr "Maggio"
#: static/adm/js/api-tools.js:78
msgid "June"
msgstr "Giugno"
#: static/adm/js/api-tools.js:78
msgid "July"
msgstr "Luglio"
#: static/adm/js/api-tools.js:78
msgid "August"
msgstr "Agosto"
#: static/adm/js/api-tools.js:78
msgid "September"
msgstr "Settembre"
#: static/adm/js/api-tools.js:78
msgid "October"
msgstr "Ottobre"
#: static/adm/js/api-tools.js:79
msgid "November"
msgstr "Novembre"
#: static/adm/js/api-tools.js:79
msgid "December"
msgstr "Dicembre"
#: static/adm/js/dataTables.bootstrap.js:6 static/adm/js/gui.js:19
msgid "_MENU_ records per page"
msgstr "Record _MENU_ per pagina"
#: static/adm/js/gui-elements.js:33 #: static/adm/js/gui-elements.js:33
msgid "Service Providers" msgid "Service Providers"
msgstr "Fornitori di servizi" msgstr "Fornitori di servizi"
#: static/adm/js/gui.js:18 #: static/adm/js/gui-elements.js:40
msgid "_MENU_ records per page" msgid "Edit service provider"
msgstr "Record _MENU_ per pagina" msgstr "Modificare il provider di servizi"
#: static/adm/js/gui.js:19 #: static/adm/js/gui-elements.js:104
msgid "Edit authenticator"
msgstr "Modifica autenticatore"
#: static/adm/js/gui-elements.js:149
msgid "Edit transport"
msgstr "Modifica trasporto"
#: static/adm/js/gui-elements.js:159
msgid "New transport"
msgstr "Nuovo trasporto"
#: static/adm/js/gui.js:20
msgid "Empty" msgid "Empty"
msgstr "Vuoto" msgstr "Vuoto"
#: static/adm/js/gui.js:20 #: static/adm/js/gui.js:21
msgid "Records _START_ to _END_ of _TOTAL_" msgid "Records _START_ to _END_ of _TOTAL_"
msgstr "Registra _START_ a _END_ di _TOTAL_" msgstr "Registra _START_ a _END_ di _TOTAL_"
#: static/adm/js/gui.js:21 #: static/adm/js/gui.js:22
msgid "No records" msgid "No records"
msgstr "Nessun record" msgstr "Nessun record"
#: static/adm/js/gui.js:22 #: static/adm/js/gui.js:23
msgid "(filtered from _MAX_ total records)" msgid "(filtered from _MAX_ total records)"
msgstr "(filtrato da record totale _MAX_)" msgstr "(filtrato da record totale _MAX_)"
#: static/adm/js/gui.js:23 #: static/adm/js/gui.js:24
msgid "Please wait, processing" msgid "Please wait, processing"
msgstr "Attendere prego, elaborazione" msgstr "Attendere prego, elaborazione"
#: static/adm/js/gui.js:24 #: static/adm/js/gui.js:25
msgid "Filter" msgid "Filter"
msgstr "Filtro" msgstr "Filtro"
#: static/adm/js/gui.js:27 #: static/adm/js/gui.js:28
msgid "First" msgid "First"
msgstr "Primo" msgstr "Primo"
#: static/adm/js/gui.js:28 #: static/adm/js/gui.js:29
msgid "Last" msgid "Last"
msgstr "Ultima" msgstr "Ultima"
#: static/adm/js/gui.js:29 #: static/adm/js/gui.js:30
msgid "Next" msgid "Next"
msgstr "Prossimo" msgstr "Prossimo"
#: static/adm/js/gui.js:30 #: static/adm/js/gui.js:31
msgid "Previous" msgid "Previous"
msgstr "Precedente" msgstr "Precedente"
#: static/adm/js/gui.js:75 #: static/adm/js/gui.js:37
msgid "Deployed services" msgid "New"
msgstr "Servizi distribuiti" msgstr "Nuovo"
#: static/adm/js/gui.js:360 #: static/adm/js/gui.js:41
msgid "Edit" msgid "Edit"
msgstr "Modifica" msgstr "Modifica"
#: static/adm/js/gui.js:369 #: static/adm/js/gui.js:45
msgid "Delete" msgid "Delete"
msgstr "Eliminare" msgstr "Eliminare"
#: static/adm/js/gui.js:378 #: static/adm/js/gui.js:49
msgid "Refresh" msgid "Refresh"
msgstr "Aggiornamento" msgstr "Aggiornamento"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:53
msgid "Sunday" msgid "Xls"
msgstr "Domenica" msgstr "Xls"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:166
msgid "Monday" msgid "Deployed services"
msgstr "Lunedì" msgstr "Servizi distribuiti"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:204
msgid "Tuesday" msgid "This field is required."
msgstr "Martedì" msgstr "Questo campo è obbligatorio."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:205
msgid "Wednesday" msgid "Please fix this field."
msgstr "Mercoledì" msgstr "Si prega di correggere questo campo."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:206
msgid "Thursday" msgid "Please enter a valid email address."
msgstr "Giovedì" msgstr "Inserisci un indirizzo email valido."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:207
msgid "Friday" msgid "Please enter a valid URL."
msgstr "Venerdì" msgstr "Immettere un URL valido."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:208
msgid "Saturday" msgid "Please enter a valid date."
msgstr "Sabato" msgstr "Inserisci una data valida."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:209
msgid "January" msgid "Please enter a valid date (ISO)."
msgstr "Gennaio" msgstr "Inserisci una data valida (ISO)."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:210
msgid "February" msgid "Please enter a valid number."
msgstr "Febbraio" msgstr "Si prega di inserire un numero valido."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:211
msgid "March" msgid "Please enter only digits."
msgstr "Marzo" msgstr "Inserire solo cifre."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:212
msgid "April" msgid "Please enter a valid credit card number."
msgstr "Aprile" msgstr "Si prega di inserire un numero di carta di credito valida."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:213
msgid "May" msgid "Please enter the same value again."
msgstr "Maggio" msgstr "Inserisci nuovamente lo stesso valore."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:214
msgid "June" msgid "Please enter no more than {0} characters."
msgstr "Giugno" msgstr "Si prega di inserire non più di {0} caratteri."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:215
msgid "July" msgid "Please enter at least {0} characters."
msgstr "Luglio" msgstr "Si prega di inserire almeno {0} caratteri."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:216
msgid "August" msgid "Please enter a value between {0} and {1} characters long."
msgstr "Agosto" msgstr "Per favore inserisci un valore tra {0} e {1} caratteri lungo."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:217
msgid "September" msgid "Please enter a value between {0} and {1}."
msgstr "Settembre" msgstr "Immettere un valore compreso tra {0} e {1}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:218
msgid "October" msgid "Please enter a value less than or equal to {0}."
msgstr "Ottobre" msgstr "Inserisci un valore minore o uguale a {0}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:219
msgid "November" msgid "Please enter a value greater than or equal to {0}."
msgstr "Novembre" msgstr "Immettere un valore maggiore o uguale a {0}."
#: static/adm/js/strftime.js:35
msgid "December"
msgstr "Dicembre"
#: static/adm/js/tools.js:46
msgid "Just a moment..."
msgstr "Solo un momento..."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,22 +18,32 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: REST/methods/authenticators.py:80 #: REST/mixins.py:172 REST/methods/authenticators.py:82
msgid "Current authenticators" #: REST/methods/networks.py:68 REST/methods/osmanagers.py:71
msgstr "Autenticadores atuais" #: REST/methods/providers.py:75 REST/methods/transports.py:79
#: REST/methods/users_groups.py:73
#: REST/methods/authenticators.py:82 REST/methods/networks.py:68
#: REST/methods/osmanagers.py:71 REST/methods/providers.py:69
#: REST/methods/transports.py:71 REST/methods/users.py:77
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#: REST/methods/authenticators.py:83 REST/methods/osmanagers.py:72 #: REST/mixins.py:175
#: REST/methods/providers.py:70 REST/methods/transports.py:72 msgid "Name of this element"
#: REST/methods/users.py:78 msgstr "Nome deste elemento"
#: REST/mixins.py:189 REST/methods/authenticators.py:83
#: REST/methods/osmanagers.py:72 REST/methods/providers.py:76
#: REST/methods/transports.py:80 REST/methods/users_groups.py:74
#: REST/methods/users_groups.py:102
msgid "Comments" msgid "Comments"
msgstr "Comentários" msgstr "Comentários"
#: REST/mixins.py:192
msgid "Comments for this element"
msgstr "Comentários para este elemento"
#: REST/methods/authenticators.py:80
msgid "Current authenticators"
msgstr "Autenticadores atuais"
#: REST/methods/authenticators.py:84 #: REST/methods/authenticators.py:84
msgid "Users" msgid "Users"
msgstr "Usuários" msgstr "Usuários"
@ -48,7 +58,7 @@ msgid "Networks"
msgstr "Redes" msgstr "Redes"
#: REST/methods/networks.py:70 REST/methods/osmanagers.py:73 #: REST/methods/networks.py:70 REST/methods/osmanagers.py:73
#: REST/methods/transports.py:73 #: REST/methods/transports.py:81
msgid "Used by" msgid "Used by"
msgstr "Usado por" msgstr "Usado por"
@ -56,40 +66,49 @@ msgstr "Usado por"
msgid "Current OS Managers" msgid "Current OS Managers"
msgstr "Atual OS gerentes" msgstr "Atual OS gerentes"
#: REST/methods/providers.py:67 #: REST/methods/providers.py:73
msgid "Current service providers" msgid "Current service providers"
msgstr "Provedores de serviço atual" msgstr "Provedores de serviço atual"
#: REST/methods/providers.py:71 templates/uds/index.html:51 #: REST/methods/providers.py:77 templates/uds/index.html:51
#: templates/uds/html5/index.html:68 #: templates/uds/html5/index.html:68
msgid "Services" msgid "Services"
msgstr "Serviços" msgstr "Serviços"
#: REST/methods/transports.py:69 #: REST/methods/transports.py:77
msgid "Current Transports" msgid "Current Transports"
msgstr "Atuais transportes" msgstr "Atuais transportes"
#: REST/methods/users.py:70 #: REST/methods/users_groups.py:66
#, python-brace-format #, python-brace-format
msgid "Users of {0}" msgid "Users of {0}"
msgstr "Usuários de {0}" msgstr "Usuários de {0}"
#: REST/methods/users.py:72 #: REST/methods/users_groups.py:68
msgid "Current users" msgid "Current users"
msgstr "Usuários atuais" msgstr "Usuários atuais"
#: REST/methods/users.py:76 #: REST/methods/users_groups.py:72 REST/methods/users_groups.py:101
msgid "User Id" msgid "User Id"
msgstr "Id de usuário" msgstr "Id de usuário"
#: REST/methods/users.py:79 #: REST/methods/users_groups.py:75 REST/methods/users_groups.py:103
msgid "state" msgid "state"
msgstr "Estado" msgstr "Estado"
#: REST/methods/users.py:80 #: REST/methods/users_groups.py:76
msgid "Last access" msgid "Last access"
msgstr "Último acesso" msgstr "Último acesso"
#: REST/methods/users_groups.py:95
#, python-brace-format
msgid "Groups of {0}"
msgstr "Grupos de {0}"
#: REST/methods/users_groups.py:97
msgid "Current groups"
msgstr "Grupos atuais"
#: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422 #: admin/views.py:55 admin/views.py:63 admin/views.py:77 web/views.py:422
msgid "Forbidden" msgid "Forbidden"
msgstr "Proibido" msgstr "Proibido"
@ -140,8 +159,8 @@ msgid ""
"Username with read privileges on the base selected (use USER@DOMAIN.DOM form " "Username with read privileges on the base selected (use USER@DOMAIN.DOM form "
"for this)" "for this)"
msgstr "" msgstr ""
"Nome de usuário com privilégios de leitura da base selecionada (uso USER@DOMAIN.Formulário de DOM " "Nome de usuário com privilégios de leitura da base selecionada (uso "
"para isso)" "USER@DOMAIN.Formulário de DOM para isso)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:34 #: auths/ActiveDirectory_enterprise/Authenticator.py:34
#: auths/ActiveDirectory_enterprise/Authenticator.py:52 #: auths/ActiveDirectory_enterprise/Authenticator.py:52
@ -265,8 +284,7 @@ msgstr "Não parece um Active Directory LDAP (não não têm objetos de grupo)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:472 #: auths/ActiveDirectory_enterprise/Authenticator.py:472
msgid "" msgid ""
"Ldap does not seem an Active Directory (do not have any user nor groups)" "Ldap does not seem an Active Directory (do not have any user nor groups)"
msgstr "" msgstr "Não parece um Active Directory LDAP (não tem nenhum usuário ou grupos)"
"Não parece um Active Directory LDAP (não tem nenhum usuário ou grupos)"
#: auths/ActiveDirectory_enterprise/Authenticator.py:477 #: auths/ActiveDirectory_enterprise/Authenticator.py:477
#: auths/EDirectory_enterprise/Authenticator.py:358 #: auths/EDirectory_enterprise/Authenticator.py:358
@ -345,7 +363,8 @@ msgstr "Atributo esperado grupo "
msgid "" msgid ""
"Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)" "Ldap user class or user id attr is probably wrong (Ldap is an eDirectory?)"
msgstr "" msgstr ""
"LDAP usuário classe ou usuário id attr provavelmente está errado (Ldap é do eDirectory?)" "LDAP usuário classe ou usuário id attr provavelmente está errado (Ldap é do "
"eDirectory?)"
#: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50 #: auths/IP/Authenticator.py:48 auths/IP/Authenticator.py:50
msgid "IP Authenticator" msgid "IP Authenticator"
@ -506,7 +525,8 @@ msgstr "Metadados do IDP"
msgid "" msgid ""
"You can enter here the URL or the IDP metadata or the metadata itself (xml)" "You can enter here the URL or the IDP metadata or the metadata itself (xml)"
msgstr "" msgstr ""
"Você pode entrar aqui a URL ou os metadados do IDP ou os metadados em si (xml)" "Você pode entrar aqui a URL ou os metadados do IDP ou os metadados em si "
"(xml)"
#: auths/SAML_enterprise/SAML.py:127 #: auths/SAML_enterprise/SAML.py:127
msgid "Entity ID" msgid "Entity ID"
@ -514,7 +534,9 @@ msgstr "ID da entidade"
#: auths/SAML_enterprise/SAML.py:128 #: auths/SAML_enterprise/SAML.py:128
msgid "ID of the SP. If left blank, this will be autogenerated from server URL" msgid "ID of the SP. If left blank, this will be autogenerated from server URL"
msgstr "ID do SP. Se deixado em branco, este será gerado automaticamente do servidor URL" msgstr ""
"ID do SP. Se deixado em branco, este será gerado automaticamente do servidor "
"URL"
#: auths/SAML_enterprise/SAML.py:130 #: auths/SAML_enterprise/SAML.py:130
msgid "User name attrs" msgid "User name attrs"
@ -557,8 +579,8 @@ msgid ""
"Private key should be a valid PEM (PEM private keys starts with -----BEGIN " "Private key should be a valid PEM (PEM private keys starts with -----BEGIN "
"RSA PRIVATE KEY-----" "RSA PRIVATE KEY-----"
msgstr "" msgstr ""
"A chave privada deve ser um válido PEM (PEM chaves privadas começa com---BEGIN " "A chave privada deve ser um válido PEM (PEM chaves privadas começa com---"
"RSA PRIVATE KEY--" "BEGIN RSA PRIVATE KEY--"
#: auths/SAML_enterprise/SAML.py:197 #: auths/SAML_enterprise/SAML.py:197
#, python-brace-format #, python-brace-format
@ -1129,7 +1151,8 @@ msgstr "Cluster Hyper-v ligada Clone (Experimental)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:55 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:55
#: services/HyperV_enterprise/HyperVLinkedService.py:58 #: services/HyperV_enterprise/HyperVLinkedService.py:58
msgid "Hyper Services based on templates and differential disks (experimental)" msgid "Hyper Services based on templates and differential disks (experimental)"
msgstr "Hiper serviços baseados em modelos e discos diferenciais (experimentais)" msgstr ""
"Hiper serviços baseados em modelos e discos diferenciais (experimentais)"
#: services/HyperV_enterprise/HyperVClusterLinkedService.py:72 #: services/HyperV_enterprise/HyperVClusterLinkedService.py:72
#: services/HyperV_enterprise/HyperVLinkedService.py:75 #: services/HyperV_enterprise/HyperVLinkedService.py:75
@ -1172,7 +1195,8 @@ msgstr "Rede"
msgid "" msgid ""
"If more than 1 interface is found in machine, use one on this network as main" "If more than 1 interface is found in machine, use one on this network as main"
msgstr "" msgstr ""
"Se mais de 1 relação encontra-se na máquina, utilize um nesta rede como principal" "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/HyperVClusterLinkedService.py:98
#: services/HyperV_enterprise/HyperVLinkedService.py:101 #: services/HyperV_enterprise/HyperVLinkedService.py:101
@ -1250,7 +1274,9 @@ msgstr "Provedor de serviço de Cluster Hyper-v"
#: services/HyperV_enterprise/HyperVClusterProvider.py:89 #: services/HyperV_enterprise/HyperVClusterProvider.py:89
#: services/HyperV_enterprise/HyperVProvider.py:81 #: services/HyperV_enterprise/HyperVProvider.py:81
msgid "HyperV Server IP or Hostname (must enable first WSMAN access)" 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/HyperVClusterProvider.py:90
#: services/HyperV_enterprise/HyperVProvider.py:82 #: services/HyperV_enterprise/HyperVProvider.py:82
@ -1621,7 +1647,8 @@ msgstr "Base de clones vinculados da VMWare"
msgid "" msgid ""
"This service provides access to Linked Clones machines on a Virtual Center" "This service provides access to Linked Clones machines on a Virtual Center"
msgstr "" msgstr ""
"Este serviço fornece acesso a máquinas de Clones vinculados em um Virtual Center" "Este serviço fornece acesso a máquinas de Clones vinculados em um Virtual "
"Center"
#: templates/404.html:3 templates/500.html:3 #: templates/404.html:3 templates/500.html:3
msgid "Page not found" msgid "Page not found"
@ -1756,15 +1783,27 @@ msgstr "Painel de saída"
msgid "logout" msgid "logout"
msgstr "logout" msgstr "logout"
#: templates/uds/admin/tmpl/authenticators.html:4
msgid "administration of authenticators"
msgstr "Administração de autenticadores"
#: templates/uds/admin/tmpl/connectivity.html:4 #: templates/uds/admin/tmpl/connectivity.html:4
#: templates/uds/admin/tmpl/dashboard.html:4 #: templates/uds/admin/tmpl/dashboard.html:4
msgid "overview" msgid "overview"
msgstr "Visão geral" msgstr "Visão geral"
#: templates/uds/admin/tmpl/modal.html:18
msgid "Close"
msgstr "Fechar"
#: templates/uds/admin/tmpl/modal.html:25
msgid "Save"
msgstr "Salvar"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "Yes"
msgstr "Sim"
#: templates/uds/admin/tmpl/fld/checkbox.html:4
msgid "No"
msgstr "Não"
#: templates/uds/html5/detectJava.html:4 #: templates/uds/html5/detectJava.html:4
msgid "Login redirection to UDS" msgid "Login redirection to UDS"
msgstr "Redirecionamento de login para UDS" msgstr "Redirecionamento de login para UDS"
@ -2221,8 +2260,8 @@ msgid ""
"The lowest image quality applied to images to maintain the minimum update " "The lowest image quality applied to images to maintain the minimum update "
"rate." "rate."
msgstr "" msgstr ""
"A qualidade de imagem mais baixa aplicada às imagens para manter a atualização mínima " "A qualidade de imagem mais baixa aplicada às imagens para manter a "
"taxa." "atualização mínima taxa."
#: transports/RGS-enterprise/RGSTransport.py:51 #: transports/RGS-enterprise/RGSTransport.py:51
#: transports/RGS-enterprise/TRGSTransport.py:56 #: transports/RGS-enterprise/TRGSTransport.py:56
@ -2232,7 +2271,8 @@ msgstr "Taxa de Frame ajustável"
#: transports/RGS-enterprise/RGSTransport.py:52 #: transports/RGS-enterprise/RGSTransport.py:52
#: transports/RGS-enterprise/TRGSTransport.py:57 #: transports/RGS-enterprise/TRGSTransport.py:57
msgid "Update rate threshold to begin adjusting image quality" 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:53 #: transports/RGS-enterprise/RGSTransport.py:53
#: transports/RGS-enterprise/TRGSTransport.py:58 #: transports/RGS-enterprise/TRGSTransport.py:58
@ -2245,8 +2285,8 @@ msgid ""
"Change the Sender's resolution to match the Receiver's resolution when " "Change the Sender's resolution to match the Receiver's resolution when "
"connecting" "connecting"
msgstr "" msgstr ""
"Alterar a resolução do remetente para coincidir com a resolução do receptor quando " "Alterar a resolução do remetente para coincidir com a resolução do receptor "
"Conectando-se" "quando Conectando-se"
#: transports/RGS-enterprise/RGSTransport.py:55 #: transports/RGS-enterprise/RGSTransport.py:55
#: transports/RGS-enterprise/TRGSTransport.py:60 #: transports/RGS-enterprise/TRGSTransport.py:60

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-20 04:05+0100\n" "POT-Creation-Date: 2013-11-23 22:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,146 +18,234 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: static/adm/js/api-tools.js:46
msgid "Just a moment..."
msgstr "Só um momento..."
#: static/adm/js/api-tools.js:75
msgid "Sunday"
msgstr "Domingo"
#: static/adm/js/api-tools.js:75
msgid "Monday"
msgstr "Segunda-feira"
#: static/adm/js/api-tools.js:75
msgid "Tuesday"
msgstr "Terça-feira"
#: static/adm/js/api-tools.js:75
msgid "Wednesday"
msgstr "Quarta-feira"
#: static/adm/js/api-tools.js:76
msgid "Thursday"
msgstr "Quinta-feira"
#: static/adm/js/api-tools.js:76
msgid "Friday"
msgstr "Sexta-feira"
#: static/adm/js/api-tools.js:76
msgid "Saturday"
msgstr "Sábado"
#: static/adm/js/api-tools.js:77
msgid "January"
msgstr "Janeiro de"
#: static/adm/js/api-tools.js:77
msgid "February"
msgstr "Fevereiro"
#: static/adm/js/api-tools.js:77
msgid "March"
msgstr "Março de"
#: static/adm/js/api-tools.js:77
msgid "April"
msgstr "Abril"
#: static/adm/js/api-tools.js:77
msgid "May"
msgstr "Maio"
#: static/adm/js/api-tools.js:78
msgid "June"
msgstr "Junho de"
#: static/adm/js/api-tools.js:78
msgid "July"
msgstr "Julho"
#: static/adm/js/api-tools.js:78
msgid "August"
msgstr "Agosto"
#: static/adm/js/api-tools.js:78
msgid "September"
msgstr "Setembro"
#: static/adm/js/api-tools.js:78
msgid "October"
msgstr "Outubro"
#: static/adm/js/api-tools.js:79
msgid "November"
msgstr "Novembro"
#: static/adm/js/api-tools.js:79
msgid "December"
msgstr "Dezembro de"
#: static/adm/js/dataTables.bootstrap.js:6 static/adm/js/gui.js:19
msgid "_MENU_ records per page"
msgstr "Registros _MENU_ por página"
#: static/adm/js/gui-elements.js:33 #: static/adm/js/gui-elements.js:33
msgid "Service Providers" msgid "Service Providers"
msgstr "Prestadores de serviços" msgstr "Prestadores de serviços"
#: static/adm/js/gui.js:18 #: static/adm/js/gui-elements.js:40
msgid "_MENU_ records per page" msgid "Edit service provider"
msgstr "Registros _MENU_ por página" msgstr "Editar Provedor de serviço"
#: static/adm/js/gui.js:19 #: static/adm/js/gui-elements.js:104
msgid "Edit authenticator"
msgstr "Editar autenticador"
#: static/adm/js/gui-elements.js:149
msgid "Edit transport"
msgstr "Editar transportes"
#: static/adm/js/gui-elements.js:159
msgid "New transport"
msgstr "Novo transporte"
#: static/adm/js/gui.js:20
msgid "Empty" msgid "Empty"
msgstr "Vazio" msgstr "Vazio"
#: static/adm/js/gui.js:20 #: static/adm/js/gui.js:21
msgid "Records _START_ to _END_ of _TOTAL_" msgid "Records _START_ to _END_ of _TOTAL_"
msgstr "Registros _START_ para _END_ de _TOTAL_" msgstr "Registros _START_ para _END_ de _TOTAL_"
#: static/adm/js/gui.js:21 #: static/adm/js/gui.js:22
msgid "No records" msgid "No records"
msgstr "Não há registros" msgstr "Não há registros"
#: static/adm/js/gui.js:22 #: static/adm/js/gui.js:23
msgid "(filtered from _MAX_ total records)" msgid "(filtered from _MAX_ total records)"
msgstr "(filtrada de registros total de _MAX_)" msgstr "(filtrada de registros total de _MAX_)"
#: static/adm/js/gui.js:23 #: static/adm/js/gui.js:24
msgid "Please wait, processing" msgid "Please wait, processing"
msgstr "Aguarde, processamento" msgstr "Aguarde, processamento"
#: static/adm/js/gui.js:24 #: static/adm/js/gui.js:25
msgid "Filter" msgid "Filter"
msgstr "Filtro" msgstr "Filtro"
#: static/adm/js/gui.js:27 #: static/adm/js/gui.js:28
msgid "First" msgid "First"
msgstr "Primeiro" msgstr "Primeiro"
#: static/adm/js/gui.js:28 #: static/adm/js/gui.js:29
msgid "Last" msgid "Last"
msgstr "Última" msgstr "Última"
#: static/adm/js/gui.js:29 #: static/adm/js/gui.js:30
msgid "Next" msgid "Next"
msgstr "Próxima" msgstr "Próxima"
#: static/adm/js/gui.js:30 #: static/adm/js/gui.js:31
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: static/adm/js/gui.js:75 #: static/adm/js/gui.js:37
msgid "Deployed services" msgid "New"
msgstr "Serviços implantados" msgstr "Novo"
#: static/adm/js/gui.js:360 #: static/adm/js/gui.js:41
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
#: static/adm/js/gui.js:369 #: static/adm/js/gui.js:45
msgid "Delete" msgid "Delete"
msgstr "Excluir" msgstr "Excluir"
#: static/adm/js/gui.js:378 #: static/adm/js/gui.js:49
msgid "Refresh" msgid "Refresh"
msgstr "Atualização" msgstr "Atualização"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:53
msgid "Sunday" msgid "Xls"
msgstr "Domingo" msgstr "Xls"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:166
msgid "Monday" msgid "Deployed services"
msgstr "Segunda-feira" msgstr "Serviços implantados"
#: static/adm/js/strftime.js:30 #: static/adm/js/gui.js:204
msgid "Tuesday" msgid "This field is required."
msgstr "Terça-feira" msgstr "Este campo é obrigatório."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:205
msgid "Wednesday" msgid "Please fix this field."
msgstr "Quarta-feira" msgstr "Por favor corrigi este campo."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:206
msgid "Thursday" msgid "Please enter a valid email address."
msgstr "Quinta-feira" msgstr "Por favor insira um endereço de email válido."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:207
msgid "Friday" msgid "Please enter a valid URL."
msgstr "Sexta-feira" msgstr "Por favor introduza um URL válido."
#: static/adm/js/strftime.js:31 #: static/adm/js/gui.js:208
msgid "Saturday" msgid "Please enter a valid date."
msgstr "Sábado" msgstr "Por favor introduza uma data válida."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:209
msgid "January" msgid "Please enter a valid date (ISO)."
msgstr "Janeiro de" msgstr "Por favor introduza uma data válida (ISO)."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:210
msgid "February" msgid "Please enter a valid number."
msgstr "Fevereiro" msgstr "Por favor, insira um número válido."
#: static/adm/js/strftime.js:32 #: static/adm/js/gui.js:211
msgid "March" msgid "Please enter only digits."
msgstr "Março de" msgstr "Por favor, digite somente dígitos."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:212
msgid "April" msgid "Please enter a valid credit card number."
msgstr "Abril" msgstr "Por favor, insira um número válido de cartão de crédito."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:213
msgid "May" msgid "Please enter the same value again."
msgstr "Maio" msgstr "Digite novamente o mesmo valor."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:214
msgid "June" msgid "Please enter no more than {0} characters."
msgstr "Junho de" msgstr "Não mais de {0} caracteres digite."
#: static/adm/js/strftime.js:33 #: static/adm/js/gui.js:215
msgid "July" msgid "Please enter at least {0} characters."
msgstr "Julho" msgstr "Por favor, insira pelo menos {0} caracteres."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:216
msgid "August" msgid "Please enter a value between {0} and {1} characters long."
msgstr "Agosto" msgstr "Por favor, insira um valor entre {0} e {1} caracteres longo."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:217
msgid "September" msgid "Please enter a value between {0} and {1}."
msgstr "Setembro" msgstr "Por favor, insira um valor entre {0} e {1}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:218
msgid "October" msgid "Please enter a value less than or equal to {0}."
msgstr "Outubro" msgstr "Por favor digite um valor menor ou igual a {0}."
#: static/adm/js/strftime.js:34 #: static/adm/js/gui.js:219
msgid "November" msgid "Please enter a value greater than or equal to {0}."
msgstr "Novembro" msgstr "Por favor, insira um valor maior ou igual a {0}."
#: static/adm/js/strftime.js:35
msgid "December"
msgstr "Dezembro de"
#: static/adm/js/tools.js:46
msgid "Just a moment..."
msgstr "Só um momento..."

View File

@ -132,7 +132,7 @@ div.DTTT .btn:hover {
} }
ul.DTTT_dropdown.dropdown-menu { ul.DTTT_dropdown.dropdown-menu {
z-index: 2003; z-index: 2013;
} }
ul.DTTT_dropdown.dropdown-menu a { ul.DTTT_dropdown.dropdown-menu a {
@ -146,10 +146,11 @@ ul.DTTT_dropdown.dropdown-menu li {
ul.DTTT_dropdown.dropdown-menu li:hover a { ul.DTTT_dropdown.dropdown-menu li:hover a {
background-color: #0088cc; background-color: #0088cc;
color: white !important; color: white !important;
cursor: pointer;
} }
div.DTTT_collection_background { div.DTTT_collection_background {
z-index: 2002; z-index: 2009;
} }
/* TableTools information display */ /* TableTools information display */

View File

@ -35,6 +35,13 @@ body {
display: none; display: none;
} }
/*table.dataTable tr.odd td.sorting_1 { background-color: red; }
table.dataTable tr.odd td.sorting_2 { background-color: red; }
table.dataTable tr.odd td.sorting_3 { background-color: red; }
table.dataTable tr.even td.sorting_1 { background-color: blue; }
table.dataTable tr.even td.sorting_2 { background-color: blue; }
table.dataTable tr.even td.sorting_3 { background-color: blue; }*/
/* collapsable && closeable pannels */ /* collapsable && closeable pannels */
.chevron:before { .chevron:before {
content: "\f139"; content: "\f139";
@ -58,6 +65,9 @@ body {
} }
.tooltip {
z-index: 2014;
}
/* Edit Below to Customize Widths > 768px */ /* Edit Below to Customize Widths > 768px */
@media (min-width:768px) { @media (min-width:768px) {

View File

@ -9,6 +9,7 @@
// Registers Handlebar useful helpers // Registers Handlebar useful helpers
// Equal comparision (like if helper, but with comparation) // Equal comparision (like if helper, but with comparation)
// Use as block as {{#ifequals [element] [element]}}....{{/ifequals}}
Handlebars.registerHelper('ifequals', function(context1, context2, options) { Handlebars.registerHelper('ifequals', function(context1, context2, options) {
console.log('Comparing ', context1, ' with ', context2); console.log('Comparing ', context1, ' with ', context2);
if(context1 == context2) { if(context1 == context2) {
@ -18,6 +19,22 @@
} }
}); });
// 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
Handlebars.registerHelper('set_counter', function(id, value, options){
options.data['_counter_'+id] = value;
});
Handlebars.registerHelper('get_counter', function(id, options){
return options.data['_counter_'+id];
});
Handlebars.registerHelper('inc_counter', function(id, options){
options.data['_counter_'+id] += 1;
});
api.templates = {}; api.templates = {};
// Now initialize templates api // Now initialize templates api
@ -40,7 +57,7 @@
} }
} }
$.ajax({ $.ajax({
url : api.template_url + name, url : api.url_for(name,'template'),
type : "GET", type : "GET",
dataType : "text", dataType : "text",
success : function(data) { success : function(data) {

View File

@ -2,14 +2,13 @@
(function(api, $, undefined) { (function(api, $, undefined) {
"use strict"; "use strict";
// "public" methods // "public" methods
api.doLog = function(data) { api.doLog = function() {
if (api.debug) { if (api.debug) {
try { try {
console.log(data); console.log.apply(window, arguments);
} catch (e) { } catch (e) {
// nothing can be logged // nothing can be logged
} }
} }
}; };
@ -29,6 +28,18 @@
} }
}; };
api.url_for = function(path, type) {
switch(type) {
case 'template':
return api.config.template_url + path;
case undefined:
case 'rest':
return api.config.base_url + path;
default:
throw new Exception('Type of url not found: ' + type);
}
};
api.getJson = function(path, options) { api.getJson = function(path, options) {
options = options || {}; options = options || {};
var success_fnc = options.success || function(){}; var success_fnc = options.success || function(){};
@ -45,7 +56,7 @@
success_fnc(data); success_fnc(data);
}, },
beforeSend : function(request) { beforeSend : function(request) {
request.setRequestHeader(api.auth_header, api.token); request.setRequestHeader(api.config.auth_header, api.config.token);
}, },
}); });
}; };

View File

@ -3,7 +3,7 @@ $.extend(true, $.fn.dataTable.defaults, {
"sDom" : "<'row'<'col-xs-6'l><'col-xs-6'f>r>t<'row'<'col-xs-6'i><'col-xs-6'p>>", "sDom" : "<'row'<'col-xs-6'l><'col-xs-6'f>r>t<'row'<'col-xs-6'i><'col-xs-6'p>>",
"sPaginationType" : "bootstrap", "sPaginationType" : "bootstrap",
"oLanguage" : { "oLanguage" : {
"sLengthMenu" : "_MENU_ records per page" "sLengthMenu" : gettext("_MENU_ records per page")
} }
}); });
@ -74,6 +74,12 @@ $.extend($.fn.dataTableExt.oPagination, {
iEnd = iStart + iListLength - 1; iEnd = iStart + iListLength - 1;
} }
var fnClick = function(e) {
e.preventDefault();
oSettings._iDisplayStart = (parseInt($('a', this).text(), 10) - 1) * oPaging.iLength;
fnDraw(oSettings);
};
for (i = 0, ien = an.length; i < ien; i++) { for (i = 0, ien = an.length; i < ien; i++) {
// Remove the middle elements // Remove the middle elements
$('li:gt(0)', an[i]).filter(':not(:last)').remove(); $('li:gt(0)', an[i]).filter(':not(:last)').remove();
@ -82,11 +88,7 @@ $.extend($.fn.dataTableExt.oPagination, {
for (j = iStart; j <= iEnd; j++) { for (j = iStart; j <= iEnd; j++) {
sClass = (j == oPaging.iPage + 1) ? 'class="active"' : ''; sClass = (j == oPaging.iPage + 1) ? 'class="active"' : '';
$('<li ' + sClass + '><a href="#">' + j + '</a></li>').insertBefore($('li:last', an[i])[0]).bind( $('<li ' + sClass + '><a href="#">' + j + '</a></li>').insertBefore($('li:last', an[i])[0]).bind(
'click', function(e) { 'click', fnClick);
e.preventDefault();
oSettings._iDisplayStart = (parseInt($('a', this).text(), 10) - 1) * oPaging.iLength;
fnDraw(oSettings);
});
} }
// Add / remove disabled classes from the static elements // Add / remove disabled classes from the static elements

View File

@ -88,7 +88,7 @@ gui.authenticators.link = function(event) {
container : 'users-placeholder', container : 'users-placeholder',
rowSelect : 'multi', rowSelect : 'multi',
buttons : [ 'new', 'edit', 'delete', 'xls' ], buttons : [ 'new', 'edit', 'delete', 'xls' ],
scrollToTable : true, scrollToTable : false,
onLoad: function(k) { onLoad: function(k) {
api.tools.unblockUI(); api.tools.unblockUI();
}, },
@ -101,7 +101,7 @@ gui.authenticators.link = function(event) {
onEdit: function(value, event, table) { onEdit: function(value, event, table) {
gui.authenticators.rest.gui(value.type, function(data){ gui.authenticators.rest.gui(value.type, function(data){
var form = gui.fields(data); var form = gui.fields(data);
gui.launchModal(gettext('Edit authenticator')+' '+value.name, form); gui.launchModalForm(gettext('Edit authenticator')+' '+value.name, form);
}); });
}, },
}); });
@ -146,7 +146,7 @@ gui.connectivity.link = function(event) {
gui.connectivity.transports.rest.gui(value.type, function(itemGui){ gui.connectivity.transports.rest.gui(value.type, function(itemGui){
gui.connectivity.transports.rest.item(value.id, function(item) { gui.connectivity.transports.rest.item(value.id, function(item) {
var form = gui.fields(itemGui, item); var form = gui.fields(itemGui, item);
gui.launchModal(gettext('Edit transport')+' '+value.name,form, function(form_selector) { gui.launchModalForm(gettext('Edit transport')+' '+value.name,form, function(form_selector) {
var fields = gui.fields.read(form_selector); var fields = gui.fields.read(form_selector);
return false; return false;
}); });
@ -154,7 +154,13 @@ gui.connectivity.link = function(event) {
}); });
}, },
onNew: function(type) { onNew: function(type) {
gui.doLog(type); gui.connectivity.transports.rest.gui(type, function(itemGui) {
var form = gui.fields(itemGui);
gui.launchModalForm(gettext('New transport'), form, function(form_selector) {
var fields = gui.fields.read(form_selector);
return false;
});
});
}, },
}); });
gui.connectivity.networks.table({ gui.connectivity.networks.table({

View File

@ -12,6 +12,10 @@
$.each(itemGui, function(index, f){ $.each(itemGui, function(index, f){
gui.doLog(f); gui.doLog(f);
gui.doLog(item[f.name]); gui.doLog(item[f.name]);
// Fix multiline text fields to textbox
if( f.gui.type == 'text' && f.gui.multiline ) {
f.gui.type = 'textbox';
}
form += api.templates.evaluate('tmpl_fld_'+f.gui.type, { form += api.templates.evaluate('tmpl_fld_'+f.gui.type, {
value: item[f.name] || f.gui.value || f.gui.defvalue, // If no value present, use default value value: item[f.name] || f.gui.value || f.gui.defvalue, // If no value present, use default value
values: f.gui.values, values: f.gui.values,

View File

@ -5,7 +5,7 @@
gui.doLog = function() { gui.doLog = function() {
if (gui.debug) { if (gui.debug) {
try { try {
console.log(arguments); console.log.apply(window, arguments);
} catch (e) { } catch (e) {
// nothing can be logged // nothing can be logged
} }
@ -105,10 +105,14 @@
}); });
}; };
gui.launchModal = function(title, content, onSuccess) { gui.launchModalForm = function(title, content, onSuccess) {
var id = Math.random().toString().split('.')[1]; var id = Math.random().toString().split('.')[1]; // Get a random ID for this modal
gui.appendToWorkspace(gui.modal(id, title, content)); gui.appendToWorkspace(gui.modal(id, title, content));
id = '#' + id; // for jQuery id = '#' + id; // for jQuery
// Get form
var $form = $(id + ' form');
// For "beauty" switches, initialize them now // For "beauty" switches, initialize them now
$(id + ' .make-switch').bootstrapSwitch(); $(id + ' .make-switch').bootstrapSwitch();
// Activate "cool" selects // Activate "cool" selects
@ -118,9 +122,26 @@
$(id + ' .selectpicker').selectpicker('mobile'); $(id + ' .selectpicker').selectpicker('mobile');
} }
// Activate tooltips // Activate tooltips
$(id + ' [data-toggle="tooltip"]').tooltip({delay: 500, placement: 'auto right'}); $(id + ' [data-toggle="tooltip"]').tooltip({delay: {show: 1000, hide: 100}, placement: 'auto right'});
// Validation
$form.validate({
debug: true,
errorClass: 'text-danger',
validClass: 'has-success',
highlight: function(element) {
$(element).closest('.form-group').addClass('has-error');
},
success: function(element) {
$(element).closest('.form-group').removeClass('has-error');
$(element).remove();
},
});
// And catch "accept" (default is "Save" in fact) button click // And catch "accept" (default is "Save" in fact) button click
$(id + ' .button-accept').click(function(){ $(id + ' .button-accept').click(function(){
if( !$form.valid() )
return;
if( onSuccess ) { if( onSuccess ) {
if( onSuccess(id + ' form') === false ) // Some error may have ocurred, do not close dialog if( onSuccess(id + ' form') === false ) // Some error may have ocurred, do not close dialog
return; return;
@ -184,6 +205,26 @@
}; };
gui.init = function() { gui.init = function() {
// Load jquery validator strings
$.extend($.validator.messages, {
required: gettext("This field is required."),
remote: gettext("Please fix this field."),
email: gettext("Please enter a valid email address."),
url: gettext("Please enter a valid URL."),
date: gettext("Please enter a valid date."),
dateISO: gettext("Please enter a valid date (ISO)."),
number: gettext("Please enter a valid number."),
digits: gettext("Please enter only digits."),
creditcard: gettext("Please enter a valid credit card number."),
equalTo: gettext("Please enter the same value again."),
maxlength: $.validator.format(gettext("Please enter no more than {0} characters.")),
minlength: $.validator.format(gettext("Please enter at least {0} characters.")),
rangelength: $.validator.format(gettext("Please enter a value between {0} and {1} characters long.")),
range: $.validator.format(gettext("Please enter a value between {0} and {1}.")),
max: $.validator.format(gettext("Please enter a value less than or equal to {0}.")),
min: $.validator.format(gettext("Please enter a value greater than or equal to {0}."))
});
gui.setLinksEvents(); gui.setLinksEvents();
gui.dashboard.link(); gui.dashboard.link();
}; };
@ -266,7 +307,7 @@ GuiElement.prototype = {
// 4.- the DataTable that raised the event // 4.- the DataTable that raised the event
table : function(options) { table : function(options) {
"use strict"; "use strict";
console.log('Types: ', this.types); gui.doLog('Types: ', this.types);
options = options || {}; options = options || {};
gui.doLog('Composing table for ' + this.name); gui.doLog('Composing table for ' + this.name);
var tableId = this.name + '-table'; var tableId = this.name + '-table';
@ -365,19 +406,12 @@ GuiElement.prototype = {
columns.push(column); columns.push(column);
} }
}); });
// Generate styles for responsible table, just the name of fields (append header to table) // Responsive style for tables, using tables.css and this code generates the "titles" for vertical display on small sizes
var respStyles = []; $('#style-' + tableId).remove(); // Remove existing style for table before adding new one
var counter = 0; $(api.templates.evaluate('tmpl_responsive_table', {
$.each(columns, function(col, value) { tableId: tableId,
if( value.bVisible === false ) columns: columns,
return; })).appendTo('head');
counter += 1;
respStyles.push('#' + tableId + ' td:nth-of-type(' + counter + '):before { content: "' +
(value.sTitle || '') + '";}\n');
});
// If styles already exists, remove them before adding new ones
$('style-' + tableId).remove();
$('<style id="style-' + tableId + '" media="screen">@media (max-width: 768px) { ' + respStyles.join('') + '};</style>').appendTo('head');
$this.rest.overview(function(data) { $this.rest.overview(function(data) {
var table = gui.table(title, tableId); var table = gui.table(title, tableId);
@ -463,11 +497,21 @@ GuiElement.prototype = {
} else { } else {
// This table has "types, so we create a dropdown with Types // This table has "types, so we create a dropdown with Types
var newButtons = []; var newButtons = [];
$.each($this.types, function(i, val){ // Order buttons by name, much more easy for users... :-)
var order = [];
$.each($this.types, function(k, v){
order.push({
type: k,
css: v.css,
name: v.name,
description: v.description,
});
});
$.each(order.sort(function(a,b){return a.name.localeCompare(b.name);}), function(i, val){
newButtons.push({ newButtons.push({
"sExtends" : "text", "sExtends" : "text",
"sButtonText" : '<span class="' + val.css + '"></span> ' + val.name, "sButtonText" : '<span class="' + val.css + '"></span> <span data-toggle="tooltip" data-title="' + val.description + '">' + val.name + '</span>',
"fnClick" : clickHandlerFor(options.onNew, i, true), "fnClick" : clickHandlerFor(options.onNew, val.type, true),
}); });
}); });
btn = { btn = {
@ -551,8 +595,9 @@ GuiElement.prototype = {
}; };
} }
if (btn !== undefined) if(btn) {
btns.push(btn); btns.push(btn);
}
}); });
} }
@ -596,6 +641,12 @@ GuiElement.prototype = {
$('#' + tableId + '_filter input').addClass('form-control'); $('#' + tableId + '_filter input').addClass('form-control');
// Add refresh action to panel // Add refresh action to panel
$(table.refreshSelector).click(refreshFnc); $(table.refreshSelector).click(refreshFnc);
// Add tooltips to "new" buttons
$('.DTTT_dropdown [data-toggle="tooltip"]').tooltip({
container:'body',
delay: { show: 1000, hide: 100},
placement: 'auto right',
});
if (options.scrollToTable === true ) { if (options.scrollToTable === true ) {
var tableTop = $('#' + tableId).offset().top; var tableTop = $('#' + tableId).offset().top;

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -4,13 +4,12 @@
<!DOCTYPE html>{% endspaceless %} <!DOCTYPE html>{% endspaceless %}
<html lang='{{LANGUAGE_CODE}}'> <html lang='{{LANGUAGE_CODE}}'>
<head> <head>
<title>{% block title %}{% endblock %}</title> <title>UDS Dashboard</title>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="robots" content="noindex, nofollow">
<meta name="robots" content="noindex, nofollow" />
<link href="{% get_static_prefix %}img/favicon.ico" rel="icon" type="image/x-icon" /> <link href="{% get_static_prefix %}img/favicon.ico" rel="icon" type="image/x-icon">
<!-- Bootstrap --> <!-- Bootstrap -->
<link href="{% get_static_prefix %}css/bootstrap.min.css" rel="stylesheet" media="screen"> <link href="{% get_static_prefix %}css/bootstrap.min.css" rel="stylesheet" media="screen">
@ -52,6 +51,7 @@
<script src="{% get_static_prefix %}js/bootstrap.min.js"></script> <script src="{% get_static_prefix %}js/bootstrap.min.js"></script>
<script src="{% get_static_prefix %}js/bootstrap-switch.min.js"></script> <script src="{% get_static_prefix %}js/bootstrap-switch.min.js"></script>
<script src="{% get_static_prefix %}js/bootstrap-select.min.js"></script> <script src="{% get_static_prefix %}js/bootstrap-select.min.js"></script>
<script src="{% get_static_prefix %}adm/js/jquery.validate.js"></script>
<script src="{% get_static_prefix %}adm/js/jquery.blockUI.js"></script> <script src="{% get_static_prefix %}adm/js/jquery.blockUI.js"></script>
<script src="{% get_static_prefix %}adm/js/jquery.dataTables.min.js"></script> <script src="{% get_static_prefix %}adm/js/jquery.dataTables.min.js"></script>
@ -72,15 +72,15 @@
<script> <script>
// Initialize a few settings, needed for api to work // Initialize a few settings, needed for api to work
(function(api, $, undefined){ (function(api, $, undefined){
api.token = "{% auth_token %}"; api.config = {
api.auth_header = "{% auth_token_header %}"; token: "{% auth_token %}",
api.base_url = "{% url 'REST' '' %}"; auth_header: "{% auth_token_header %}",
api.template_url = "{% url 'uds.admin.views.tmpl' '' %}"; lang: "LANGUAGE_CODE",
api.img_url = "{% get_static_prefix %}adm/img/"; base_url: "{% url 'REST' '' %}",
template_url: "{% url 'uds.admin.views.tmpl' '' %}",
img_url: "{% get_static_prefix %}adm/img/",
};
api.url_for = function(path) {
return api.base_url + path;
}
}(window.api = window.api || {}, jQuery)); }(window.api = window.api || {}, jQuery));
</script> </script>
@ -119,6 +119,7 @@
<!-- components --> <!-- components -->
{% js_template 'table' %} {% js_template 'table' %}
{% js_template 'modal' %} {% js_template 'modal' %}
{% js_template 'responsive_table' %}
<!-- fields --> <!-- fields -->
{% js_template 'fld/checkbox' %} {% js_template 'fld/checkbox' %}
{% js_template 'fld/choice' %} {% js_template 'fld/choice' %}

View File

@ -0,0 +1,6 @@
{% extends "uds/admin/tmpl/fld/form-group.html" %}
{% block field %}
{% verbatim %}
<input type="{% endverbatim %}{% block type %}text{% endblock %}{% verbatim %}" class="form-control {{ css }}" name="{{ name }}" id="{{ name }}_field" placeholder="{{ tooltip }}" value="{{ value }}"{{# if readonly }} readonly{{/ if }} {{# if required }} required {{/ if }}>
{% endverbatim %}
{% endblock %}

View File

@ -1,7 +1,3 @@
{% extends "uds/admin/tmpl/fld/form-group.html" %} {% extends "uds/admin/tmpl/fld/basic-input.html" %}
{% load i18n %} {% load i18n %}
{% block field %} {% block type %}numeric{% endblock %}
{% verbatim %}
<input type="numeric" name="{{ name }}" class="form-control {{ css }}" id="{{ name }}_field" placeholder="{{ tooltip }}" value="{{ value }}"{{# if readonly }} readonly{{/ if }}>
{% endverbatim %}
{% endblock %}

View File

@ -1,2 +1,3 @@
{% verbatim %} {% extends "uds/admin/tmpl/fld/basic-input.html" %}
{% endverbatim %} {% load i18n %}
{% block type %}password{% endblock %}

View File

@ -1,7 +1,2 @@
{% extends "uds/admin/tmpl/fld/form-group.html" %} {% extends "uds/admin/tmpl/fld/basic-input.html" %}
{% load i18n %} {% block type %}text{% endblock %}
{% block field %}
{% verbatim %}
<input type="text" class="form-control {{ css }}" name="{{ name }}" id="{{ name }}_field" placeholder="{{ tooltip }}" value="{{ value }}"{{# if readonly }} readonly{{/ if }}>
{% endverbatim %}
{% endblock %}

View File

@ -1,2 +1,6 @@
{% extends "uds/admin/tmpl/fld/form-group.html" %}
{% block field %}
{% verbatim %} {% verbatim %}
<textarea class="form-control {{ css }}" name="{{ name }}" id="{{ name }}_field" placeholder="{{ tooltip }}" {{# if readonly }} readonly{{/ if }}>{{ value }}</textarea>
{% endverbatim %} {% endverbatim %}
{% endblock %}

View File

@ -1,10 +0,0 @@
{% verbatim %}
<style id="style-{{ tableId }}" media="screen">
@media (max-width: 768px) {
{{#each columns }}
#{{ tableId }} td:nth-of-type({{@index}}):before { content: "{{ this.sTitle }}"}\n');
respStyles.push('#' + tableId + ' td:nth-of-type(' + counter + '):empty { background-color: red ;}\n');
{{/each }}
};
</style>
{% endverbatim %}

View File

@ -0,0 +1,13 @@
{% verbatim %}
<style id="style-{{ tableId }}" media="screen">
@media (max-width: 768px) {
{{set_counter 0 0}}
{{#each columns }}
{{#if bVisible}}
{{inc_counter 0}}
#{{ ../../tableId }} td:nth-of-type({{get_counter 0}}):before { content: "{{ this.sTitle }}"; }
{{/if}}
{{/each }}
};
</style>
{% endverbatim %}

View File

@ -33,7 +33,9 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django import template from django import template
from django.conf import settings
from uds.REST import AUTH_TOKEN_HEADER from uds.REST import AUTH_TOKEN_HEADER
import re
import logging import logging
@ -61,5 +63,8 @@ def js_template_path(context, path):
@register.simple_tag(name='js_template', takes_context=True) @register.simple_tag(name='js_template', takes_context=True)
def js_template(context, template_name, template_id = None): def js_template(context, template_name, template_id = None):
template_id = (template_id or 'tmpl_' + template_name).replace('/', '_') template_id = (template_id or 'tmpl_' + template_name).replace('/', '_')
tmpl = template.loader.get_template(context['template_path'] + '/' + template_name + '.html') tmpl = template.loader.get_template(context['template_path'] + '/' + template_name + '.html').render(context)
return '<script id="{0}" type="text/html">\n'.format(template_id) + tmpl.render(context) + '\n</script>' # Clean tmpl
if not settings.DEBUG:
tmpl = re.sub('\s+', ' ', tmpl)
return '<script id="{0}" type="template/uds">{1}</script>'.format(template_id, tmpl)

View File

@ -59,7 +59,7 @@ class HTML5RDPTransport(Transport):
needsJava = False # If this transport needs java for rendering needsJava = False # If this transport needs java for rendering
supportedOss = OsDetector.allOss supportedOss = OsDetector.allOss
guacamoleServer = gui.TextField(label=_('Tunnel Server'), order = 1, tooltip = _('Host of the tunnel server (use http/https & port if needed) as accesible from users'), defvalue = 'https://', length = 64) guacamoleServer = gui.TextField(label=_('Tunnel Server'), order = 1, tooltip = _('Host of the tunnel server (use http/https & port if needed) as accesible from users'), defvalue = 'https://', length = 64, required=True)
useEmptyCreds = gui.CheckBoxField(label = _('Empty creds'), order = 2, tooltip = _('If checked, the credentials used to connect will be emtpy')) useEmptyCreds = gui.CheckBoxField(label = _('Empty creds'), order = 2, tooltip = _('If checked, the credentials used to connect will be emtpy'))
fixedName = gui.TextField(label=_('Username'), order = 3, tooltip = _('If not empty, this username will be always used as credential')) fixedName = gui.TextField(label=_('Username'), order = 3, tooltip = _('If not empty, this username will be always used as credential'))
fixedPassword = gui.PasswordField(label=_('Password'), order = 4, tooltip = _('If not empty, this password will be always used as credential')) fixedPassword = gui.PasswordField(label=_('Password'), order = 4, tooltip = _('If not empty, this password will be always used as credential'))