## @file # Messages translation for Lemonldap::NG::Manager ## @class # Messages translation for Lemonldap::NG::Manager. package Lemonldap::NG::Manager::_i18n; # Developer warning : this file must be utf8 encoded use strict; use AutoLoader qw(AUTOLOAD); our $VERSION = '0.5'; ## @method string translate(string text,string lang) # Returns $text translated in $lang. #@param $text textId #@param $lang Optional language string. If not set, uses Accept-Language # HTTP header. sub translate { my ( $self, $text, $lang ) = @_; return $text unless ( $text =~ /[a-z]/ ); $lang ||= $ENV{HTTP_ACCEPT_LANGUAGE}; $lang = lc($lang); $lang =~ s/-/_/g; foreach ( split( /[,;]/, $lang ), 'en' ) { next if /=/; if ( __PACKAGE__->can($_) ) { no strict 'refs'; my $r = &$_()->{$text}; if ($r) { return $r; } else { print STDERR __PACKAGE__ . ": $text not translated in $_\n"; return $text; } } } } *fr_fr = *fr; *en_us = *en; 1; __END__ sub en { return { advancedParams => 'Advanced parameters', authentication => 'Authentication module', AuthLDAPFilter => 'Authentication filter', authParams => 'Authentication', cda => 'Multiple domains', clickHereToForce => 'Click here to force', Configuration => 'Configuration', confModuledeprecated => 'This module has been deprecated, set "forceUpload=1" in lemonldap-ng.ini to use it', confSaved => 'Configuration saved', confWasChanged => 'Configuration has been changed', cookieExpiration => 'Cookie expiration time', cookieName => 'Cookie Name', cookieParams => 'Cookies', databaseLocked => 'Database locked by another process', domain => 'Domain', exportedAttr => 'SOAP exported attributes', exportedVars => 'Exported Variables', generalParameters => 'General Parameters', globalStorage => 'Apache::Session module', globalStorageOptions => 'Apache::Session module parameters', grantSessionRule => 'Opening conditions', groups => 'Groups', headers => 'HTTP Headers', https => 'Default value for https parameter', ldapBase => 'Users search base', ldapConnection => 'Connection', ldapFilters => 'Filters', LDAPFilter => 'Default filter', ldapGroupAttributeName => 'Target attribute', ldapGroupAttributeNameGroup => 'Group source attribute', ldapGroupAttributeNameSearch => 'Searched attributes', ldapGroupAttributeNameUser => 'User source attribute', ldapGroupBase => 'Search base', ldapGroupObjectClass => 'Object class', ldapGroupRecursive => 'Recursive', ldapGroups => 'Groups', ldapParams => 'LDAP parameters', ldapPassword => 'Password', ldapPpolicyControl => 'Password policy control', ldapPort => 'Server port', ldapServer => 'Server host', ldapSetPassword => 'Password modify extended operation', logParams => 'Logs', macros => 'Macros', mailBody => 'Success mail content', mailConfirmBody => 'Confirmation mail content', mailConfirmSubject => 'Confirmation mail subject', mailFrom => 'Mail sender', mailLDAPFilter => 'Mail filter', mailSubject => 'Success mail subject', mailUrl => 'Page URL', managerDn => 'Account', managerPassword => 'Password', multipleSessions => 'Multiple sessions', notification => 'Activation', notifications => 'Notifications', notificationStorage => 'Storage module', notificationStorageOptions => 'Storage module parameters', notifyDeleted => 'Display deleted sessions', notifyOther => 'Display other sessions', openIdParams => 'OpenID parameters', openIdSecret => 'Secret token', passwordDB => 'Password database type', passwordManagement => 'Password management', portal => 'URL', portalAutocomplete => 'Auto complete', portalCustomization => 'Customization', portalDisplayAppslist => 'Applications list', portalDisplayChangePassword => 'Password change', portalDisplayLogout => 'Logout', portalDisplayResetPassword => 'Reset password', portalForceAuthn => 'Force authentication', portalModules => 'Modules', portalOpenLinkInNewWindow => 'New window', portalParams => 'Portal', portalRequireOldPassword => 'Require old password', portalSkin => 'Skin', portalUserAttr => 'User attribute', randomPasswordRegexp => 'Regexp for password generation', rules => 'Rules', securedCookie => 'Secured Cookie (SSL)', security => 'Security', sessionParams => 'Sessions', sessionStorage => 'Sessions Storage', singleIP => 'One IP only by user', singleSession => 'One session only by user', singleUserByIP => 'One user by IP address', SMTPServer => 'SMTP server', soap => 'SOAP', Soap => 'Activation', storePassword => 'Store user password in session datas', syntaxError => 'Syntax Error', syslog => 'Syslog facility', timeout => 'Sessions timeout', trustedDomains => 'Trusted domains', twitterAppName => 'Application name', twitterKey => 'API key', twitterParams => 'Twitter parameters', twitterSecret => 'API secret', unknownError => 'Unknown error', uploadDenied => 'Upload denied', userDB => 'Users database type', userControl => 'Username control', useXForwardedForIP => "Use X-Forwarded-For header address", variables => "Variables", virtualHosts => 'Virtual Hosts', whatToTrace => "REMOTE_USER environment variable", saml => 'SAML', samlServicePrivateKey => 'Private Key', samlIDPMetaDataNode => 'Identity providers', samlIDPMetaDataXML => 'Metadata XML', samlIDPMetaDataExportedAttributes => 'Exported attributes', samlIDPMetaDataOptions => 'Options', samlIDPMetaDataOptionsNameIDFormat => 'NameID format', samlIDPMetaDataOptionsForceAuthn => 'Force authentication', samlIDPMetaDataOptionsAllowProxiedAuthn => 'Allow proxied authentication', samlIDPMetaDataOptionsSSOBinding => 'SSO binding', samlIDPMetaDataOptionsSLOBinding => 'SLO binding', samlIDPMetaDataOptionsResolutionRule => 'Resolution rule', samlServiceMetaData => 'SAML 2 Service', samlEntityID => 'Entity Identifier', samlOrganization => 'Organization', samlOrganizationDisplayName => 'Display Name', samlOrganizationName => 'Name', samlOrganizationURL => 'URL', samlSPSSODescriptor => 'Service Provider', samlSPSSODescriptorAuthnRequestsSigned => 'Signed Authentication Request', samlSPSSODescriptorProtocolSupportEnumeration => 'Protocol', samlSPSSODescriptorKeyDescriptorSigning => 'Signing Key', samlSPSSODescriptorSingleLogoutService => 'Single Logout', samlSPSSODescriptorSingleLogoutServiceHTTP => 'HTTP Service', samlSPSSODescriptorSingleLogoutServiceSOAP => 'SOAP Service', samlSPSSODescriptorAssertionConsumerService => 'Assertion Consumer', samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact => 'HTTP Artifact', samlSPSSODescriptorAssertionConsumerServiceHTTPPost => 'HTTP POST', samlSPSSODescriptorAssertionConsumerServiceHTTPRedirect => 'HTTP Redirect', samlSPSSODescriptorNameIDFormat => 'NameID Format', samlSPSSODescriptorNameIDFormatX509SubjectName => 'x509', samlSPSSODescriptorNameIDFormatPersistent => 'Persistent', samlSPSSODescriptorNameIDFormatTransient => 'Transient', samlIDPSSODescriptor => 'Identity Provider', samlIDPSSODescriptorWantAuthnRequestsSigned => 'Signed Authentication Request', samlIDPSSODescriptorProtocolSupportEnumeration => 'Protocol', samlIDPSSODescriptorKeyDescriptorSigning => 'Clef de signature', samlIDPSSODescriptorSingleSignOnService => 'Single Sign on', samlIDPSSODescriptorSingleSignOnServiceHTTP => 'HTTP Service', samlIDPSSODescriptorSingleSignOnServiceSOAP => 'SOAP Service', samlIDPSSODescriptorSingleLogoutService => 'Single Logout', samlIDPSSODescriptorSingleLogoutServiceHTTP => 'HTTP Service', samlIDPSSODescriptorSingleLogoutServiceSOAP => 'SOAP Service', samlIDPSSODescriptorArtifactResolutionService => 'Artifact Resolution', samlIDPSSODescriptorArtifactResolutionServiceArtifact => 'Artifact Service', samlIDPSSODescriptorNameIDFormat => 'NameID Format', samlIDPSSODescriptorNameIDFormatX509SubjectName => 'x509', samlIDPSSODescriptorNameIDFormatPersistent => 'Persistent', samlIDPSSODescriptorNameIDFormatTransient => 'Transient', samlIDPSSODescriptorManageNameIDService => 'NameID Manager', samlIDPSSODescriptorManageNameIDServiceHTTP => 'HTTP Service', samlIDPSSODescriptorManageNameIDServiceSOAP => 'SOAP Service', }; } sub fr { return { advancedParams => 'Paramètres avancés', authentication => "Module d'authentification", AuthLDAPFilter => 'Filtre d\'authentification', authParams => "Authentification", cda => 'Domaines multiples', clickHereToForce => 'Cliquer ici pour forcer', Configuration => 'Configuration', confModuledeprecated => "Ce module est obsolète, indiquez \"forceUpload=1\" dans le fichier lemonldap-ng.ini pour l'utiliser", confSaved => 'Configuration sauvegardée', confWasChanged => 'Configuration modifiée entre-temps', cookieExpiration => 'Durée de vie du cookie', cookieName => 'Nom du cookie', cookieParams => 'Cookies', databaseLocked => 'Base de donnée verrouillée par un autre processus', domain => 'Domaine', exportedAttr => 'Attributs exportés par le portail (SOAP)', exportedVars => 'Attributs à exporter', generalParameters => 'Paramètres généraux', globalStorage => 'Module Apache::Session', globalStorageOptions => 'Paramètres du module Apache::Session', grantSessionRule => "Conditions d'ouverture", groups => 'Groupes', headers => 'En-têtes HTTP', https => 'Valeur par défaut du paramètre https', ldapBase => 'Base de recherche des utilisateurs', ldapConnection => 'Connexion', ldapFilters => 'Filtres', LDAPFilter => 'Filtre par défaut', ldapGroupAttributeName => 'Attribut cible', ldapGroupAttributeNameGroup => 'Attribut source groupe', ldapGroupAttributeNameSearch => 'Attributs recherchés', ldapGroupAttributeNameUser => 'Attribut source utilisateur', ldapGroupBase => 'Base de recherche', ldapGroupObjectClass => 'Classe d\'objet', ldapGroupRecursive => 'Recursif', ldapGroups => 'Groupes', ldapParams => 'Paramètres LDAP', ldapPassword => 'Mode de passe', ldapPpolicyControl => 'Contrôle password policy', ldapPort => 'Port', ldapServer => 'Hôte', ldapSetPassword => 'Opération étendue password modify', logParams => 'Journalisation', macros => 'Macros', mailBody => 'Contenu du message de succès', mailConfirmBody => 'Contenu du message de confirmation', mailConfirmSubject => 'Sujet du message de confirmation', mailFrom => 'Expéditeur du message', mailLDAPFilter => 'Filtre mail', mailSubject => 'Sujet du message de succès', mailUrl => 'URL de la page', managerDn => 'Compte de connexion LDAP', managerPassword => 'Mot de passe LDAP', multipleSessions => 'Sessions multiples', notification => 'Activation', notifications => 'Notifications', notificationStorage => 'Module de stockage', notificationStorageOptions => 'Paramètres du module de stockage', notifyDeleted => 'Affiche les sessions effacées', notifyOther => 'Affiche les autres sessions', openIdParams => 'Paramètres OpenID', openIdSecret => 'Jeton secret', passwordDB => 'Type de base de données des mots-de-passe', passwordManagement => 'Gestion des mots-de-passe', portal => 'URL', portalAutocomplete => 'Auto complétion', portalCustomization => 'Personnalisation', portalDisplayAppslist => 'Liste des applications', portalDisplayChangePassword => 'Changement de mot de passe', portalDisplayLogout => 'Déconnexion', portalDisplayResetPassword => 'Réinitialisation de mot de passe', portalForceAuthn => 'Authentication forcée', portalModules => 'Modules', portalOpenLinkInNewWindow => 'Nouvelle fenêtre', portalParams => 'Portail', portalRequireOldPassword => 'Ancien mot de passe requis', portalSkin => 'Thème visuel', portalUserAttr => "Attribut de l'utilisateur", randomPasswordRegexp => 'Expression regulière pour la génération des mots-de-passe', rules => 'Règles', securedCookie => 'Cookie sécurisé (SSL)', security => 'Sécurité', sessionParams => 'Sessions', sessionStorage => 'Stockage des sessions', singleIP => 'Une seule IP par utilisateur', singleSession => 'Une seule session par utilisateur', singleUserByIP => 'Une seule adresse IP par utilisateur', SMTPServer => 'Serveur SMTP', soap => 'SOAP', Soap => 'Activation', storePassword => "Stocke le mot-de-passe de l'utilisateur dans les données de session", syntaxError => 'Erreur de syntaxe', syslog => 'Facilité syslog', timeout => 'Durée de vie des sessions', trustedDomains => 'Domaines appouvés', twitterAppName => 'Nom de l\'application', twitterKey => 'Clé de l\'API', twitterParams => 'Paramètres Twitter', twitterSecret => 'Secret de l\'API', unknownError => 'Erreur inconnue', uploadDenied => 'Téléchargement refusé', userDB => "Type de base de données d'utilisateurs", userControl => "Contrôle du nom d'utilisateur", useXForwardedForIP => "Utiliser l'adresse IP de l'en-tête X-Forwarded-For", variables => "Variables", virtualHosts => 'Hôtes virtuels', whatToTrace => "Variable d'environnement REMOTE_USER", saml => 'SAML', samlServicePrivateKey => 'Clé privée', samlIDPMetaDataNode => 'Fournisseurs d\'identités', samlIDPMetaDataXML => 'XML Metadata', samlIDPMetaDataExportedAttributes => 'Attributs exportés', samlIDPMetaDataOptions => 'Options', samlIDPMetaDataOptionsNameIDFormat => 'Format NameID', samlIDPMetaDataOptionsForceAuthn => 'Authentification forcée', samlIDPMetaDataOptionsAllowProxiedAuthn => 'Authentification proxy autorisée', samlIDPMetaDataOptionsSSOBinding => 'Méthode SSO', samlIDPMetaDataOptionsSLOBinding => 'Méthode SLO', samlIDPMetaDataOptionsResolutionRule => 'Règle de résolution', samlServiceMetaData => 'Service SAML 2', samlEntityID => 'Identifiant d\'entité', samlOrganization => 'Organisation', samlOrganizationDisplayName => 'Nom affiché', samlOrganizationName => 'Nom', samlOrganizationURL => 'URL', samlSPSSODescriptor => 'Fournisseur de service', samlSPSSODescriptorAuthnRequestsSigned => 'Requête d\'authentification signé', samlSPSSODescriptorProtocolSupportEnumeration => 'Protocole', samlSPSSODescriptorKeyDescriptorSigning => 'Clef de signature', samlSPSSODescriptorSingleLogoutService => 'Single Logout', samlSPSSODescriptorSingleLogoutServiceHTTP => 'Service HTTP', samlSPSSODescriptorSingleLogoutServiceSOAP => 'Service SOAP', samlSPSSODescriptorAssertionConsumerService => 'Assertions', samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact => 'HTTP Artifact', samlSPSSODescriptorAssertionConsumerServiceHTTPPost => 'POST HTTP', samlSPSSODescriptorAssertionConsumerServiceHTTPRedirect => 'Redirection HTTP', samlSPSSODescriptorNameIDFormat => 'Format NameID', samlSPSSODescriptorNameIDFormatX509SubjectName => 'x509', samlSPSSODescriptorNameIDFormatPersistent => 'Persistant', samlSPSSODescriptorNameIDFormatTransient => 'Temporaire', samlIDPSSODescriptor => 'Fournisseur d\'identité', samlIDPSSODescriptorWantAuthnRequestsSigned => 'Requête d\'authentification signé', samlIDPSSODescriptorProtocolSupportEnumeration => 'Protocole', samlIDPSSODescriptorKeyDescriptorSigning => 'Clef de signature', samlIDPSSODescriptorSingleSignOnService => 'Single Sign on', samlIDPSSODescriptorSingleSignOnServiceHTTP => 'Service HTTP', samlIDPSSODescriptorSingleSignOnServiceSOAP => 'Service SOAP', samlIDPSSODescriptorSingleLogoutService => 'Single Logout', samlIDPSSODescriptorSingleLogoutServiceHTTP => 'Service HTTP', samlIDPSSODescriptorSingleLogoutServiceSOAP => 'Service SOAP', samlIDPSSODescriptorArtifactResolutionService => 'Résolution d\'Artifact', samlIDPSSODescriptorArtifactResolutionServiceArtifact => 'Service Artifact', samlIDPSSODescriptorNameIDFormat => 'Format NameID', samlIDPSSODescriptorNameIDFormatX509SubjectName => 'x509', samlIDPSSODescriptorNameIDFormatPersistent => 'Persistant', samlIDPSSODescriptorNameIDFormatTransient => 'Temporaire', samlIDPSSODescriptorManageNameIDService => 'Gestionnaire de NameID', samlIDPSSODescriptorManageNameIDServiceHTTP => 'Service HTTP', samlIDPSSODescriptorManageNameIDServiceSOAP => 'Service SOAP', }; }