From c9d42e5f0a2608dfd9a7f892192e1a3f8d190c55 Mon Sep 17 00:00:00 2001 From: Guillaume Vincent Date: Mon, 9 Apr 2018 14:11:23 +0200 Subject: [PATCH] Allow a password length > 35 chars. Only display a warning. Fixes: https://github.com/lesspass/lesspass/issues/322 --- scripts/buildI18n.js | 18 ++++++++++-------- src/i18n/de.json | 4 +--- src/i18n/en.json | 4 +--- src/i18n/es.json | 4 +--- src/i18n/fr.json | 4 +--- src/i18n/pt.json | 4 +--- src/i18n/zh-CN.json | 4 +--- src/i18n/zh.json | 4 +--- src/views/PasswordGenerator.vue | 11 ++++++++++- 9 files changed, 27 insertions(+), 30 deletions(-) diff --git a/scripts/buildI18n.js b/scripts/buildI18n.js index d0a100f..f38caa4 100644 --- a/scripts/buildI18n.js +++ b/scripts/buildI18n.js @@ -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"); }); diff --git a/src/i18n/de.json b/src/i18n/de.json index d7923f4..f23f140 100644 --- a/src/i18n/de.json +++ b/src/i18n/de.json @@ -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." } diff --git a/src/i18n/en.json b/src/i18n/en.json index 8d40260..9f65772 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -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." } diff --git a/src/i18n/es.json b/src/i18n/es.json index f079811..1cbf109 100644 --- a/src/i18n/es.json +++ b/src/i18n/es.json @@ -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." } diff --git a/src/i18n/fr.json b/src/i18n/fr.json index 369a076..60afe2a 100644 --- a/src/i18n/fr.json +++ b/src/i18n/fr.json @@ -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." } diff --git a/src/i18n/pt.json b/src/i18n/pt.json index 8eda4f1..c87e11e 100644 --- a/src/i18n/pt.json +++ b/src/i18n/pt.json @@ -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." } diff --git a/src/i18n/zh-CN.json b/src/i18n/zh-CN.json index 7f34208..1793d75 100644 --- a/src/i18n/zh-CN.json +++ b/src/i18n/zh-CN.json @@ -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 的电子邮件,里面提供有重置密码的操作说明。" } diff --git a/src/i18n/zh.json b/src/i18n/zh.json index d8ae9f7..774eeb7 100644 --- a/src/i18n/zh.json +++ b/src/i18n/zh.json @@ -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的电子邮件,并提供如何重置密码的说明。" } diff --git a/src/views/PasswordGenerator.vue b/src/views/PasswordGenerator.vue index 106e6aa..38631f6 100644 --- a/src/views/PasswordGenerator.vue +++ b/src/views/PasswordGenerator.vue @@ -12,7 +12,7 @@ div.awesomplete > ul { }