Fixes: https://github.com/lesspass/lesspass/issues/322pull/342/head
@@ -21,7 +21,7 @@ walker.on("file", (root, fileStats, next) => { | |||
}); | |||
const I18N_DIR = "../src/i18n"; | |||
const LANGUAGES_AVAILABLE = ["zh", "zh-CN", "fr", "es", "de", "en"]; | |||
const LANGUAGES_AVAILABLE = ["zh", "zh-CN", "fr", "es", "de", "en", "pt"]; | |||
walker.on("end", () => { | |||
LANGUAGES_AVAILABLE.forEach(lang => { | |||
const localeFile = path.join(I18N_DIR, `${lang}.json`); | |||
@@ -31,13 +31,15 @@ walker.on("end", () => { | |||
} | |||
const localeOrdered = {}; | |||
Object.keys(locale).sort().forEach(function(key) { | |||
if (key in existingLocale) { | |||
localeOrdered[key] = existingLocale[key]; | |||
} else { | |||
localeOrdered[key] = locale[key]; | |||
} | |||
}); | |||
Object.keys(locale) | |||
.sort() | |||
.forEach(function(key) { | |||
if (key in existingLocale) { | |||
localeOrdered[key] = existingLocale[key]; | |||
} else { | |||
localeOrdered[key] = locale[key]; | |||
} | |||
}); | |||
fs.writeFileSync(localeFile, JSON.stringify(localeOrdered, null, 2)); | |||
fs.appendFileSync(localeFile, "\n"); | |||
}); | |||
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "Erhöhen Sie diesen Wert, um das zu erstellende Passwort zu ändern, ohne Ihr Masterpasswort zu ändern.", | |||
"CreatePassword": "Möchten Sie eines erstellen?", | |||
"DBNotRunning": "Ihre LessPass Datenbank läuft nicht", | |||
"DefaultOptionLocalStorage": "Wir benutzen den Cache Ihres Browsers, um Ihre Einstellungen als Standard lokal zu speichern. Jedesmal, wenn Sie die App öffnen, werden diese Einstellungen geladen.", | |||
"Email": "email", | |||
"EmailAlreadyExist": "Diese email-Adresse ist bereits registriert. Möchten Sie sich einloggen oder Ihr Passwort wiederherstellen?", | |||
"EmailInvalid": "Bitte geben Sie eine gültige email-Adresse ein", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "Passwort vergessen?", | |||
"Generate": "Erstelle", | |||
"Length": "Länge", | |||
"LengthDeprecationWarning": "The maximum length of a password is 35 characters.", | |||
"LessPass Database Url": "LessPass Datenbank Url", | |||
"Login": "Login", | |||
"LoginFormInvalid": "LessPass URL, email-Adresse und Passwort sind obligatorisch", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "Registrieren", | |||
"Reset my password": "Mein Passwort zurücksetzen", | |||
"ResetLinkExpired": "Der Link zum Zurücksetzen des Passworts ist abgelaufen.", | |||
"Save options": "Optionen speichern", | |||
"Sign In": "Anmelden", | |||
"Site": "Seite", | |||
"SiteLoginMasterPasswordMandatory": "Die Felder für Seite, Anmeldename und Masterpasswort sind obligatorisch.", | |||
"SorryCopy": "Es tut uns leid, dass die Kopie nur auf modernen Browsern funktioniert", | |||
"UpdateYourSearch": "Bitte erweitern Sie Ihre Suche.", | |||
"WelcomeRegister": "Willkommen {email}, danke für die Anmeldung.", | |||
"Your options have been saved successfully": "Ihre Optionen wurden erfolgreich gespeichert", | |||
"resetPasswordSuccess": "Wenn die E-Mail-Adresse {email} mit einem LessPass-Konto verknüpft ist, erhalten Sie in Kürze eine E-Mail von LessPass mit Anweisungen zum Zurücksetzen Ihres Passworts." | |||
} |
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "Increment this value to change the generated password without changing your master password.", | |||
"CreatePassword": "Would you like to create one?", | |||
"DBNotRunning": "Your LessPass Database is not running", | |||
"DefaultOptionLocalStorage": "We use local storage to save default options locally. Each time you open the app, these options will be loaded by default.", | |||
"Email": "Email", | |||
"EmailAlreadyExist": "This email is already registered. Want to login or recover your password?", | |||
"EmailInvalid": "Please enter a valid email", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "Forgot your password?", | |||
"Generate": "Generate", | |||
"Length": "Length", | |||
"LengthDeprecationWarning": "Die maximale Länge eines Passwortes beträgt 35 Zeichen.", | |||
"LessPass Database Url": "LessPass Database Url", | |||
"Login": "Login", | |||
"LoginFormInvalid": "LessPass URL, email, and password are mandatory", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "Register", | |||
"Reset my password": "Reset my password", | |||
"ResetLinkExpired": "This password reset link has expired.", | |||
"Save options": "Save options", | |||
"Sign In": "Sign In", | |||
"Site": "Site", | |||
"SiteLoginMasterPasswordMandatory": "Site, login, and master password fields are mandatory.", | |||
"SorryCopy": "We are sorry the copy only works on modern browsers", | |||
"UpdateYourSearch": "Please try broadening your search.", | |||
"WelcomeRegister": "Welcome {email}, thank you for signing up.", | |||
"Your options have been saved successfully": "Your options have been saved successfully", | |||
"resetPasswordSuccess": "If the email address {email} is associated with a LessPass account, you will shortly receive an email from LessPass with instructions on how to reset your password." | |||
} |
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "Aumente este valor para cambiar la contraseña generada sin cambiar su contraseña maestra.", | |||
"CreatePassword": "¿Quiere crear una?", | |||
"DBNotRunning": "Su base de datos de LessPass no está ejecutando", | |||
"DefaultOptionLocalStorage": "Usamos almacenamiento local para guardar las opciones predeterminadas de forma local. Cada vez que abre la aplicación, estas opciones se cargan de forma predeterminada", | |||
"Email": "Correo electrónico", | |||
"EmailAlreadyExist": "Este correo electrónico ya está registrado. ¿Quiere iniciar sesión o recuperar su contraseña?", | |||
"EmailInvalid": "Ingrese un correo elecrónico válido", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "¿Olvidó su contraseña?", | |||
"Generate": "Generar", | |||
"Length": "Tamaño", | |||
"LengthDeprecationWarning": "La longitud máxima de una contraseña es de 35 caracteres.", | |||
"LessPass Database Url": "URL de la base de datos LessPass", | |||
"Login": "Iniciar sesión", | |||
"LoginFormInvalid": "URL, correo electrónico y contraseña de LessPass URL son obligatorios", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "Registrar", | |||
"Reset my password": "Reestablecer mi contraseña", | |||
"ResetLinkExpired": "El enlace para reestablecer esta contraseña ha expirado.", | |||
"Save options": "Guardar opciones", | |||
"Sign In": "Registrarse", | |||
"Site": "Sitio", | |||
"SiteLoginMasterPasswordMandatory": "Los campos sitio, usuario y contraseña maestra son obligatorios.", | |||
"SorryCopy": "Lamentamos que la copia sólo funcione en navegadores modernos", | |||
"UpdateYourSearch": "Trate de ampliar su búsqueda.", | |||
"WelcomeRegister": "Bienvenido o bienvenida {email}, gracias por registrarse.", | |||
"Your options have been saved successfully": "Sus opciones se han guardado correctamente", | |||
"resetPasswordSuccess": "Si la dirección de correo electrónico {email} está asociada a una cuenta LessPass, recibirá un correo electrónico de LessPass con instrucciones sobre cómo restablecer su contraseña." | |||
} |
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "Augmenter cette valeur pour changer de mot de passe sans changer de mot de passe fort.", | |||
"CreatePassword": "Voulez-vous en créer un ?", | |||
"DBNotRunning": "Votre base de données LessPass n'est pas démarrée.", | |||
"DefaultOptionLocalStorage": "Pour enregistrer les options par défaut, nous utilisons le stockage du navigateur. Chaque fois que vous ouvrez l'application, ces options sont chargées par defaut.", | |||
"Email": "Email", | |||
"EmailAlreadyExist": "Cet email est déjà enregistré. Vous voulez peut-être vous connecter ?", | |||
"EmailInvalid": "Entrez un email valide", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "Mot de passe oublié ?", | |||
"Generate": "Générer", | |||
"Length": "Longueur", | |||
"LengthDeprecationWarning": "La longueur maximale d'un mot de passe est de 35 caractères.", | |||
"LessPass Database Url": "URL de la base de données LessPass", | |||
"Login": "Login", | |||
"LoginFormInvalid": "L'URL LessPass, l'email et le mot de passe sont obligatoires.", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "S'enregistrer", | |||
"Reset my password": "Changer mon mot de passe", | |||
"ResetLinkExpired": "Ce lien a expiré.", | |||
"Save options": "Enregistrer les options", | |||
"Sign In": "Se connecter", | |||
"Site": "Site", | |||
"SiteLoginMasterPasswordMandatory": "Les champs site, login et mot de passe fort sont obligatoires.", | |||
"SorryCopy": "Nous sommes désolés, la copie ne fonctionne que sur les navigateurs modernes", | |||
"UpdateYourSearch": "Merci de modifier votre recherche.", | |||
"WelcomeRegister": "Bienvenue {email}, merci de vous être enregistré.", | |||
"Your options have been saved successfully": "Vos options ont été enregistrées avec succès", | |||
"resetPasswordSuccess": "Si l'adresse email {email} est associée avec un compte LessPass, vous allez recevoir un email de la part de LessPass avec les instructions pour changer votre mot de passe." | |||
} |
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "Incremente este valor para mudar a senha gerada sem mudar sua senha mestre.", | |||
"CreatePassword": "Gostaria de criar um?", | |||
"DBNotRunning": "Seu banco de dados LessPass não está rodando", | |||
"DefaultOptionLocalStorage": "Nós salvamos as opções padrão no armazenamento local. Cada vez que você abrir o aplicativo, essas opções serão carregadas por padrão.", | |||
"Email": "Email", | |||
"EmailAlreadyExist": "Este email já foi registrado. Gostaria de entrar ou recuperar sua senha?", | |||
"EmailInvalid": "Por favor entre um email válido", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "Esqueceu sua senha?", | |||
"Generate": "Gerar", | |||
"Length": "Comprimento", | |||
"LengthDeprecationWarning": "O comprimento máximo de uma senha é de 35 caracteres.", | |||
"LessPass Database Url": "URL do banco de dados LessPass", | |||
"Login": "Entrar", | |||
"LoginFormInvalid": "URL, email, e senha do LessPass são obrigatórios", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "Registrar", | |||
"Reset my password": "Resetar minha senha", | |||
"ResetLinkExpired": "Esse link para resetar a senha já expirou.", | |||
"Save options": "Salvar opções", | |||
"Sign In": "Se autenticar", | |||
"Site": "Site", | |||
"SiteLoginMasterPasswordMandatory": "Campos de site e credenciais de autenticação são obrigatórios.", | |||
"SorryCopy": "Infelizmente a cópia somente funciona em navegadores modernos", | |||
"UpdateYourSearch": "Por favor tente ampliar sua busca.", | |||
"WelcomeRegister": "Bem vindo {email}, obrigado por se registrar.", | |||
"Your options have been saved successfully": "Suas opções foram salvas com sucesso", | |||
"resetPasswordSuccess": "Se o seu endereço de email {email} estiver associado com uma conta LessPass, você receberá logo um email do LessPass com instruções de como resetar a sua senha." | |||
} |
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "增加这个值就可以在不改变主密码的前提下生成全新的密码。", | |||
"CreatePassword": "您要生成一个密码吗?", | |||
"DBNotRunning": "您的 LessPass 数据库没有运行", | |||
"DefaultOptionLocalStorage": "我们使用“本地存储”在本机保存默认选项。每次您开启本应用时,会默认加载这些选项。", | |||
"Email": "邮件地址", | |||
"EmailAlreadyExist": "这个邮件地址已被注册。登录或找回您的密码?", | |||
"EmailInvalid": "请输入一个有效的电子邮件地址", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "忘记了您的密码?", | |||
"Generate": "生成", | |||
"Length": "长度", | |||
"LengthDeprecationWarning": "密码的最大长度是35个字符。", | |||
"LessPass Database Url": "LessPass 数据库网址", | |||
"Login": "登录名", | |||
"LoginFormInvalid": "LessPass 网址、电子邮件地址以及密码均为必填信息。", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "注册", | |||
"Reset my password": "重置我的登录密码", | |||
"ResetLinkExpired": "此登录密码重置链接已过期。", | |||
"Save options": "保存选项", | |||
"Sign In": "登录", | |||
"Site": "网站名", | |||
"SiteLoginMasterPasswordMandatory": "网站名、登录名以及主密码均为必填信息。", | |||
"SorryCopy": "很抱歉,但复制功能仅适用于现代浏览器", | |||
"UpdateYourSearch": "请尝试放宽您的搜索条件。", | |||
"WelcomeRegister": "你好 {email},欢迎您的注册。", | |||
"Your options have been saved successfully": "您的选项已成功保存", | |||
"resetPasswordSuccess": "如果电子邮件地址 {email} 与一个 LessPass 账户相关联,您将很快收到 LessPass 的电子邮件,里面提供有重置密码的操作说明。" | |||
} |
@@ -5,7 +5,6 @@ | |||
"CounterFieldHelp": "改變這個值,就可以在不改變主密碼的狀況下,產生新的密碼。", | |||
"CreatePassword": "您要產生一組密碼嗎?", | |||
"DBNotRunning": "您的 LessPass 資料庫並未執行", | |||
"DefaultOptionLocalStorage": "我們將預設選項儲存在本機。每當您開啟程式,這些設定將會被自動載入。", | |||
"Email": "郵件位址", | |||
"EmailAlreadyExist": "這個郵件位址已被註冊。想要登入或取回您的密碼嗎?", | |||
"EmailInvalid": "請輸入一個有效的郵件位址", | |||
@@ -14,6 +13,7 @@ | |||
"ForgotPassword": "忘記您的登入密碼了嗎?", | |||
"Generate": "產生", | |||
"Length": "長度", | |||
"LengthDeprecationWarning": "密碼的最大長度是35個字符。", | |||
"LessPass Database Url": "LessPass數據庫URL", | |||
"Login": "登入帳號", | |||
"LoginFormInvalid": "LessPass URL、郵件位址、登入密碼皆為必填欄位。", | |||
@@ -29,13 +29,11 @@ | |||
"Register": "註冊", | |||
"Reset my password": "重置我的登入密碼", | |||
"ResetLinkExpired": "此登入密碼重設連結已過期。", | |||
"Save options": "保存選項", | |||
"Sign In": "登入", | |||
"Site": "網站位址", | |||
"SiteLoginMasterPasswordMandatory": "網站位址、登入帳號、主密碼皆為必填欄位。", | |||
"SorryCopy": "我們很抱歉,該副本僅適用於現代瀏覽器", | |||
"UpdateYourSearch": "請試著放寬您的搜尋條件。", | |||
"WelcomeRegister": "歡迎 {email},謝謝您的註冊。", | |||
"Your options have been saved successfully": "您的選項已成功保存", | |||
"resetPasswordSuccess": "如果电子邮件地址 {email} 与LessPass帐户相关联,您将很快收到LessPass的电子邮件,并提供如何重置密码的说明。" | |||
} |
@@ -12,7 +12,7 @@ div.awesomplete > ul { | |||
} | |||
</style> | |||
<template> | |||
<form id="password-generator" v-on:submit.prevent="generatePassword"> | |||
<form id="password-generator" v-on:submit.prevent="generatePassword" novalidate> | |||
<div class="form-group"> | |||
<input-site ref="site" | |||
v-model="password.site" | |||
@@ -193,6 +193,15 @@ export default { | |||
); | |||
return; | |||
} | |||
const length = this.password.length; | |||
if (length > 35){ | |||
message.warning( | |||
this.$t( | |||
"LengthDeprecationWarning", | |||
"The maximum length of a password is 35 characters." | |||
) | |||
); | |||
} | |||
this.cleanErrors(); | |||
const passwordProfile = { | |||
lowercase: this.password.lowercase, | |||