-
-
-
-
-`
-);
-
-addDecorator(decorator);
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
new file mode 100644
index 00000000000..d7d37a71e7c
--- /dev/null
+++ b/.storybook/preview.tsx
@@ -0,0 +1,111 @@
+import { setCompodocJson } from "@storybook/addon-docs/angular";
+import { componentWrapperDecorator } from "@storybook/angular";
+import type { Preview } from "@storybook/angular";
+
+import docJson from "../documentation.json";
+setCompodocJson(docJson);
+
+const decorator = componentWrapperDecorator(
+ (story) => {
+ return `
+
+
+ ${story}
+
+
+
+
+ ${story}
+
+
+
+
+ ${story}
+
+
+
+
+ ${story}
+
+
+
+
+
+
+
+ `;
+ },
+ ({ globals }) => {
+ return { theme: `${globals["theme"]}` };
+ }
+);
+
+const preview: Preview = {
+ decorators: [decorator],
+ globalTypes: {
+ theme: {
+ description: "Global theme for components",
+ defaultValue: "both",
+ toolbar: {
+ title: "Theme",
+ icon: "circlehollow",
+ items: [
+ {
+ title: "Light & Dark",
+ value: "both",
+ icon: "sidebyside",
+ },
+ {
+ title: "Light",
+ value: "light",
+ icon: "sun",
+ },
+ {
+ title: "Dark",
+ value: "dark",
+ icon: "moon",
+ },
+ {
+ title: "Nord",
+ value: "nord",
+ left: "⛰",
+ },
+ {
+ title: "Solarized",
+ value: "solarized",
+ left: "☯",
+ },
+ ],
+ dynamicTitle: true,
+ },
+ },
+ },
+ parameters: {
+ actions: { argTypesRegex: "^on[A-Z].*" },
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/,
+ },
+ },
+ options: {
+ storySort: {
+ order: ["Documentation", ["Introduction", "Colors", "Icons"], "Component Library"],
+ },
+ },
+ docs: { source: { type: "dynamic", excludeDecorators: true } },
+ },
+};
+
+export default preview;
diff --git a/.storybook/tsconfig.json b/.storybook/tsconfig.json
index 397be6b000c..113cc5bcde5 100644
--- a/.storybook/tsconfig.json
+++ b/.storybook/tsconfig.json
@@ -7,6 +7,7 @@
"exclude": ["../src/test.setup.ts", "../apps/src/**/*.spec.ts", "../libs/**/*.spec.ts"],
"files": [
"./typings.d.ts",
+ "./preview.tsx",
"../libs/components/src/main.ts",
"../libs/components/src/polyfills.ts"
]
diff --git a/angular.json b/angular.json
index a2b82cc64e9..4b62c771cbf 100644
--- a/angular.json
+++ b/angular.json
@@ -135,20 +135,25 @@
}
},
"defaultConfiguration": "development"
- }
- }
- },
- "storybook": {
- "projectType": "application",
- "root": "libs/components",
- "sourceRoot": "libs/components/src",
- "architect": {
- "build": {
- "builder": "@angular-devkit/build-angular:browser",
+ },
+ "storybook": {
+ "builder": "@storybook/angular:start-storybook",
"options": {
- "tsConfig": ".storybook/tsconfig.json",
- "styles": ["libs/components/src/styles.scss", "libs/components/src/styles.css"],
- "scripts": []
+ "configDir": ".storybook",
+ "browserTarget": "components:build",
+ "compodoc": true,
+ "compodocArgs": ["-p", "./tsconfig.json", "-e", "json", "-d", "."],
+ "port": 6006
+ }
+ },
+ "build-storybook": {
+ "builder": "@storybook/angular:build-storybook",
+ "options": {
+ "configDir": ".storybook",
+ "browserTarget": "components:build",
+ "compodoc": true,
+ "compodocArgs": ["-e", "json", "-d", "."],
+ "outputDir": "storybook-static"
}
}
}
diff --git a/apps/browser/jest.config.js b/apps/browser/jest.config.js
index 4f954afa9e2..cde02cd9959 100644
--- a/apps/browser/jest.config.js
+++ b/apps/browser/jest.config.js
@@ -2,8 +2,9 @@ const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("./tsconfig");
-const sharedConfig = require("../../libs/shared/jest.config.base");
+const sharedConfig = require("../../libs/shared/jest.config.angular");
+/** @type {import('jest').Config} */
module.exports = {
...sharedConfig,
preset: "jest-preset-angular",
diff --git a/apps/browser/package.json b/apps/browser/package.json
index 0057704287d..4872af87d3f 100644
--- a/apps/browser/package.json
+++ b/apps/browser/package.json
@@ -1,11 +1,12 @@
{
"name": "@bitwarden/browser",
- "version": "2023.4.0",
+ "version": "2023.5.0",
"scripts": {
"build": "webpack",
"build:mv3": "cross-env MANIFEST_VERSION=3 webpack",
"build:watch": "webpack --watch",
"build:watch:mv3": "cross-env MANIFEST_VERSION=3 webpack --watch",
+ "build:watch:autofill": "cross-env AUTOFILL_VERSION=2 webpack --watch",
"build:prod": "cross-env NODE_ENV=production webpack",
"build:prod:watch": "cross-env NODE_ENV=production webpack --watch",
"dist": "npm run build:prod && gulp dist",
diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json
index 609f6ef39da..71cd3d1a66b 100644
--- a/apps/browser/src/_locales/ar/messages.json
+++ b/apps/browser/src/_locales/ar/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json
index 9ad7b097abd..0c12f845d51 100644
--- a/apps/browser/src/_locales/az/messages.json
+++ b/apps/browser/src/_locales/az/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Bölgə"
+ },
"opensInANewWindow": {
"message": "Yeni bir pəncərədə açılır"
+ },
+ "eu": {
+ "message": "AB",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "ABŞ",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json
index 4d0fe3698de..80800f4aa38 100644
--- a/apps/browser/src/_locales/be/messages.json
+++ b/apps/browser/src/_locales/be/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Адкрываць у новым акне"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json
index bc3feb2469c..b17692bc83b 100644
--- a/apps/browser/src/_locales/bg/messages.json
+++ b/apps/browser/src/_locales/bg/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Регион"
+ },
"opensInANewWindow": {
"message": "Отваря се в нов прозорец"
+ },
+ "eu": {
+ "message": "ЕС",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "САЩ",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json
index 9ddc1b03ecb..76143e7619a 100644
--- a/apps/browser/src/_locales/bn/messages.json
+++ b/apps/browser/src/_locales/bn/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json
index 3f37ef10f7d..b3047a98789 100644
--- a/apps/browser/src/_locales/bs/messages.json
+++ b/apps/browser/src/_locales/bs/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json
index 1028885f506..91bbfdb48b4 100644
--- a/apps/browser/src/_locales/ca/messages.json
+++ b/apps/browser/src/_locales/ca/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Regió"
+ },
"opensInANewWindow": {
"message": "S'obri en una finestra nova"
+ },
+ "eu": {
+ "message": "UE",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "EUA",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json
index 7ff5424a05c..d83282e08a4 100644
--- a/apps/browser/src/_locales/cs/messages.json
+++ b/apps/browser/src/_locales/cs/messages.json
@@ -1977,10 +1977,10 @@
"message": "Vypršel časový limit relace. Vraťte se zpět a zkuste se znovu přihlásit."
},
"exportingPersonalVaultTitle": {
- "message": "Exportování individuálního trezoru"
+ "message": "Exportování osobního trezoru"
},
"exportingPersonalVaultDescription": {
- "message": "Budou exportovány pouze položky trezoru spojené s účtem $EMAIL$. Nebudou zahrnuty položky trezoru v organizaci.",
+ "message": "Budou exportovány jen osobní položky trezoru spojené s účtem $EMAIL$. Nebudou zahrnuty položky trezoru v organizaci.",
"placeholders": {
"email": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Otevře se v novém okně"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/cy/messages.json
+++ b/apps/browser/src/_locales/cy/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json
index 53451d098ec..5aebf5dd80d 100644
--- a/apps/browser/src/_locales/da/messages.json
+++ b/apps/browser/src/_locales/da/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Åbnes i et nyt vindue"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "USA",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json
index c6f7b909882..c7827d4ddc4 100644
--- a/apps/browser/src/_locales/de/messages.json
+++ b/apps/browser/src/_locales/de/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Wird in einem neuen Fenster geöffnet"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json
index d86d1be57e5..4f85e42e08f 100644
--- a/apps/browser/src/_locales/el/messages.json
+++ b/apps/browser/src/_locales/el/messages.json
@@ -1462,13 +1462,13 @@
"message": "Αυτόματη συμπλήρωση αντικειμένου"
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "Προειδοποίηση: Αυτή είναι μια μη ασφαλή σελίδα HTTP και οποιαδήποτε πληροφορία υποβάλλετε μπορεί να γίνει ορατή και επεμβάσιμη από άλλους. Αυτή η σύνδεση αποθηκεύτηκε αρχικά σε μια ασφαλή (HTTPS) σελίδα."
},
"insecurePageWarningFillPrompt": {
"message": "Do you still wish to fill this login?"
},
"autofillIframeWarning": {
- "message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to auto-fill anyway, or Cancel to stop."
+ "message": "Η φόρμα φιλοξενείται από διαφορετικό τομέα (domain) από το λινκ (uri) της αποθηκευμένης σύνδεσης σας (login). Επιλέξτε OK για αυτόματη συμπλήρωση, ή Ακύρωση για να σταματήσετε."
},
"autofillIframeWarningTip": {
"message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Ανοίγει σε νέο παράθυρο"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json
index e276fae4f90..a6cac34f480 100644
--- a/apps/browser/src/_locales/en/messages.json
+++ b/apps/browser/src/_locales/en/messages.json
@@ -2233,7 +2233,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json
index c0d018ee1fb..653ff32074c 100644
--- a/apps/browser/src/_locales/en_GB/messages.json
+++ b/apps/browser/src/_locales/en_GB/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json
index de8b5957659..3fe6222cfcf 100644
--- a/apps/browser/src/_locales/en_IN/messages.json
+++ b/apps/browser/src/_locales/en_IN/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json
index ac4b28b7dd5..afd3ea4ce87 100644
--- a/apps/browser/src/_locales/es/messages.json
+++ b/apps/browser/src/_locales/es/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Región"
+ },
"opensInANewWindow": {
"message": "Abre en una nueva ventana"
+ },
+ "eu": {
+ "message": "Unión Europea",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "EE.UU.",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json
index 8ccfcb5dcc7..02ee8d04384 100644
--- a/apps/browser/src/_locales/et/messages.json
+++ b/apps/browser/src/_locales/et/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Piirkond"
+ },
"opensInANewWindow": {
"message": "Avaneb uues aknas"
+ },
+ "eu": {
+ "message": "EL",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "USA",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json
index 9d2196ed64a..e2189ce6a68 100644
--- a/apps/browser/src/_locales/eu/messages.json
+++ b/apps/browser/src/_locales/eu/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json
index c5d48947d7e..0e4a59e164b 100644
--- a/apps/browser/src/_locales/fa/messages.json
+++ b/apps/browser/src/_locales/fa/messages.json
@@ -1462,16 +1462,16 @@
"message": "مورد خودکار پر شد"
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "هشدار: این یک صفحه HTTP ناامن است و هر اطلاعاتی که ارسال میکنید میتواند توسط دیگران دیده شود و تغییر کند. این ورود در ابتدا در یک صفحه امن (HTTPS) ذخیره شد."
},
"insecurePageWarningFillPrompt": {
- "message": "Do you still wish to fill this login?"
+ "message": "آیا هنوز میخواهید این ورود را پر کنید؟"
},
"autofillIframeWarning": {
- "message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to auto-fill anyway, or Cancel to stop."
+ "message": "فرم توسط دامنه ای متفاوت از نشانی اینترنتی ورود به سیستم ذخیره شده شما میزبانی میشود. به هر حال برای پر کردن خودکار، تأیید را انتخاب کنید یا برای توقف، لغو را انتخاب کنید."
},
"autofillIframeWarningTip": {
- "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
+ "message": "برای جلوگیری از این هشدار در آینده، این نشانی اینترنتی، $HOSTNAME$، را در مورد ورود Bitwarden خود برای این سایت ذخیره کنید.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -1483,13 +1483,13 @@
"message": "تنظیم کلمه عبور اصلی"
},
"currentMasterPass": {
- "message": "Current master password"
+ "message": "کلمه عبور اصلی فعلی"
},
"newMasterPass": {
- "message": "New master password"
+ "message": "کلمه عبور اصلی جدید"
},
"confirmNewMasterPass": {
- "message": "Confirm new master password"
+ "message": "تأیید کلمه عبور اصلی جدید"
},
"masterPasswordPolicyInEffect": {
"message": "یک یا چند سیاست سازمانی برای تأمین شرایط زیر به کلمه عبور اصلی شما احتیاج دارد:"
@@ -1872,7 +1872,7 @@
"message": "کلمه عبور اصلی شما اخیراً توسط سرپرست سازمانتان تغییر کرده است. برای دسترسی به گاوصندوق، باید همین حالا کلمه عبور اصلی خود را بهروز کنید. در صورت ادامه، شما از نشست فعلی خود خارج میشوید و باید دوباره وارد سیستم شوید. نشست فعال در دستگاه های دیگر ممکن است تا یک ساعت همچنان فعال باقی بمانند."
},
"updateWeakMasterPasswordWarning": {
- "message": "Your master password does not meet one or more of your organization policies. In order to access the vault, you must update your master password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour."
+ "message": "کلمه عبور اصلی شما با یک یا چند سیاست سازمانتان مطابقت ندارد. برای دسترسی به گاوصندوق، باید همین حالا کلمه عبور اصلی خود را بهروز کنید. در صورت ادامه، شما از نشست فعلی خود خارج میشوید و باید دوباره وارد سیستم شوید. نشست فعال در دستگاه های دیگر ممکن است تا یک ساعت همچنان فعال باقی بمانند."
},
"resetPasswordPolicyAutoEnroll": {
"message": "ثبت نام خودکار"
@@ -1906,7 +1906,7 @@
}
},
"vaultTimeoutPolicyWithActionInEffect": {
- "message": "Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is $HOURS$ hour(s) and $MINUTES$ minute(s). Your vault timeout action is set to $ACTION$.",
+ "message": "سیاستهای سازمانتان بر مهلت زمانی گاوصندوق شما تأثیر میگذارد. حداکثر زمان مجاز گاوصندوق $HOURS$ ساعت و $MINUTES$ دقیقه است. عملگر مهلت زمانی گاوصندوق شما روی $ACTION$ تنظیم شده است.",
"placeholders": {
"hours": {
"content": "$1",
@@ -1923,7 +1923,7 @@
}
},
"vaultTimeoutActionPolicyInEffect": {
- "message": "Your organization policies have set your vault timeout action to $ACTION$.",
+ "message": "سباستهای سازمان شما، عملگر زمانبندی گاوصندوق شما را روی $ACTION$ تنظیم کرده است.",
"placeholders": {
"action": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
- "message": "Opens in a new window"
+ "message": "در پنجره جدید باز میشود"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json
index 26db404aa46..69b77b26123 100644
--- a/apps/browser/src/_locales/fi/messages.json
+++ b/apps/browser/src/_locales/fi/messages.json
@@ -1462,16 +1462,16 @@
"message": "Kohde täytettiin automaattisesti"
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "Varoitus: Tämä on suojaamaton HTTP-sivu, eli ulkopuolisten tahojen voi olla mahdollista tarkastella ja muuttaa lähettämiäsi tietoja. Tämä kirjautumistieto on alun perin tallennettu suojatulle HTTPS-sivulle."
},
"insecurePageWarningFillPrompt": {
- "message": "Do you still wish to fill this login?"
+ "message": "Haluatko silti täyttää kirjautumistiedot?"
},
"autofillIframeWarning": {
- "message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to auto-fill anyway, or Cancel to stop."
+ "message": "Lomakkeen URI-osoite poikkeaa kirjautumistietoon tallennetusta osoitteesta. Täytä se siitä huolimatta valitsemalla OK tai peru täyttö valitsemalla Peruuta."
},
"autofillIframeWarningTip": {
- "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
+ "message": "Välttyäksesi varoitukselta jatkossa, tallenna URI $HOSTNAME$ sivustolle tallennettuun Bitwarden-kirjautumistietoosi.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Alue"
+ },
"opensInANewWindow": {
"message": "Avautuu uudessa ikkunassa"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json
index af8050b68a9..e98884c2007 100644
--- a/apps/browser/src/_locales/fil/messages.json
+++ b/apps/browser/src/_locales/fil/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json
index ae4893dd813..8f4e769c695 100644
--- a/apps/browser/src/_locales/fr/messages.json
+++ b/apps/browser/src/_locales/fr/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Région"
+ },
"opensInANewWindow": {
"message": "S'ouvre dans une nouvelle fenêtre"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/gl/messages.json
+++ b/apps/browser/src/_locales/gl/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json
index e4e676471f5..fc90bade6c0 100644
--- a/apps/browser/src/_locales/he/messages.json
+++ b/apps/browser/src/_locales/he/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json
index 456822a3cc3..df561ad0e47 100644
--- a/apps/browser/src/_locales/hi/messages.json
+++ b/apps/browser/src/_locales/hi/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json
index d668e3e0d2c..37ecb3de8c8 100644
--- a/apps/browser/src/_locales/hr/messages.json
+++ b/apps/browser/src/_locales/hr/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json
index d06a236f695..c5e8214b635 100644
--- a/apps/browser/src/_locales/hu/messages.json
+++ b/apps/browser/src/_locales/hu/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Régió"
+ },
"opensInANewWindow": {
"message": "Megnyitás új ablakban"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json
index 220af16b5aa..6addc264fb2 100644
--- a/apps/browser/src/_locales/id/messages.json
+++ b/apps/browser/src/_locales/id/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json
index c3aab715458..1971331fd98 100644
--- a/apps/browser/src/_locales/it/messages.json
+++ b/apps/browser/src/_locales/it/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Regione"
+ },
"opensInANewWindow": {
"message": "Si apre in una nuova finestra"
+ },
+ "eu": {
+ "message": "UE",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json
index e6eca2c5383..630dfb3e217 100644
--- a/apps/browser/src/_locales/ja/messages.json
+++ b/apps/browser/src/_locales/ja/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "リージョン"
+ },
"opensInANewWindow": {
"message": "新しいウィンドウで開く"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "米国",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json
index d71e9402df6..2f484324f39 100644
--- a/apps/browser/src/_locales/ka/messages.json
+++ b/apps/browser/src/_locales/ka/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/km/messages.json
+++ b/apps/browser/src/_locales/km/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json
index 31b78ceb490..baa61fad177 100644
--- a/apps/browser/src/_locales/kn/messages.json
+++ b/apps/browser/src/_locales/kn/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json
index 155736462d3..962fe7347cf 100644
--- a/apps/browser/src/_locales/ko/messages.json
+++ b/apps/browser/src/_locales/ko/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json
index 078c28a261e..e6a9dbdc5c6 100644
--- a/apps/browser/src/_locales/lt/messages.json
+++ b/apps/browser/src/_locales/lt/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json
index 317a1d48cc3..38c892aaede 100644
--- a/apps/browser/src/_locales/lv/messages.json
+++ b/apps/browser/src/_locales/lv/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Apgabals"
+ },
"opensInANewWindow": {
"message": "Atver jaunā logā"
+ },
+ "eu": {
+ "message": "ES",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "ASV",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json
index 1975bb0f14c..4c4e9936e0f 100644
--- a/apps/browser/src/_locales/ml/messages.json
+++ b/apps/browser/src/_locales/ml/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/my/messages.json
+++ b/apps/browser/src/_locales/my/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json
index 0946027aee5..8ede2fb9389 100644
--- a/apps/browser/src/_locales/nb/messages.json
+++ b/apps/browser/src/_locales/nb/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/ne/messages.json
+++ b/apps/browser/src/_locales/ne/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json
index 1f76bc82fef..68a6ba26b1f 100644
--- a/apps/browser/src/_locales/nl/messages.json
+++ b/apps/browser/src/_locales/nl/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Regio"
+ },
"opensInANewWindow": {
- "message": "Opens in a new window"
+ "message": "Opent in een nieuw venster"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/nn/messages.json
+++ b/apps/browser/src/_locales/nn/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/or/messages.json
+++ b/apps/browser/src/_locales/or/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json
index 36f8cc8c94a..de2c505ced3 100644
--- a/apps/browser/src/_locales/pl/messages.json
+++ b/apps/browser/src/_locales/pl/messages.json
@@ -1471,7 +1471,7 @@
"message": "Formularz jest hostowany przez inną domenę niż zapisany adres URI dla tego loginu. Wybierz OK, aby i tak automatycznie wypełnić lub anuluj aby zatrzymać."
},
"autofillIframeWarningTip": {
- "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
+ "message": "Aby zapobiec temu ostrzeżeniu w przyszłości, zapisz ten URI, $HOSTNAME$, dla tej witryny.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Otwiera w nowym oknie"
+ },
+ "eu": {
+ "message": "UE",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json
index 8b4fcfad0ac..87585d561d0 100644
--- a/apps/browser/src/_locales/pt_BR/messages.json
+++ b/apps/browser/src/_locales/pt_BR/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json
index ad53f10e414..abb193ecbab 100644
--- a/apps/browser/src/_locales/pt_PT/messages.json
+++ b/apps/browser/src/_locales/pt_PT/messages.json
@@ -3,7 +3,7 @@
"message": "Bitwarden"
},
"extName": {
- "message": "Bitwarden",
+ "message": "Bitwarden - gestor de palavras-passe",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
@@ -20,7 +20,7 @@
"message": "Iniciar sessão"
},
"enterpriseSingleSignOn": {
- "message": "Início de Sessão Único da Empresa"
+ "message": "Início de sessão único para empresas"
},
"cancel": {
"message": "Cancelar"
@@ -32,22 +32,22 @@
"message": "Submeter"
},
"emailAddress": {
- "message": "Endereço de Email"
+ "message": "Endereço de e-mail"
},
"masterPass": {
- "message": "Palavra-passe Mestra"
+ "message": "Palavra-passe mestra"
},
"masterPassDesc": {
- "message": "A palavra-passe mestra é a palavra-passe que utiliza para aceder ao seu cofre. É muito importante que não se esqueça da sua palavra-passe mestra. Não existe maneira de recuperar a palavra-passe no caso de a esquecer."
+ "message": "A palavra-passe mestra é a palavra-passe que utiliza para aceder ao seu cofre. É muito importante que não se esqueça da sua palavra-passe mestra. Não há forma de recuperar a palavra-passe no caso de a esquecer."
},
"masterPassHintDesc": {
- "message": "Uma dica da palavra-passe mestra pode ajudar a lembrar-se da sua palavra-passe se a esquecer."
+ "message": "Uma dica da palavra-passe mestra pode ajudá-lo a lembrar-se da sua palavra-passe, caso se esqueça dela."
},
"reTypeMasterPass": {
- "message": "Re-digite a palavra-passe mestra"
+ "message": "Reintroduza a palavra-passe mestra"
},
"masterPassHint": {
- "message": "Dica da Palavra-passe Mestra (opcional)"
+ "message": "Dica da palavra-passe mestra (opcional)"
},
"tab": {
"message": "Separador"
@@ -56,10 +56,10 @@
"message": "Cofre"
},
"myVault": {
- "message": "O meu Cofre"
+ "message": "O meu cofre"
},
"allVaults": {
- "message": "Todos os Cofres"
+ "message": "Todos os cofres"
},
"tools": {
"message": "Ferramentas"
@@ -68,10 +68,10 @@
"message": "Definições"
},
"currentTab": {
- "message": "Separador Atual"
+ "message": "Separador atual"
},
"copyPassword": {
- "message": "Copiar Palavra-passe"
+ "message": "Copiar palavra-passe"
},
"copyNote": {
"message": "Copiar nota"
@@ -83,22 +83,22 @@
"message": "Copiar nome de utilizador"
},
"copyNumber": {
- "message": "Copiar Número"
+ "message": "Copiar número"
},
"copySecurityCode": {
"message": "Copiar código de segurança"
},
"autoFill": {
- "message": "Auto-preencher"
+ "message": "Preenchimento automático"
},
"generatePasswordCopied": {
- "message": "Gerar Palavra-passe (copiada)"
+ "message": "Gerar palavra-passe (copiada)"
},
"copyElementIdentifier": {
"message": "Copiar nome do campo personalizado"
},
"noMatchingLogins": {
- "message": "Sem credencias correspondidas."
+ "message": "Sem inícios de sessão correspondentes"
},
"unlockVaultMenu": {
"message": "Desbloqueie o seu cofre"
@@ -107,19 +107,19 @@
"message": "Inicie sessão para abrir o seu cofre"
},
"autoFillInfo": {
- "message": "Não existem credenciais disponíveis para auto-preencher para o separador de navegador atual."
+ "message": "Não existem inícios de sessão disponíveis para preenchimento automático no separador atual do navegador."
},
"addLogin": {
- "message": "Adicionar uma credencial"
+ "message": "Adicionar um início de sessão"
},
"addItem": {
- "message": "Adicionar Item"
+ "message": "Adicionar item"
},
"passwordHint": {
"message": "Dica da palavra-passe"
},
"enterEmailToGetHint": {
- "message": "Introduza o endereço de email da sua conta para receber a dica da sua palavra-passe mestra."
+ "message": "Introduza o endereço de e-mail da sua conta para receber a dica da sua palavra-passe mestra."
},
"getMasterPasswordHint": {
"message": "Obter dica da palavra-passe mestra"
@@ -128,16 +128,16 @@
"message": "Continuar"
},
"sendVerificationCode": {
- "message": "Envie um código de verificação para o seu e-mail"
+ "message": "Enviar um código de verificação para o seu e-mail"
},
"sendCode": {
- "message": "Enviar o código"
+ "message": "Enviar código"
},
"codeSent": {
"message": "Código enviado"
},
"verificationCode": {
- "message": "Código de Verificação"
+ "message": "Código de verificação"
},
"confirmIdentity": {
"message": "Confirme a sua identidade para continuar."
@@ -146,24 +146,24 @@
"message": "Conta"
},
"changeMasterPassword": {
- "message": "Alterar Palavra-passe Mestra"
+ "message": "Alterar palavra-passe mestra"
},
"fingerprintPhrase": {
"message": "Frase de impressão digital",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"yourAccountsFingerprint": {
- "message": "A frase de impressão digital da sua conta",
+ "message": "Frase da impressão digital da sua conta",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"twoStepLogin": {
- "message": "Início de Sessão de Dois Passos"
+ "message": "Verificação de dois passos"
},
"logOut": {
- "message": "Terminar Sessão"
+ "message": "Terminar sessão"
},
"about": {
- "message": "Acerca"
+ "message": "Acerca de"
},
"version": {
"message": "Versão"
@@ -175,13 +175,13 @@
"message": "Mover"
},
"addFolder": {
- "message": "Adicionar Pasta"
+ "message": "Adicionar pasta"
},
"name": {
"message": "Nome"
},
"editFolder": {
- "message": "Editar Pasta"
+ "message": "Editar pasta"
},
"deleteFolder": {
"message": "Eliminar pasta"
@@ -196,7 +196,7 @@
"message": "Ajuda e feedback"
},
"helpCenter": {
- "message": "Centrro de ajuda do Bitwarden"
+ "message": "Centro de ajuda do Bitwarden"
},
"communityForums": {
"message": "Explorar os fóruns da comunidade do Bitwarden"
@@ -208,7 +208,7 @@
"message": "Sincronizar"
},
"syncVaultNow": {
- "message": "Sincronizar cofre agora"
+ "message": "Sincronizar o cofre agora"
},
"lastSync": {
"message": "Última sincronização:"
@@ -221,10 +221,10 @@
"description": "Short for 'Password Generator'."
},
"passGenInfo": {
- "message": "Gera automaticamente palavras-passe fortes e únicas para as suas credenciais."
+ "message": "Gera automaticamente palavras-passe fortes e únicas para os seus inícios de sessão."
},
"bitWebVault": {
- "message": "Cofre Web Bitwarden"
+ "message": "Cofre web Bitwarden"
},
"importItems": {
"message": "Importar itens"
@@ -254,7 +254,7 @@
"message": "Números (0-9)"
},
"specialCharacters": {
- "message": "Caracteres Especiais (!@#$%^&*)"
+ "message": "Caracteres especiais (!@#$%^&*)"
},
"numWords": {
"message": "Número de palavras"
@@ -273,13 +273,13 @@
"message": "Números mínimos"
},
"minSpecial": {
- "message": "Especiais minímos"
+ "message": "Caracteres especiais minímos"
},
"avoidAmbChar": {
"message": "Evitar caracteres ambíguos"
},
"searchVault": {
- "message": "Pesquisar cofre"
+ "message": "Procurar no cofre"
},
"edit": {
"message": "Editar"
@@ -291,7 +291,7 @@
"message": "Não existem itens para listar."
},
"itemInformation": {
- "message": "Informação do item"
+ "message": "Informações do item"
},
"username": {
"message": "Nome de utilizador"
@@ -300,7 +300,7 @@
"message": "Palavra-passe"
},
"passphrase": {
- "message": "Frase-passe"
+ "message": "Frase de acesso"
},
"favorite": {
"message": "Favorito"
@@ -318,7 +318,7 @@
"message": "Pasta"
},
"deleteItem": {
- "message": "Apagar item"
+ "message": "Eliminar item"
},
"viewItem": {
"message": "Ver item"
@@ -327,7 +327,7 @@
"message": "Iniciar"
},
"website": {
- "message": "Website"
+ "message": "Site"
},
"toggleVisibility": {
"message": "Alternar visibilidade"
@@ -342,16 +342,16 @@
"message": "Avaliar a extensão"
},
"rateExtensionDesc": {
- "message": "Por favor considere ajudar-nos com uma boa análise!"
+ "message": "Por favor, considere ajudar-nos com uma boa avaliação!"
},
"browserNotSupportClipboard": {
- "message": "O seu navegador web não suporta cópia fácil da área de transferência. Em alternativa, copie manualmente."
+ "message": "O seu navegador web não suporta a cópia fácil da área de transferência. Em vez disso, copie manualmente."
},
"verifyIdentity": {
- "message": "Verificar Identidade"
+ "message": "Verificar identidade"
},
"yourVaultIsLocked": {
- "message": "O seu cofre está bloqueado. Verifique a sua palavra-passe mestra para continuar."
+ "message": "O seu cofre está bloqueado. Verifique a sua identidade para continuar."
},
"unlock": {
"message": "Desbloquear"
@@ -412,7 +412,7 @@
"message": "4 horas"
},
"onLocked": {
- "message": "Quando o sistema está bloqueado"
+ "message": "No bloqueio do sistema"
},
"onRestart": {
"message": "Ao reiniciar o sistema"
@@ -427,13 +427,13 @@
"message": "Ocorreu um erro"
},
"emailRequired": {
- "message": "O endereço de email é requerido."
+ "message": "É necessário o endereço de e-mail."
},
"invalidEmail": {
- "message": "Endereço de email inválido."
+ "message": "Endereço de e-mail inválido."
},
"masterPasswordRequired": {
- "message": "A palavra-passe mestra é necessária."
+ "message": "É necessária a palavra-passe mestra."
},
"confirmMasterPasswordRequired": {
"message": "É necessário reescrever a palavra-passe mestra."
@@ -452,13 +452,13 @@
"message": "A confirmação da palavra-passe mestra não corresponde."
},
"newAccountCreated": {
- "message": "A sua nova conta foi criada! Agora pode iniciar sessão."
+ "message": "A sua nova conta foi criada! Pode agora iniciar sessão."
},
"masterPassSent": {
- "message": "Enviámos-lhe um email com a dica da sua palavra-passe mestra."
+ "message": "Enviámos-lhe um e-mail com a dica da sua palavra-passe mestra."
},
"verificationCodeRequired": {
- "message": "O código de verificação é requerido."
+ "message": "É necessário o código de verificação."
},
"invalidVerificationCode": {
"message": "Código de verificação inválido"
@@ -474,7 +474,7 @@
}
},
"autofillError": {
- "message": "Não é possível auto-preencher o item selecionado nesta página. Em alternativa, copie e cole a informação."
+ "message": "Não é possível preencher automaticamente o item selecionado nesta página. Em vez disso, copie e cole as informações."
},
"loggedOut": {
"message": "Sessão terminada"
@@ -495,7 +495,7 @@
"message": "Ocorreu um erro inesperado."
},
"nameRequired": {
- "message": "O nome é requerido."
+ "message": "É necessário o nome."
},
"addedFolder": {
"message": "Pasta adicionada"
@@ -504,13 +504,13 @@
"message": "Alterar palavra-passe mestra"
},
"changeMasterPasswordConfirmation": {
- "message": "Pode alterar a sua palavra-passe mestra no cofre web bitwarden.com. Pretende visitar o website agora?"
+ "message": "Pode alterar o seu endereço de e-mail no cofre do site bitwarden.com. Deseja visitar o site agora?"
},
"twoStepLoginConfirmation": {
- "message": "O início de sessão de dois passos torna a sua conta mais segura ao requerer que verifique o seu início de sessão com outro dispositivo como uma chave de segurança, aplicação de autenticação, SMS, chamada telefónica, ou email. O início de sessão de dois passos pode ser ativado no cofre web bitwarden.com. Pretende visitar o website agora?"
+ "message": "A verificação de dois passos torna a sua conta mais segura, exigindo que verifique o seu início de sessão com outro dispositivo, como uma chave de segurança, aplicação de autenticação, SMS, chamada telefónica ou e-mail. A verificação de dois passos pode ser configurada em bitwarden.com. Pretende visitar o site agora?"
},
"editedFolder": {
- "message": "Pasta editada"
+ "message": "Pasta guardada"
},
"deleteFolderConfirmation": {
"message": "Tem a certeza de que pretende eliminar esta pasta?"
@@ -522,13 +522,13 @@
"message": "Tutorial de introdução"
},
"gettingStartedTutorialVideo": {
- "message": "Veja o nosso tutorial de introdução e saiba como tirar o máximo partido da extensão de navegador."
+ "message": "Veja o nosso tutorial de introdução para saber como tirar o máximo partido da extensão do navegador."
},
"syncingComplete": {
- "message": "Sincronização completada"
+ "message": "Sincronização concluída"
},
"syncingFailed": {
- "message": "Sincronização falhada"
+ "message": "Falha na sincronização"
},
"passwordCopied": {
"message": "Palavra-passe copiada"
@@ -553,44 +553,44 @@
"message": "Item adicionado"
},
"editedItem": {
- "message": "Item editado"
+ "message": "Item guardado"
},
"deleteItemConfirmation": {
- "message": "Tem a certeza de que pretende apagar este item?"
+ "message": "Tem a certeza de que pretende eliminar este item?"
},
"deletedItem": {
- "message": "Item enviado para o lixo"
+ "message": "Item movido para o lixo"
},
"overwritePassword": {
- "message": "Sobreescrever palavra-passe"
+ "message": "Substituir palavra-passe"
},
"overwritePasswordConfirmation": {
- "message": "Tem a certeza de que pretende sobreescrever a palavra-passe atual?"
+ "message": "Tem a certeza de que pretende substituir a palavra-passe atual?"
},
"overwriteUsername": {
- "message": "Sobrescrever nome de utilizador"
+ "message": "Substituir nome de utilizador"
},
"overwriteUsernameConfirmation": {
- "message": "Tem a certeza de que deseja sobrescrever o nome de utilizador atual?"
+ "message": "Tem a certeza de que pretende substituir o nome de utilizador atual?"
},
"searchFolder": {
- "message": "Pesquisar pasta"
+ "message": "Procurar na pasta"
},
"searchCollection": {
- "message": "Pesquisar coleção"
+ "message": "Procurar na coleção"
},
"searchType": {
- "message": "Pesquisar tipo"
+ "message": "Procurar no tipo"
},
"noneFolder": {
- "message": "Nenhuma pasta",
+ "message": "Em nenhuma pasta",
"description": "This is the folder for uncategorized items"
},
"enableAddLoginNotification": {
"message": "Ask to add login"
},
"addLoginNotificationDesc": {
- "message": "A \"notificação de adicionar credencial\" solicita-lhe automaticamente a guardar novas credenciais para o seu cofre quando inicia sessão nas mesmas pela primeira vez."
+ "message": "Pedir para adicionar um item se não o encontrar no seu cofre."
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -609,14 +609,14 @@
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
},
"clearClipboardDesc": {
- "message": "Limpar automaticamente valores copiados da sua área de transferência.",
+ "message": "Limpar automaticamente os valores copiados da sua área de transferência.",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
},
"notificationAddDesc": {
- "message": "Deve o Bitwarden memorizar esta palavra-passe para si?"
+ "message": "Deve o Bitwarden memorizar esta palavra-passe por si?"
},
"notificationAddSave": {
- "message": "Sim, guardar agora"
+ "message": "Guardar"
},
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
@@ -628,7 +628,7 @@
"message": "Pretende atualizar esta palavra-passe no Bitwarden?"
},
"notificationChangeSave": {
- "message": "Sim, atualizar agora"
+ "message": "Atualizar"
},
"enableContextMenuItem": {
"message": "Show context menu options"
@@ -641,13 +641,13 @@
"description": "Default URI match detection for auto-fill."
},
"defaultUriMatchDetectionDesc": {
- "message": "Escolha a maneira predefinida pela qual a deteção de correspondência de URI é manuseada para credenciais ao realizar ações como auto-preenchimento."
+ "message": "Escolha a forma predefinida como a deteção de correspondência de URI é tratada para inícios de sessão ao executar ações como o preenchimento automático."
},
"theme": {
"message": "Tema"
},
"themeDesc": {
- "message": "Altere o tema de cor da aplicação."
+ "message": "Alterar o tema de cores da aplicação."
},
"dark": {
"message": "Escuro",
@@ -658,7 +658,7 @@
"description": "Light color"
},
"solarizedDark": {
- "message": "Solarized escuro",
+ "message": "Solarized Dark",
"description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
},
"exportVault": {
@@ -672,16 +672,16 @@
"description": "WARNING (should stay in capitalized letters if the language permits)"
},
"confirmVaultExport": {
- "message": "Confirmar exportação de cofre"
+ "message": "Confirmar a exportação do cofre"
},
"exportWarningDesc": {
- "message": "Esta exportação contém os seus dados do cofre num formato desencriptado. Não deve armazenar ou enviar o ficheiro exportado através de canais inseguros (como email). Apague-a imediatamente após a utilizar."
+ "message": "Esta exportação contém os dados do seu cofre num formato não encriptado. Não deve armazenar ou enviar o ficheiro exportado através de canais não seguros (como o e-mail). Elimine-o imediatamente após terminar a sua utilização."
},
"encExportKeyWarningDesc": {
- "message": "Esta exportação cifra os seus dados utilizando a chave de cifragem da sua conta. Se alguma vez mudar a chave de cifragem da sua conta, deve fazer a exportação novamente, já que não conseguirá decifrar este ficheiro de exportação."
+ "message": "Esta exportação encripta os seus dados utilizando a chave de encriptação da sua conta. Se alguma vez mudar a chave de encriptação da sua conta, deve exportar novamente, uma vez que não conseguirá desencriptar este ficheiro de exportação."
},
"encExportAccountWarningDesc": {
- "message": "As chaves de encriptação de conta são únicas para cada conta de utilizador Bitwarden, pelo que não se pode importar uma exportação encriptada para uma conta diferente."
+ "message": "As chaves de encriptação da conta são únicas para cada conta de utilizador Bitwarden, pelo que não é possível importar uma exportação encriptada para uma conta diferente."
},
"exportMasterPassword": {
"message": "Introduza a sua palavra-passe mestra para exportar os dados do seu cofre."
@@ -690,13 +690,13 @@
"message": "Partilhado"
},
"learnOrg": {
- "message": "Saiba mais sobre as Organizações"
+ "message": "Saiba mais sobre as organizações"
},
"learnOrgConfirmation": {
- "message": "O Bitwarden permite-lhe partilhar os itens do seu cofre com outras pessoas ao usar uma organização. Gostaria de visitar o site bitwarden.com para saber mais?"
+ "message": "O Bitwarden permite-lhe partilhar os seus itens do cofre com outras pessoas através da utilização de uma organização. Gostaria de visitar o site bitwarden.com para saber mais?"
},
"moveToOrganization": {
- "message": "Mudança para Organização"
+ "message": "Mover para a organização"
},
"share": {
"message": "Partilhar"
@@ -715,13 +715,13 @@
}
},
"moveToOrgDesc": {
- "message": "Escolha uma organização para a qual deseja mover este item. A mudança para uma organização transfere a propriedade do item para essa organização. Deixará de ser o proprietário directo deste item uma vez que tenha sido movido."
+ "message": "Escolha uma organização para a qual pretende mover este item. Mover para uma organização transfere a propriedade do item para essa organização. Deixará de ser o proprietário direto deste item depois de este ter sido movido."
},
"learnMore": {
"message": "Saber mais"
},
"authenticatorKeyTotp": {
- "message": "Chave de autenticador (TOTP)"
+ "message": "Chave de autenticação (TOTP)"
},
"verificationCodeTotp": {
"message": "Código de verificação (TOTP)"
@@ -736,10 +736,10 @@
"message": "Eliminar anexo"
},
"deleteAttachmentConfirmation": {
- "message": "Tem a certeza de que deseja eliminar este anexo?"
+ "message": "Tem a certeza de que pretende eliminar este anexo?"
},
"deletedAttachment": {
- "message": "Anexo apagado"
+ "message": "Anexo eliminado"
},
"newAttachment": {
"message": "Adicionar novo anexo"
@@ -748,13 +748,13 @@
"message": "Sem anexos."
},
"attachmentSaved": {
- "message": "O anexo foi guardado."
+ "message": "Anexo guardado"
},
"file": {
"message": "Ficheiro"
},
"selectFile": {
- "message": "Selecione um ficheiro."
+ "message": "Selecionar um ficheiro"
},
"maxFileSize": {
"message": "O tamanho máximo do ficheiro é de 500 MB."
@@ -766,49 +766,49 @@
"message": "Não pode utilizar esta funcionalidade até atualizar a sua chave de encriptação."
},
"premiumMembership": {
- "message": "Adesão Premium"
+ "message": "Subscrição Premium"
},
"premiumManage": {
- "message": "Gerir adesão"
+ "message": "Gerir subscrição"
},
"premiumManageAlert": {
- "message": "Pode gerir a sua adesão premium no cofre web bitwarden.com. Pretende visitar o website agora?"
+ "message": "Pode gerir a sua subscrição no cofre web bitwarden.com. Pretende visitar o site agora?"
},
"premiumRefresh": {
- "message": "Atualizar adesão"
+ "message": "Atualizar subscrição"
},
"premiumNotCurrentMember": {
- "message": "Não é atualmente um membro premium."
+ "message": "Atualmente, não é um membro Premium."
},
"premiumSignUpAndGet": {
- "message": "Registe-se para uma adesão premium e obtenha:"
+ "message": "Subscreva uma subscrição Premium e obtenha:"
},
"ppremiumSignUpStorage": {
"message": "1 GB de armazenamento encriptado para anexos de ficheiros."
},
"ppremiumSignUpTwoStep": {
- "message": "Opções de início de sessão de dois passos adicionais como YubiKey, FIDO U2F, e Duo."
+ "message": "Opções adicionais de verificação de dois passos, como YubiKey, FIDO U2F e Duo."
},
"ppremiumSignUpReports": {
- "message": "Higiene de palavras-passe, saúde das contas, e relatórios de brechas de dados para manter o seu cofre seguro."
+ "message": "Higiene de palavras-passe, saúde da conta e relatórios de violação de dados para manter o seu cofre seguro."
},
"ppremiumSignUpTotp": {
- "message": "Gerador de códigos de verificação TOTP (2FA) para credenciais no seu cofre."
+ "message": "Gerador de código de verificação TOTP (2FA) para inícios de sessão no seu cofre."
},
"ppremiumSignUpSupport": {
"message": "Prioridade no apoio ao cliente."
},
"ppremiumSignUpFuture": {
- "message": "Todas as funcionalidades premium futuras. Mais a chegar brevemente!"
+ "message": "Todas as futuras funcionalidades Premium. Mais em breve!"
},
"premiumPurchase": {
- "message": "Comprar Premium"
+ "message": "Adquirir Premium"
},
"premiumPurchaseAlert": {
- "message": "Pode comprar adesão premium no cofre web bitwarden.com. Pretende visitar o website agora?"
+ "message": "Pode adquirir uma subscrição Premium no cofre web bitwarden.com. Pretende visitar o site agora?"
},
"premiumCurrentMember": {
- "message": "É um membro premium!"
+ "message": "É um membro Premium!"
},
"premiumCurrentMemberThanks": {
"message": "Obrigado por apoiar o Bitwarden."
@@ -823,28 +823,28 @@
}
},
"refreshComplete": {
- "message": "Atualização completada"
+ "message": "Atualização concluída"
},
"enableAutoTotpCopy": {
"message": "Copy TOTP automatically"
},
"disableAutoTotpCopyDesc": {
- "message": "Se o seu início de sessão tem uma chave de autenticador anexada ao mesmo, o código de verificação TOTP é copiado automaticamente para a sua área de transferência quando quer que auto-preencha o início de sessão."
+ "message": "Se um início de sessão tiver uma chave de autenticação, copie o código de verificação TOTP para a sua área de transferência quando preencher automaticamente o início de sessão."
},
"enableAutoBiometricsPrompt": {
"message": "Ask for biometrics on launch"
},
"premiumRequired": {
- "message": "Premium requerido"
+ "message": "É necessária uma subscrição Premium"
},
"premiumRequiredDesc": {
- "message": "É requerida uma adesão premium para utilizar esta funcionalidade."
+ "message": "É necessária uma subscrição Premium para utilizar esta funcionalidade."
},
"enterVerificationCodeApp": {
- "message": "Introduza o código de verificação de 6 dígitos da sua aplicação de autenticador."
+ "message": "Introduza o código de verificação de 6 dígitos da sua aplicação de autenticação."
},
"enterVerificationCodeEmail": {
- "message": "Introduza o código de verificação de 6 dígitos que foi enviado por email para $EMAIL$.",
+ "message": "Introduza o código de verificação de 6 dígitos que foi enviado por e-mail para $EMAIL$.",
"placeholders": {
"email": {
"content": "$1",
@@ -853,7 +853,7 @@
}
},
"verificationCodeEmailSent": {
- "message": "Email de verificação enviado para $EMAIL$.",
+ "message": "E-mail de verificação enviado para $EMAIL$.",
"placeholders": {
"email": {
"content": "$1",
@@ -868,7 +868,7 @@
"message": "Enviar código de verificação novamente"
},
"useAnotherTwoStepMethod": {
- "message": "Utilizar outro método de início de sessão de dois passos"
+ "message": "Utilizar outro método de verificação de dois passos"
},
"insertYubiKey": {
"message": "Introduza a sua YubiKey na porta USB do seu computador, depois toque no botão da mesma."
@@ -877,7 +877,7 @@
"message": "Introduza a sua chave de segurança na porta USB do seu computador. Se tiver um botão, toque no mesmo."
},
"webAuthnNewTab": {
- "message": "Para iniciar a verificação WebAuthn 2FA. Clique no botão abaixo para abrir um novo separador e siga as instruções fornecidas no novo separador."
+ "message": "Para iniciar a verificação do WebAuthn 2FA, clique no botão abaixo para abrir um novo separador e siga as instruções fornecidas no novo separador."
},
"webAuthnNewTabOpen": {
"message": "Abrir novo separador"
@@ -889,64 +889,64 @@
"message": "Início de sessão indisponível"
},
"noTwoStepProviders": {
- "message": "Esta conta tem o início de sessão de dois passos ativado, no entanto, nenhum dos provedores de início de sessão de dois passos configurados são suportados por este navegador web."
+ "message": "Esta conta tem a verificação de dois passos configurada, no entanto, nenhum dos fornecedores da verificação de dois passos configurada é suportado por este navegador web."
},
"noTwoStepProviders2": {
- "message": "Por favor utilize um navegador web suportado (tal como o Chrome) e/ou adicione provedores adicionais que são melhor suportados entre navegadores web (tal como uma aplicação de autenticador)."
+ "message": "Utilize um navegador web suportado (como o Chrome) e/ou adicione fornecedores adicionais que sejam mais bem suportados nos navegadores web (como uma aplicação de autenticação)."
},
"twoStepOptions": {
- "message": "Opções de início de sessão de dois passos"
+ "message": "Opções de verificação de dois passos"
},
"recoveryCodeDesc": {
- "message": "Perdeu o acesso a todos os seus provedores de dois passos? Utilize o seu código de recuperação para desativar todos os provedores de dois passos da sua conta."
+ "message": "Perdeu o acesso a todos os seus fornecedores de verificação de dois passos? Utilize o seu código de recuperação para desativar todos os fornecedores de verificação de dois passos da sua conta."
},
"recoveryCodeTitle": {
"message": "Código de recuperação"
},
"authenticatorAppTitle": {
- "message": "Aplicação de autenticador"
+ "message": "Aplicação de autenticação"
},
"authenticatorAppDesc": {
- "message": "Utilize uma aplicação de autenticador (tal como Authy ou Google Authenticator) para gerar códigos de verificação baseados na hora.",
+ "message": "Utilize uma aplicação de autenticação (como o Authy ou o Google Authenticator) para gerar códigos de verificação baseados no tempo.",
"description": "'Authy' and 'Google Authenticator' are product names and should not be translated."
},
"yubiKeyTitle": {
"message": "Chave de segurança YubiKey OTP"
},
"yubiKeyDesc": {
- "message": "Utilize uma YubiKey para aceder à sua conta. Funciona com YubiKey 4, 4 Nano, 4C, e dispositivos NEO."
+ "message": "Utilize uma YubiKey para aceder à sua conta. Funciona com os dispositivos YubiKey 4, 4 Nano, 4C e NEO."
},
"duoDesc": {
- "message": "Verifique com Duo Security utilizando a aplicação Duo Mobile, SMS, chamada telefónica, ou chave de segurança U2F.",
+ "message": "Verifique com a Duo Security utilizando a aplicação Duo Mobile, SMS, chamada telefónica ou chave de segurança U2F.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"duoOrganizationDesc": {
- "message": "Verifique com Duo Security para a sua organização utilizando a aplicação Duo Mobile, SMS, chamada telefónica, ou chave de segurança U2F.",
+ "message": "Verifique com a Duo Security para a sua organização utilizando a aplicação Duo Mobile, SMS, chamada telefónica, ou chave de segurança U2F.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"webAuthnTitle": {
"message": "FIDO2 WebAuthn"
},
"webAuthnDesc": {
- "message": "Utilize qualquer chave de segurança ativada pela WebAuthn para aceder à sua conta."
+ "message": "Utilize qualquer chave de segurança compatível com o WebAuthn para aceder à sua conta."
},
"emailTitle": {
- "message": "Email"
+ "message": "E-mail"
},
"emailDesc": {
- "message": "Os códigos de verificação vão ser enviados para si."
+ "message": "Os códigos de verificação ser-lhe-ão enviados por e-mail."
},
"selfHostedEnvironment": {
"message": "Ambiente auto-hospedado"
},
"selfHostedEnvironmentFooter": {
- "message": "Especifique o URL de base da sua instalação local do Bitwarden alojada nas suas premissas."
+ "message": "Especifique o URL de base da sua instalação Bitwarden hospedada no local."
},
"customEnvironment": {
"message": "Ambiente personalizado"
},
"customEnvironmentFooter": {
- "message": "Para utilizadores avançados. Pode especificar o URL de base de cada serviço independentemente."
+ "message": "Para utilizadores avançados. Pode especificar o URL de base de cada serviço de forma independente."
},
"baseUrl": {
"message": "URL do servidor"
@@ -967,13 +967,13 @@
"message": "URL do servidor de ícones"
},
"environmentSaved": {
- "message": "Os URLs de ambiente foram guardados."
+ "message": "URLs de ambiente guardados"
},
"enableAutoFillOnPageLoad": {
- "message": "Ativar auto-preenchimento no carregar da página"
+ "message": "Preencher automaticamente ao carregar a página"
},
"enableAutoFillOnPageLoadDesc": {
- "message": "Se um formulário de início de sessão foram detetado, realizar automaticamente um auto-preenchimento quando a página web carregar."
+ "message": "Se for detetado um formulário de início de sessão, o preenchimento automático é efetuado quando a página web é carregada."
},
"experimentalFeature": {
"message": "Compromised or untrusted websites can exploit auto-fill on page load."
@@ -982,31 +982,31 @@
"message": "Learn more about auto-fill"
},
"defaultAutoFillOnPageLoad": {
- "message": "Predefinição padrão de preenchimento automático para itens de login"
+ "message": "Definição de preenchimento automático predefinido para itens de início de sessão"
},
"defaultAutoFillOnPageLoadDesc": {
- "message": "Depois de activar o preenchimento automático no carregamento da página, pode activar ou desactivar a função de itens de início de sessão individuais. Esta é a configuração padrão para os itens de início de sessão que não estão configurados separadamente."
+ "message": "Pode desativar o preenchimento automático ao carregar a página para itens de início de sessão individuais a partir da vista Editar do item."
},
"itemAutoFillOnPageLoad": {
- "message": "Preenchimento automático no carregamento da página (se ativado em Opções)"
+ "message": "Preenchimento automático ao carregar a página (se configurado nas Opções)"
},
"autoFillOnPageLoadUseDefault": {
- "message": "Usar padrão"
+ "message": "Utilizar a predefinição"
},
"autoFillOnPageLoadYes": {
- "message": "Preenchimento automático na carga da página"
+ "message": "Preencher automaticamente ao carregar a página"
},
"autoFillOnPageLoadNo": {
- "message": "Não preencher automaticamente no carregamento da página"
+ "message": "Não preencher automaticamente ao carregar a página"
},
"commandOpenPopup": {
- "message": "Abrir popup do cofre"
+ "message": "Abrir o pop-up do cofre"
},
"commandOpenSidebar": {
- "message": "Abrir cofre na barra lateral"
+ "message": "Abrir o cofre na barra lateral"
},
"commandAutofillDesc": {
- "message": "Auto-preencher o último início de sessão utilizado para o website atual"
+ "message": "Preencher automaticamente o último início de sessão utilizado no site atual"
},
"commandGeneratePasswordDesc": {
"message": "Gerar e copiar uma nova palavra-passe aleatória para a área de transferência"
@@ -1015,7 +1015,7 @@
"message": "Bloquear o cofre"
},
"privateModeWarning": {
- "message": "O suporte do modo privado é experimental e alguns recursos são limitados."
+ "message": "O suporte do modo privado é experimental e algumas funcionalidades são limitadas."
},
"customFields": {
"message": "Campos personalizados"
@@ -1036,24 +1036,24 @@
"message": "Texto"
},
"cfTypeHidden": {
- "message": "Ocultado"
+ "message": "Oculto"
},
"cfTypeBoolean": {
"message": "Booleano"
},
"cfTypeLinked": {
- "message": "Ligado",
+ "message": "Associado",
"description": "This describes a field that is 'linked' (tied) to another field."
},
"linkedValue": {
- "message": "Valor vinculado",
+ "message": "Valor associado",
"description": "This describes a value that is 'linked' (tied) to another value."
},
"popup2faCloseMessage": {
- "message": "Clicar fora da janela popup para verificar o seu email pelo código de verificação irá causar com que este popup feche. Deseja abrir este popup numa nova janela para que este não se feche?"
+ "message": "Ao clicar fora da janela pop-up para verificar o código de verificação no seu e-mail fará com que este pop-up se feche. Pretende abrir esta janela pop-up numa nova janela para que não se feche?"
},
"popupU2fCloseMessage": {
- "message": "Este navegador não pode processar solicitações U2F nesta janela popup. Pretende abrir este popup numa nova janela para que inicie sessão utilizando U2F?"
+ "message": "Este navegador não pode processar pedidos U2F nesta janela pop-up. Pretende abrir este pop-up numa nova janela para poder iniciar sessão utilizando o U2F?"
},
"enableFavicon": {
"message": "Show website icons"
@@ -1077,10 +1077,10 @@
"message": "Marca"
},
"expirationMonth": {
- "message": "Mês de expiração"
+ "message": "Mês de validade"
},
"expirationYear": {
- "message": "Ano de expiração"
+ "message": "Ano de validade"
},
"expiration": {
"message": "Expiração"
@@ -1131,16 +1131,16 @@
"message": "Título"
},
"mr": {
- "message": "Sr"
+ "message": "Sr."
},
"mrs": {
- "message": "Sra"
+ "message": "Sra."
},
"ms": {
- "message": "Sra"
+ "message": "Sra."
},
"dr": {
- "message": "Dr"
+ "message": "Dr."
},
"mx": {
"message": "Mx"
@@ -1149,13 +1149,13 @@
"message": "Primeiro nome"
},
"middleName": {
- "message": "Nome do meio"
+ "message": "Segundo nome"
},
"lastName": {
- "message": "Último nome"
+ "message": "Apelido"
},
"fullName": {
- "message": "Nome Completo"
+ "message": "Nome completo"
},
"identityName": {
"message": "Nome de identidade"
@@ -1173,28 +1173,28 @@
"message": "Número da licença"
},
"email": {
- "message": "Email"
+ "message": "E-mail"
},
"phone": {
"message": "Telefone"
},
"address": {
- "message": "Endereço"
+ "message": "Morada"
},
"address1": {
- "message": "Endereço 1"
+ "message": "1.ª morada"
},
"address2": {
- "message": "Endereço 2"
+ "message": "2.ª morada"
},
"address3": {
- "message": "Endereço 3"
+ "message": "3.ª morada"
},
"cityTown": {
- "message": "Cidade / localidade"
+ "message": "Cidade / Localidade"
},
"stateProvince": {
- "message": "Estado / província"
+ "message": "Estado / Província"
},
"zipPostalCode": {
"message": "Código postal"
@@ -1206,10 +1206,10 @@
"message": "Tipo"
},
"typeLogin": {
- "message": "Credencial"
+ "message": "Início de sessão"
},
"typeLogins": {
- "message": "Credenciais"
+ "message": "Inícios de sessão"
},
"typeSecureNote": {
"message": "Nota segura"
@@ -1233,7 +1233,7 @@
"message": "Favoritos"
},
"popOutNewWindow": {
- "message": "Enviar para uma nova janela"
+ "message": "Abrir numa nova janela"
},
"refresh": {
"message": "Atualizar"
@@ -1245,7 +1245,7 @@
"message": "Identidades"
},
"logins": {
- "message": "Credenciais"
+ "message": "Inícios de sessão"
},
"secureNotes": {
"message": "Notas seguras"
@@ -1255,10 +1255,10 @@
"description": "To clear something out. example: To clear browser history."
},
"checkPassword": {
- "message": "Verifica se a palavra-passe foi exposta."
+ "message": "Verificar se a palavra-passe foi exposta."
},
"passwordExposed": {
- "message": "Esta palavra-passe foi exposta $VALUE$ vez(es) em brechas de dados. Deve alterá-la.",
+ "message": "Esta palavra-passe foi exposta $VALUE$ vez(es) em violações de dados. Deve alterá-la.",
"placeholders": {
"value": {
"content": "$1",
@@ -1267,14 +1267,14 @@
}
},
"passwordSafe": {
- "message": "Esta palavra-passe não foi encontrada em nenhuma brecha de dados conhecida. Esta deve ser segura de utilizar."
+ "message": "Esta palavra-passe não foi encontrada em nenhuma violação de dados conhecida. A sua utilização deve ser segura."
},
"baseDomain": {
"message": "Domínio base",
"description": "Domain name. Ex. website.com"
},
"domainName": {
- "message": "Nome do Domínio",
+ "message": "Nome do domínio",
"description": "Domain name. Ex. website.com"
},
"host": {
@@ -1334,7 +1334,7 @@
"description": "ex. Date this item was updated"
},
"dateCreated": {
- "message": "Criado",
+ "message": "Criado a",
"description": "ex. Date this item was created"
},
"datePasswordUpdated": {
@@ -1342,7 +1342,7 @@
"description": "ex. Date this password was updated"
},
"neverLockWarning": {
- "message": "Tem a certeza de que pretende utilizar a opção \"Nunca\"? Definir as suas opções de bloqueio para \"Nunca\" armazena a chave de encriptação do seu cofre no seu dispositivo. Se utilizar esta opção deve assegurar-se de que mantém o seu dispositivo devidamente protegido."
+ "message": "Tem a certeza de que deseja utilizar a opção \"Nunca\"? Ao definir as opções de bloqueio para \"Nunca\" armazena a chave de encriptação do seu cofre no seu dispositivo. Se utilizar esta opção deve assegurar-se de que mantém o seu dispositivo devidamente protegido."
},
"noOrganizationsList": {
"message": "Não pertence a nenhuma organização. As organizações permitem-lhe partilhar itens em segurança com outros utilizadores."
@@ -1372,7 +1372,7 @@
"message": "Palavra-passe mestra fraca"
},
"weakMasterPasswordDesc": {
- "message": "A palavra-passe mestra que escolheu é fraca. Deve utilizar uma palavra-passe mestra forte (ou uma frase-passe) para proteger adequadamente a sua conta Bitwarden. Tem a certeza de que pretende utilizar esta palavra-passe mestra?"
+ "message": "A palavra-passe mestra que escolheu é fraca. Deve utilizar uma palavra-passe mestra forte (ou uma frase de acesso) para proteger adequadamente a sua conta Bitwarden. Tem a certeza de que pretende utilizar esta palavra-passe mestra?"
},
"pin": {
"message": "PIN",
@@ -1382,28 +1382,28 @@
"message": "Desbloquear com PIN"
},
"setYourPinCode": {
- "message": "Defina o seu código PIN para desbloquear o Bitwarden. As suas definições PIN serão redefinidas se terminar sessão completamente da aplicação."
+ "message": "Defina o seu código PIN para desbloquear o Bitwarden. As suas definições de PIN serão redefinidas se alguma vez terminar sessão completamente da aplicação."
},
"pinRequired": {
- "message": "O código PIN é requerido."
+ "message": "É necessário o código PIN."
},
"invalidPin": {
"message": "Código PIN inválido."
},
"unlockWithBiometrics": {
- "message": "Desbloquear com biométricos"
+ "message": "Desbloquear com biometria"
},
"awaitDesktop": {
- "message": "A aguardar confirmação do seu computador"
+ "message": "A aguardar confirmação da aplicação para computador"
},
"awaitDesktopDesc": {
- "message": "Por favor, confirme o uso de dados biométricos na aplicação Bitwarden Desktop para habilitar os dados biométricos do navegador."
+ "message": "Por favor, confirme a utilização da biometria na aplicação para computador Bitwarden para configurar a biometria no navegador."
},
"lockWithMasterPassOnRestart": {
- "message": "Bloquear com palavra-passe mestra quando reiniciar o navegador"
+ "message": "Bloquear com a palavra-passe mestra ao reiniciar o navegador"
},
"selectOneCollection": {
- "message": "Tem de selecionar pelo menos uma coleção."
+ "message": "Deve selecionar pelo menos uma coleção."
},
"cloneItem": {
"message": "Clonar item"
@@ -1412,7 +1412,7 @@
"message": "Clonar"
},
"passwordGeneratorPolicyInEffect": {
- "message": "Uma ou mais políticas de organização estão a afetar as suas definições do gerador."
+ "message": "Uma ou mais políticas da organização estão a afetar as suas definições do gerador."
},
"vaultTimeoutAction": {
"message": "Ação de expiração do cofre"
@@ -1426,7 +1426,7 @@
"description": "Noun: a special folder to hold deleted items"
},
"searchTrash": {
- "message": "Pesquisar lixo"
+ "message": "Procurar no lixo"
},
"permanentlyDeleteItem": {
"message": "Eliminar item permanentemente"
@@ -1447,19 +1447,19 @@
"message": "Item restaurado"
},
"vaultTimeoutLogOutConfirmation": {
- "message": "Terminar sessão irá remover todos os acessos ao seu cofre e requer autenticação online após o período de expiração. Tem a certeza de que pretende utilizar esta definição?"
+ "message": "Ao terminar sessão removerá todo o acesso ao seu cofre e requer autenticação online após o período de tempo limite. Tem a certeza de que pretende utilizar esta definição?"
},
"vaultTimeoutLogOutConfirmationTitle": {
"message": "Confirmação de expiração do cofre"
},
"autoFillAndSave": {
- "message": "Auto-preencher e guardar"
+ "message": "Preencher automaticamente e guardar"
},
"autoFillSuccessAndSavedUri": {
- "message": "Item auto-preenchido e URI guardado"
+ "message": "Item preenchido automaticamente e URI guardado"
},
"autoFillSuccess": {
- "message": "Item auto-preenchido"
+ "message": "Item preenchido automaticamente "
},
"insecurePageWarning": {
"message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
@@ -1489,10 +1489,10 @@
"message": "New master password"
},
"confirmNewMasterPass": {
- "message": "Confirm new master password"
+ "message": "Confirmar a nova palavra-passe mestra"
},
"masterPasswordPolicyInEffect": {
- "message": "Uma ou mais políticas da organização requerem que a sua palavra-passe mestra cumpra aos seguintes requisitos:"
+ "message": "Uma ou mais políticas da organização exigem que a sua palavra-passe mestra cumpra os seguintes requisitos:"
},
"policyInEffectMinComplexity": {
"message": "Pontuação mínima de complexidade de $SCORE$",
@@ -1537,34 +1537,34 @@
"message": "Ao marcar esta caixa concorda com o seguinte:"
},
"acceptPoliciesRequired": {
- "message": "Os Termos de Serviço e a Política de Privacidade não foram reconhecidos."
+ "message": "Os Termos de utilização e a Política de privacidade não foram aceites."
},
"termsOfService": {
- "message": "Termos de serviço"
+ "message": "Termos de utilização"
},
"privacyPolicy": {
"message": "Política de privacidade"
},
"hintEqualsPassword": {
- "message": "A dica da sua senha não pode ser igual à senha."
+ "message": "A dica da sua palavra-passe não pode ser igual à sua palavra-passe."
},
"ok": {
"message": "Ok"
},
"desktopSyncVerificationTitle": {
- "message": "Verificação de sincronização do ambiente de trabalho"
+ "message": "Verificação da sincronização da aplicação para computador"
},
"desktopIntegrationVerificationText": {
- "message": "Por favor, verifique se a aplicação no computador mostra esta impressão digital: "
+ "message": "Verifique se a aplicação para computador apresenta esta impressão digital: "
},
"desktopIntegrationDisabledTitle": {
- "message": "Integração com o navegador não está ativada"
+ "message": "A integração do navegador não está configurada"
},
"desktopIntegrationDisabledDesc": {
- "message": "A integração com o navegador não está habilitada no aplicativo Bitwarden Desktop. Por favor, habilite-o nas configurações da aplicação para computador."
+ "message": "A integração do navegador não está configurada na aplicação para computador Bitwarden. Por favor, configure-a nas definições da aplicação para computador."
},
"startDesktopTitle": {
- "message": "Iniciar a aplicação Bitwarden Desktop"
+ "message": "Iniciar a aplicação para computador Bitwarden"
},
"startDesktopDesc": {
"message": "The Bitwarden desktop application needs to be started before unlock with biometrics can be used."
@@ -1633,15 +1633,15 @@
}
},
"send": {
- "message": "Envio",
+ "message": "Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"searchSends": {
- "message": "Pesquisar Envios",
+ "message": "Procurar Sends",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"addSend": {
- "message": "Adicionar Envio",
+ "message": "Adicionar Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendTypeText": {
@@ -1651,24 +1651,24 @@
"message": "Ficheiro"
},
"allSends": {
- "message": "Todos os Envios",
+ "message": "Todos os Sends",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"maxAccessCountReached": {
- "message": "Número de acessos máximo atingido",
+ "message": "Número máximo de acessos atingido",
"description": "This text will be displayed after a Send has been accessed the maximum amount of times."
},
"expired": {
"message": "Expirado"
},
"pendingDeletion": {
- "message": "Remoção pendente"
+ "message": "Eliminação pendente"
},
"passwordProtected": {
- "message": "Protegido por senha"
+ "message": "Protegido por palavra-passe"
},
"copySendLink": {
- "message": "Copiar Send link",
+ "message": "Copiar link do Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"removePassword": {
@@ -1678,40 +1678,40 @@
"message": "Eliminar"
},
"removedPassword": {
- "message": "Senha removida"
+ "message": "Palavra-passe removida"
},
"deletedSend": {
- "message": "Envio eliminado",
+ "message": "Send eliminado",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendLink": {
- "message": "Link de Envio",
+ "message": "Link do Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"disabled": {
- "message": "Desabilitado"
+ "message": "Desativado"
},
"removePasswordConfirmation": {
- "message": "Tem a certeza que pretende remover a senha?"
+ "message": "Tem a certeza de que pretende remover a palavra-passe?"
},
"deleteSend": {
- "message": "Eliminar Envio",
+ "message": "Eliminar Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"deleteSendConfirmation": {
- "message": "Tem a certeza que pretende eliminar este Envio?",
+ "message": "Tem a certeza de que pretende eliminar este Send?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"editSend": {
- "message": "Editar Envio",
+ "message": "Editar Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendTypeHeader": {
- "message": "Que tipo de Envio é este?",
+ "message": "Que tipo de Send é este?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendNameDesc": {
- "message": "Um nome amigável para descrever este Envio.",
+ "message": "Um nome simpático para descrever este Send.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFileDesc": {
@@ -1721,14 +1721,14 @@
"message": "Data de eliminação"
},
"deletionDateDesc": {
- "message": "The Send will be permanently deleted on the specified date and time.",
+ "message": "O Send será permanentemente eliminado na data e hora especificadas.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"expirationDate": {
- "message": "Expiration date"
+ "message": "Data de validade"
},
"expirationDateDesc": {
- "message": "If set, access to this Send will expire on the specified date and time.",
+ "message": "Se definido, o acesso a este Send expirará na data e hora especificadas.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"oneDay": {
@@ -1744,7 +1744,7 @@
}
},
"custom": {
- "message": "Custom"
+ "message": "Personalizado"
},
"maximumAccessCount": {
"message": "Maximum Access Count"
@@ -1815,7 +1815,7 @@
"message": "Antes de começar"
},
"sendFirefoxCustomDatePopoutMessage1": {
- "message": "Para usar um seletor de data no estilo de calendário",
+ "message": "Para utilizar um seletor de datas do tipo calendário,",
"description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**To use a calendar style date picker ** click here to pop out your window.'"
},
"sendFirefoxCustomDatePopoutMessage2": {
@@ -1823,29 +1823,29 @@
"description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker **click here** to pop out your window.'"
},
"sendFirefoxCustomDatePopoutMessage3": {
- "message": "Para abrir em janela.",
+ "message": "para abrir a janela.",
"description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker click here **to pop out your window.**'"
},
"expirationDateIsInvalid": {
- "message": "A data de validade fornecida não é válida."
+ "message": "São necessárias uma data e uma hora de validade."
},
"deletionDateIsInvalid": {
"message": "A data de eliminação fornecida não é válida."
},
"expirationDateAndTimeRequired": {
- "message": "Uma data de validade e uma hora são obrigatórias."
+ "message": "São necessárias uma data e uma hora de validade."
},
"deletionDateAndTimeRequired": {
- "message": "Uma data de eliminação e uma hora são obrigatórias."
+ "message": "São necessárias uma data e uma hora de eliminação."
},
"dateParsingError": {
- "message": "Ocorreu um erro ao guardar a sua exclusão e datas de validade."
+ "message": "Ocorreu um erro ao guardar as suas datas de eliminação e validade."
},
"hideEmail": {
- "message": "Ocultar o meu endereço de correio eletrónico dos destinatários."
+ "message": "Ocultar o meu endereço de e-mail dos destinatários."
},
"sendOptionsPolicyInEffect": {
- "message": "One or more organization policies are affecting your Send options."
+ "message": "Uma ou mais políticas da organização estão a afetar as suas opções do Send."
},
"passwordPrompt": {
"message": "Master password re-prompt"
@@ -1863,25 +1863,25 @@
"message": "You must verify your email to use this feature. You can verify your email in the web vault."
},
"updatedMasterPassword": {
- "message": "Palavra-passe Mestra Atualizada"
+ "message": "Palavra-passe mestra atualizada"
},
"updateMasterPassword": {
- "message": "Atualizar Senha Mestra"
+ "message": "Atualizar palavra-passe mestra"
},
"updateMasterPasswordWarning": {
- "message": "Your master password was recently changed by an administrator in your organization. In order to access the vault, you must update it now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour."
+ "message": "A sua palavra-passe mestra foi recentemente alterada por um administrador da sua organização. Para aceder ao cofre, tem de atualizar a sua palavra-passe mestra agora. Se prosseguir, sairá da sua sessão atual e terá de iniciar sessão novamente. As sessões ativas noutros dispositivos poderão continuar ativas até uma hora."
},
"updateWeakMasterPasswordWarning": {
- "message": "Your master password does not meet one or more of your organization policies. In order to access the vault, you must update your master password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour."
+ "message": "A sua palavra-passe mestra não cumpre uma ou mais políticas da sua organização. Para aceder ao cofre, tem de atualizar a sua palavra-passe mestra agora. Se prosseguir, sairá da sua sessão atual e terá de iniciar sessão novamente. As sessões ativas noutros dispositivos poderão continuar ativas até uma hora."
},
"resetPasswordPolicyAutoEnroll": {
- "message": "Inscrição Automática"
+ "message": "Inscrição automática"
},
"resetPasswordAutoEnrollInviteWarning": {
"message": "This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password."
},
"selectFolder": {
- "message": "Seleccionar pasta..."
+ "message": "Selecionar pasta..."
},
"ssoCompleteRegistration": {
"message": "In order to complete logging in with SSO, please set a master password to access and protect your vault."
@@ -1938,7 +1938,7 @@
"message": "Vault export unavailable"
},
"personalVaultExportPolicyInEffect": {
- "message": "One or more organization policies prevents you from exporting your individual vault."
+ "message": "Uma ou mais políticas da organização impedem-no de exportar o seu cofre pessoal."
},
"copyCustomFieldNameInvalidElement": {
"message": "Unable to identify a valid form element. Try inspecting the HTML instead."
@@ -1956,16 +1956,16 @@
}
},
"leaveOrganization": {
- "message": "Deixar a Organização"
+ "message": "Deixar a organização"
},
"removeMasterPassword": {
- "message": "Remover Senha Mestra"
+ "message": "Remover palavra-passe mestra"
},
"removedMasterPassword": {
- "message": "Senha mestra removida."
+ "message": "Palavra-passe mestra removida"
},
"leaveOrganizationConfirmation": {
- "message": "Tem a certeza de que pretende sair desta organização?"
+ "message": "Tem a certeza de que pretende deixar esta organização?"
},
"leftOrganization": {
"message": "Saiu da organização."
@@ -1977,10 +1977,10 @@
"message": "A sua sessão expirou. Por favor, volte atrás e tente iniciar sessão novamente."
},
"exportingPersonalVaultTitle": {
- "message": "A Exportar Cofre Pessoal"
+ "message": "A exportar o cofre pessoal"
},
"exportingPersonalVaultDescription": {
- "message": "Apenas os itens do cofre pessoal associado ao $EMAIL$ serão exportados. Os itens do cofre da organização não serão incluídos.",
+ "message": "Apenas os itens do cofre pessoal associado a $EMAIL$ serão exportados. Os itens do cofre da organização não serão incluídos.",
"placeholders": {
"email": {
"content": "$1",
@@ -1992,7 +1992,7 @@
"message": "Erro"
},
"regenerateUsername": {
- "message": "Regerar nome de utilizador"
+ "message": "Regenerar nome de utilizador"
},
"generateUsername": {
"message": "Gerar nome de utilizador"
@@ -2017,16 +2017,16 @@
"message": "Aleatório"
},
"randomWord": {
- "message": "Palavra Aleatória"
+ "message": "Palavra aleatória"
},
"websiteName": {
- "message": "Nome do Site"
+ "message": "Nome do site"
},
"whatWouldYouLikeToGenerate": {
- "message": "O que desejaria de gerar?"
+ "message": "O que é que gostaria de gerar?"
},
"passwordType": {
- "message": "Tipo de Palavra-passe"
+ "message": "Tipo de palavra-passe"
},
"service": {
"message": "Serviço"
@@ -2042,7 +2042,7 @@
"description": "Part of a URL."
},
"apiAccessToken": {
- "message": "Token de acesso da API"
+ "message": "Token de acesso à API"
},
"apiKey": {
"message": "Chave da API"
@@ -2051,7 +2051,7 @@
"message": "Key connector error: make sure key connector is available and working correctly."
},
"premiumSubcriptionRequired": {
- "message": "Subscrição premium necessária"
+ "message": "É necessária uma subscrição Premium"
},
"organizationIsDisabled": {
"message": "Organization suspended."
@@ -2114,10 +2114,10 @@
"message": "Utilizador incorreto?"
},
"newAroundHere": {
- "message": "Novo por aqui?"
+ "message": "É novo por cá?"
},
"rememberEmail": {
- "message": "Relembrar e-mail"
+ "message": "Memorizar e-mail"
},
"loginWithDevice": {
"message": "Log in with device"
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Região"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "UE",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "EUA",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json
index bad505607a3..47a684aa1ae 100644
--- a/apps/browser/src/_locales/ro/messages.json
+++ b/apps/browser/src/_locales/ro/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json
index 1b15850d27b..9da7f861dc8 100644
--- a/apps/browser/src/_locales/ru/messages.json
+++ b/apps/browser/src/_locales/ru/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Регион"
+ },
"opensInANewWindow": {
"message": "Откроется в новом окне"
+ },
+ "eu": {
+ "message": "Европа",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "США",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json
index 9b917a74dbb..94baba9b6da 100644
--- a/apps/browser/src/_locales/si/messages.json
+++ b/apps/browser/src/_locales/si/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json
index 147fe0bbd40..2fa04daf3df 100644
--- a/apps/browser/src/_locales/sk/messages.json
+++ b/apps/browser/src/_locales/sk/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Región"
+ },
"opensInANewWindow": {
"message": "Otvárať v novom okne"
+ },
+ "eu": {
+ "message": "EÚ",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "USA",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json
index 5dc4a59ff0d..53c32c686c5 100644
--- a/apps/browser/src/_locales/sl/messages.json
+++ b/apps/browser/src/_locales/sl/messages.json
@@ -11,7 +11,7 @@
"description": "Extension description"
},
"loginOrCreateNewAccount": {
- "message": "Prijavite se ali ustvarite nov račun za dostop do vašega varnega trezorja."
+ "message": "Prijavite se ali ustvarite nov račun za dostop do svojega varnega trezorja."
},
"createAccount": {
"message": "Ustvari račun"
@@ -38,10 +38,10 @@
"message": "Glavno geslo"
},
"masterPassDesc": {
- "message": "Glavno geslo je geslo, ki ga uporabljate za dostop do vašega trezorja. Zelo pomembno je, da ne pozabite vaše glavno geslo. Gesla ni mogoče obnoviti v primeru, če ga pozabite."
+ "message": "Glavno geslo je geslo, ki ga uporabljate za dostop do svojega trezorja. Zelo pomembno je, da ga ne pozabite. Če pozabite glavno geslo, ga ne bo mogoče obnoviti."
},
"masterPassHintDesc": {
- "message": "Namig glavnega gesla vam lahko pomaga, da se spomnite vašega gesla, če ga pozabite."
+ "message": "Če pozabite glavno geslo, boste prejeli ta namig, da bi se gesla laže spomnili."
},
"reTypeMasterPass": {
"message": "Ponovno vnesite glavno geslo"
@@ -519,10 +519,10 @@
"message": "Mapa izbrisana"
},
"gettingStartedTutorial": {
- "message": "Getting started tutorial"
+ "message": "Vodič za začetnike"
},
"gettingStartedTutorialVideo": {
- "message": "Watch our getting started tutorial to learn how to get the most out of the browser extension."
+ "message": "Naš vodič za začtenike vam pokaže, kako najbolje izkoristiti Bitwardnovo razširitev za brskalnik."
},
"syncingComplete": {
"message": "Sinhronizacija končana"
@@ -634,7 +634,7 @@
"message": "Prikaži možnosti kontekstnega menuja"
},
"contextMenuItemDesc": {
- "message": "Use a secondary click to access password generation and matching logins for the website. "
+ "message": "Z desnim klikom se vam prikažejo možnosti generiranja gesel in shranjenih prijav za spletno stran, na kateri ste."
},
"defaultUriMatchDetection": {
"message": "Privzet način preverjanja ujemanja URI-ja",
@@ -678,13 +678,13 @@
"message": "Ta datoteka z izvoženimi podatki vsebuje podatke iz vašega trezorja v nešifrirani obliki. Ne shranjujte in ne pošiljajte je po nezavarovanih kanalih, kot je elektronska pošta. Po uporabi jo takoj izbrišite."
},
"encExportKeyWarningDesc": {
- "message": "Ta izvoz šifrira vaše podatke z uporabo ključa za šifriranje. Če boste kdaj zamenjali ključ za šifriranje, je potrebno, da ponovno naredite izvoz, ker ne boste mogli dešifrirati to izvoženo datoteko."
+ "message": "Ta izvoz šifrira vaše podatke z uporabo ključa za šifriranje. Če boste kdaj zamenjali ključ za šifriranje, boste morali podatke izvoziti ponovno, saj pričujočega izvoza ne boste mogli več dešifrirati."
},
"encExportAccountWarningDesc": {
"message": "Ključ za šifriranje je edinstven za vsak Bitwarden račun, zato ni mogoče da se uvozi šifrirana datoteka v drugi račun."
},
"exportMasterPassword": {
- "message": "Vnesite vaše glavno geslo za izvoz podatkov iz vašega trezorja."
+ "message": "Za izvoz podatkov iz trezorja vnesite svoje glavno geslo."
},
"shared": {
"message": "V skupni rabi"
@@ -763,7 +763,7 @@
"message": "Funkcija ni na voljo."
},
"updateKey": {
- "message": "Ne morete koristiti to funkcijo dokler ne posodobite vaš ključ za šifriranje."
+ "message": "To funkcijo lahko uporabite šele, ko posodobite svoj šifrirni ključ."
},
"premiumMembership": {
"message": "Premium članstvo"
@@ -832,7 +832,7 @@
"message": "Če za prijavo uporabljate avtentikacijski ključ, se verifikacijska koda TOTP samodejno kopira v odložišče, kadar uporabite samodejno izpolnjevanje."
},
"enableAutoBiometricsPrompt": {
- "message": "Ask for biometrics on launch"
+ "message": "Ob zagonu zahtevaj biometrično preverjanje"
},
"premiumRequired": {
"message": "Potrebno je premium članstvo"
@@ -841,7 +841,7 @@
"message": "Premium članstvo je potrebno za uporabo te funkcije."
},
"enterVerificationCodeApp": {
- "message": "Vnesite 6-mestno verifikacijsko kodo iz vaše verifikacijske aplikacije."
+ "message": "Vnesite 6-mestno verifikacijsko kodo iz svoje aplikacije za avtentikacijo."
},
"enterVerificationCodeEmail": {
"message": "Vnesite 6-mestno verifikacijsko kodo, ki vam je bila poslana na $EMAIL$.",
@@ -853,7 +853,7 @@
}
},
"verificationCodeEmailSent": {
- "message": "Verification email sent to $EMAIL$.",
+ "message": "Potrditveno sporočilo poslano na $EMAIL$.",
"placeholders": {
"email": {
"content": "$1",
@@ -892,13 +892,13 @@
"message": "Ta račun ima omogočemo prijavo v dveh korakih, ampak, nobena izmed konfiguriranih prijav v dveh korakih ni podprta v teb spletnem brskalniku."
},
"noTwoStepProviders2": {
- "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)."
+ "message": "Uporabite enega izmed podprtih spletnih brskalnikov (npr. Chrome) in/ali dodajte ponudnika, ki je bolje podprt na različnih brskalnikih (npr. aplikacija za avtentikacijo)."
},
"twoStepOptions": {
"message": "Možnosti dvostopenjske prijave"
},
"recoveryCodeDesc": {
- "message": "Ste izgubili dostop do vseh vaših ponudnikov dvostopenjske prijave? Uporabite svojo kodo za obnovitev in tako onemogočite dvostopenjsko prijavo v svoj račun."
+ "message": "Ste izgubili dostop do vseh ponudnikov dvostopenjske prijave? Uporabite svojo kodo za obnovitev in tako onemogočite dvostopenjsko prijavo v svoj račun."
},
"recoveryCodeTitle": {
"message": "Koda za obnovitev"
@@ -907,14 +907,14 @@
"message": "Aplikacija za avtentikacijo"
},
"authenticatorAppDesc": {
- "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.",
+ "message": "Uporabite aplikacijo za avtentikacijo (npr. Authy ali Google Authenticator), ki za vas ustvarja časovno spremenljive kode.",
"description": "'Authy' and 'Google Authenticator' are product names and should not be translated."
},
"yubiKeyTitle": {
- "message": "YubiKey OTP Security Key"
+ "message": "Varnostni ključ YubiKey za enkratna gesla"
},
"yubiKeyDesc": {
- "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices."
+ "message": "Za dostop do svojega računa uporabite YubiKey. Podprti so YubiKey 4, 4 Nano, 4C in naprave NEO."
},
"duoDesc": {
"message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.",
@@ -1030,7 +1030,7 @@
"message": "Novo polje po meri"
},
"dragToSort": {
- "message": "Drag to sort"
+ "message": "Sortirajte z vlečenjem"
},
"cfTypeText": {
"message": "Besedilo"
@@ -1050,7 +1050,7 @@
"description": "This describes a value that is 'linked' (tied) to another value."
},
"popup2faCloseMessage": {
- "message": "Če kliknete izven pojavnega okna, da preverite vašo epošto za vašo verifikacijsko kodo, bo to povročilo, da se je pojavno okno zapre. Želite odpreti to pojavno okno v novem oknu, tako, da se ne bo zaprlo?"
+ "message": "Če kliknete izven tega pojavnega okna, da bi preverili pošto, se to pojavno okno zaprlo. Želite odpreti to pojavno okno v novem oknu, da se ne bo zaprlo?"
},
"popupU2fCloseMessage": {
"message": "Ta spletni brskalnik ne more obdelati U2F zahteve v tem pojavnem oknu. Želite odpreti to pojavno okno v novem oknu, tako, da se lahko prijavite z U2F?"
@@ -1143,7 +1143,7 @@
"message": "Dr."
},
"mx": {
- "message": "Mx"
+ "message": "Gx"
},
"firstName": {
"message": "Ime"
@@ -1531,13 +1531,13 @@
}
},
"masterPasswordPolicyRequirementsNotMet": {
- "message": "Your new master password does not meet the policy requirements."
+ "message": "Vaše novo glavno geslo ne ustreza zahtevam."
},
"acceptPolicies": {
- "message": "By checking this box you agree to the following:"
+ "message": "Strinjam se z naslednjim:"
},
"acceptPoliciesRequired": {
- "message": "Terms of Service and Privacy Policy have not been acknowledged."
+ "message": "Niste sprejeli Pogojev uporabe in Pravilnika o zasebnosti."
},
"termsOfService": {
"message": "Pogoji uporabe"
@@ -1546,7 +1546,7 @@
"message": "Pravilnik o zasebnosti"
},
"hintEqualsPassword": {
- "message": "Your password hint cannot be the same as your password."
+ "message": "Namig za geslo ne sme biti enak geslu."
},
"ok": {
"message": "V redu"
@@ -1600,13 +1600,13 @@
"message": "Browser biometrics is not supported on this device."
},
"nativeMessaginPermissionErrorTitle": {
- "message": "Permission not provided"
+ "message": "Dovoljenje manjka"
},
"nativeMessaginPermissionErrorDesc": {
- "message": "Without permission to communicate with the Bitwarden Desktop Application we cannot provide biometrics in the browser extension. Please try again."
+ "message": "Brez dovoljenja za komunikacijo z Bitwardnovo namizno aplikacijo ni mogoče uporabljati bimetričnega preverjanja v razširitvi brskalnika. Prosimo, poskusite ponovno."
},
"nativeMessaginPermissionSidebarTitle": {
- "message": "Permission request error"
+ "message": "Napaka pri zahtevku za dovoljenje"
},
"nativeMessaginPermissionSidebarDesc": {
"message": "This action cannot be done in the sidebar, please retry the action in the popup or popout."
@@ -1672,13 +1672,13 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"removePassword": {
- "message": "Remove Password"
+ "message": "Odstrani geslo"
},
"delete": {
"message": "Izbriši"
},
"removedPassword": {
- "message": "Password removed"
+ "message": "Geslo odstranjeno"
},
"deletedSend": {
"message": "Pošiljka izbrisana",
@@ -1692,7 +1692,7 @@
"message": "Onemogočeno"
},
"removePasswordConfirmation": {
- "message": "Are you sure you want to remove the password?"
+ "message": "Ste prepričani, da želite odstraniti geslo?"
},
"deleteSend": {
"message": "Izbriši pošiljko",
@@ -1718,14 +1718,14 @@
"message": "Datoteka, ki jo želite poslati"
},
"deletionDate": {
- "message": "Deletion date"
+ "message": "Datum izbrisa"
},
"deletionDateDesc": {
"message": "Pošiljka bo trajno izbrisana ob izbranem času.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"expirationDate": {
- "message": "Expiration date"
+ "message": "Datum poteka"
},
"expirationDateDesc": {
"message": "Če to nastavite, bo pošiljka potekla ob izbranem času.",
@@ -1747,7 +1747,7 @@
"message": "Po meri"
},
"maximumAccessCount": {
- "message": "Maximum Access Count"
+ "message": "Največje dovoljeno število dostopov"
},
"maximumAccessCountDesc": {
"message": "Če to nastavite, uporabniki po določenem številu dostopov ne bodo mogli več dostopati do pošiljke.",
@@ -1777,14 +1777,14 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"currentAccessCount": {
- "message": "Current access count"
+ "message": "Trenutno število dstopov"
},
"createSend": {
"message": "Nova pošiljka",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"newPassword": {
- "message": "New password"
+ "message": "Novo geslo"
},
"sendDisabled": {
"message": "Pošiljka odstranjena",
@@ -1812,37 +1812,37 @@
"message": "In order to choose a file using Safari, pop out to a new window by clicking this banner."
},
"sendFileCalloutHeader": {
- "message": "Before you start"
+ "message": "Preden pričnete"
},
"sendFirefoxCustomDatePopoutMessage1": {
- "message": "To use a calendar style date picker",
+ "message": "Za vnos datuma s pomočjo koledarčka",
"description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**To use a calendar style date picker ** click here to pop out your window.'"
},
"sendFirefoxCustomDatePopoutMessage2": {
- "message": "click here",
+ "message": "kliknite tukaj",
"description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker **click here** to pop out your window.'"
},
"sendFirefoxCustomDatePopoutMessage3": {
- "message": "to pop out your window.",
+ "message": "za prikaz v lastnem oknu.",
"description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker click here **to pop out your window.**'"
},
"expirationDateIsInvalid": {
- "message": "The expiration date provided is not valid."
+ "message": "Datum poteka ni veljaven."
},
"deletionDateIsInvalid": {
- "message": "The deletion date provided is not valid."
+ "message": "Datum izbrisa ni veljaven."
},
"expirationDateAndTimeRequired": {
- "message": "An expiration date and time are required."
+ "message": "Datum in čas poteka sta obvezna."
},
"deletionDateAndTimeRequired": {
- "message": "A deletion date and time are required."
+ "message": "Datum in čas izbrisa sta obvezna."
},
"dateParsingError": {
- "message": "There was an error saving your deletion and expiration dates."
+ "message": "Pri shranjevanju datumov poteka in izbrisa je prišlo do napake."
},
"hideEmail": {
- "message": "Hide my email address from recipients."
+ "message": "Skrij moj e-naslov pred prejemniki."
},
"sendOptionsPolicyInEffect": {
"message": "Nekatere nastavitve organizacije vplivajo na možnosti, ki jih imate v zvezi s pošiljkami."
@@ -1851,19 +1851,19 @@
"message": "Ponovno zahtevaj glavno geslo"
},
"passwordConfirmation": {
- "message": "Master password confirmation"
+ "message": "Potrditev glavnega gesla"
},
"passwordConfirmationDesc": {
- "message": "This action is protected. To continue, please re-enter your master password to verify your identity."
+ "message": "To dejanje je zaščiteno. Za nadaljevanje vpišite svoje glavno geslo, da potrdite svojo istovetnost."
},
"emailVerificationRequired": {
- "message": "Email verification required"
+ "message": "Potrebna je potrditev e-naslova"
},
"emailVerificationRequiredDesc": {
- "message": "You must verify your email to use this feature. You can verify your email in the web vault."
+ "message": "Za uporabo te funkcionalnosti morate potrditi svoj e-naslov. To lahko storite v spletnem trezorju."
},
"updatedMasterPassword": {
- "message": "Updated master password"
+ "message": "Posodobi glavno geslo"
},
"updateMasterPassword": {
"message": "Spremeni glavno geslo"
@@ -2180,7 +2180,7 @@
"message": "Kako uporabljati samodejno izpolnjevanje"
},
"autofillSelectInfoWithCommand": {
- "message": "Izberite element na tej strani ali pa uporabite bližnjico $COMMAND$",
+ "message": "Izberite element na tej strani ali pa uporabite bližnjico $COMMAND$.",
"placeholders": {
"command": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Odpre se v novem oknu"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json
index a0368285da5..952ae901451 100644
--- a/apps/browser/src/_locales/sr/messages.json
+++ b/apps/browser/src/_locales/sr/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Регион"
+ },
"opensInANewWindow": {
"message": "Отвара се у новом прозору"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json
index 7ec91045e5b..79afc8729d5 100644
--- a/apps/browser/src/_locales/sv/messages.json
+++ b/apps/browser/src/_locales/sv/messages.json
@@ -1462,16 +1462,16 @@
"message": "Fyllde i objektet automatiskt"
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "Varning: Detta är en icke säkrad HTTP-sida, och all information du skickar kan potentiellt ses och ändras av andra. Denna inloggning sparades ursprungligen på en säker (HTTPS) sida."
},
"insecurePageWarningFillPrompt": {
- "message": "Do you still wish to fill this login?"
+ "message": "Vill du fortfarande fylla i denna inloggning?"
},
"autofillIframeWarning": {
"message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to auto-fill anyway, or Cancel to stop."
},
"autofillIframeWarningTip": {
- "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
+ "message": "För att förhindra denna varning i framtiden, spara denna URI, $HOSTNAME$, till ditt Bitwarden inloggningsobjekt för denna webbplats.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Öppnas i ett nytt fönster"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json
index 0a69b948876..69d26333a84 100644
--- a/apps/browser/src/_locales/te/messages.json
+++ b/apps/browser/src/_locales/te/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json
index 6a355591f6b..1e43987ab06 100644
--- a/apps/browser/src/_locales/th/messages.json
+++ b/apps/browser/src/_locales/th/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json
index 73949dbbfdf..cdc8e109fe4 100644
--- a/apps/browser/src/_locales/tr/messages.json
+++ b/apps/browser/src/_locales/tr/messages.json
@@ -1462,16 +1462,16 @@
"message": "Kayıt otomatik dolduruldu "
},
"insecurePageWarning": {
- "message": "Uyarı: Bu güvenli olmayan bir HTTP sayfasıdır ve gönderdiğiniz herhangi bir bilgi potansiyel olarak başkaları tarafından görülebilir ve değiştirilebilir. Bu Oturum Açma orijinal olarak güvenli (HTTPS) bir sayfaya kaydedilmiştir."
+ "message": "Uyarı: Güvenli olmayan bir HTTP sayfasındasınız. Gönderdiğiniz bilgiler potansiyel olarak başkaları tarafından görülebilir ve değiştirilebilir. Bu hesabı güvenli (HTTPS) bir sayfa üzerinden kaydetmiştiniz."
},
"insecurePageWarningFillPrompt": {
- "message": "Hala bu girişi doldurmak istiyor musunuz?"
+ "message": "Yine de bu hesabı doldurmak istiyor musunuz?"
},
"autofillIframeWarning": {
- "message": "Form, kayıtlı girişinizin URI'sinden farklı bir etki alanı tarafından barındırılıyor. Yine de otomatik doldurmak için Tamam'ı veya durdurmak için İptal'i seçin."
+ "message": "Bu form, kayıtlı hesabınızın URI'sinden farklı bir alan adında yer alıyor. Yine de otomatik doldurmak isterseniz \"Tamam\"ı, durdurmak için \"İptal\"i seçin."
},
"autofillIframeWarningTip": {
- "message": "Gelecekte bu uyarıyı önlemek için $HOSTNAME$ URI'sini bu site için Bitwarden oturum açma öğenize kaydedin.",
+ "message": "İleride bu uyarıyı görmek istemiyorsanız bu siteye ait Bitwarden hesap kaydınıza $HOSTNAME$ URI'sini ekleyin.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Bölge"
+ },
"opensInANewWindow": {
"message": "Yeni pencerede açılır"
+ },
+ "eu": {
+ "message": "AB",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "ABD",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json
index f1ae0588cf3..1969bc33624 100644
--- a/apps/browser/src/_locales/uk/messages.json
+++ b/apps/browser/src/_locales/uk/messages.json
@@ -1462,16 +1462,16 @@
"message": "Запис заповнено"
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "Попередження: це незахищена сторінка HTTP, тому будь-яка інформація, яку ви передаєте, потенційно може бути переглянута чи змінена сторонніми. Ці облікові дані було збережено на безпечній сторінці (HTTPS)."
},
"insecurePageWarningFillPrompt": {
- "message": "Do you still wish to fill this login?"
+ "message": "Ви все ще бажаєте заповнити поля для входу?"
},
"autofillIframeWarning": {
- "message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to auto-fill anyway, or Cancel to stop."
+ "message": "Домен форми входу відрізняється від URL-адреси, за якою його було збережено. Оберіть OK, якщо ви все одно хочете її заповнити, або Скасувати для зупинки."
},
"autofillIframeWarningTip": {
- "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
+ "message": "Щоб надалі не бачити таке попередження, збережіть цей URI, $HOSTNAME$ у записі входу Bitwarden для цього сайту.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Регіон"
+ },
"opensInANewWindow": {
- "message": "Opens in a new window"
+ "message": "Відкривається у новому вікні"
+ },
+ "eu": {
+ "message": "ЄС",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "США",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json
index f7aea9e1518..fee4c66f3a9 100644
--- a/apps/browser/src/_locales/vi/messages.json
+++ b/apps/browser/src/_locales/vi/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json
index 0f7d9870e17..2275865d060 100644
--- a/apps/browser/src/_locales/zh_CN/messages.json
+++ b/apps/browser/src/_locales/zh_CN/messages.json
@@ -1462,7 +1462,7 @@
"message": "项目已自动填充 "
},
"insecurePageWarning": {
- "message": "警告:这是一个不安全的 HTTP 页面,您提交的任何信息都可能被其他人看到和更改。此登录最初保存在安全 (HTTPS) 页面上。"
+ "message": "警告:这是一个不安全的 HTTP 页面,您提交的任何信息都可能被其他人看到和更改。此登录信息最初保存在安全 (HTTPS) 页面上。"
},
"insecurePageWarningFillPrompt": {
"message": "您仍然想要填充此登录信息吗?"
@@ -1471,7 +1471,7 @@
"message": "该表单由不同于您保存的登录的 URI 域名托管。选择「确定」以自动填充,或选择「取消」停止填充。"
},
"autofillIframeWarningTip": {
- "message": "要防止以后再次出现此警告,请将此站点的 URI $HOSTNAME$ 保存到您的 Bitwarden 登录项目中。",
+ "message": "要防止以后出现此警告,请将此站点的 URI $HOSTNAME$ 保存到您的 Bitwarden 登录项目中。",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "区域"
+ },
"opensInANewWindow": {
"message": "在新窗口中打开"
+ },
+ "eu": {
+ "message": "欧盟",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "美国",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json
index 83bd8bd8e38..42e082f136b 100644
--- a/apps/browser/src/_locales/zh_TW/messages.json
+++ b/apps/browser/src/_locales/zh_TW/messages.json
@@ -2221,7 +2221,18 @@
}
}
},
+ "region": {
+ "message": "Region"
+ },
"opensInANewWindow": {
"message": "Opens in a new window"
+ },
+ "eu": {
+ "message": "EU",
+ "description": "European Union"
+ },
+ "us": {
+ "message": "US",
+ "description": "United States"
}
}
diff --git a/apps/browser/src/auth/popup/environment.component.ts b/apps/browser/src/auth/popup/environment.component.ts
index 3b58ccfa1d5..5ad42a600c7 100644
--- a/apps/browser/src/auth/popup/environment.component.ts
+++ b/apps/browser/src/auth/popup/environment.component.ts
@@ -2,6 +2,7 @@ import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { EnvironmentComponent as BaseEnvironmentComponent } from "@bitwarden/angular/components/environment.component";
+import { ModalService } from "@bitwarden/angular/services/modal.service";
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service";
@@ -18,9 +19,10 @@ export class EnvironmentComponent extends BaseEnvironmentComponent implements On
platformUtilsService: PlatformUtilsService,
public environmentService: BrowserEnvironmentService,
i18nService: I18nService,
- private router: Router
+ private router: Router,
+ modalService: ModalService
) {
- super(platformUtilsService, environmentService, i18nService);
+ super(platformUtilsService, environmentService, i18nService, modalService);
this.showCustom = true;
}
diff --git a/apps/browser/src/auth/popup/home.component.html b/apps/browser/src/auth/popup/home.component.html
index fb51458c136..da208a8d50c 100644
--- a/apps/browser/src/auth/popup/home.component.html
+++ b/apps/browser/src/auth/popup/home.component.html
@@ -9,9 +9,7 @@
-
{{ "twoStepOptions" | i18n }}
diff --git a/apps/browser/src/auth/popup/two-factor-options.component.ts b/apps/browser/src/auth/popup/two-factor-options.component.ts
index 6aa8109f05b..b0aced9dd9d 100644
--- a/apps/browser/src/auth/popup/two-factor-options.component.ts
+++ b/apps/browser/src/auth/popup/two-factor-options.component.ts
@@ -1,5 +1,5 @@
import { Component } from "@angular/core";
-import { Router } from "@angular/router";
+import { ActivatedRoute, Router } from "@angular/router";
import { TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent } from "@bitwarden/angular/auth/components/two-factor-options.component";
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
@@ -15,14 +15,33 @@ export class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {
twoFactorService: TwoFactorService,
router: Router,
i18nService: I18nService,
- platformUtilsService: PlatformUtilsService
+ platformUtilsService: PlatformUtilsService,
+ private activatedRoute: ActivatedRoute
) {
super(twoFactorService, router, i18nService, platformUtilsService, window);
}
+ close() {
+ this.navigateTo2FA();
+ }
+
choose(p: any) {
super.choose(p);
this.twoFactorService.setSelectedProvider(p.type);
- this.router.navigate(["2fa"]);
+
+ this.navigateTo2FA();
+ }
+
+ navigateTo2FA() {
+ const sso = this.activatedRoute.snapshot.queryParamMap.get("sso") === "true";
+
+ if (sso) {
+ // Persist SSO flag back to the 2FA comp if it exists
+ // in order for successful login logic to work properly for
+ // SSO + 2FA in browser extension
+ this.router.navigate(["2fa"], { queryParams: { sso: true } });
+ } else {
+ this.router.navigate(["2fa"]);
+ }
}
}
diff --git a/apps/browser/src/auth/popup/two-factor.component.ts b/apps/browser/src/auth/popup/two-factor.component.ts
index 678675ba389..e6652e7ba32 100644
--- a/apps/browser/src/auth/popup/two-factor.component.ts
+++ b/apps/browser/src/auth/popup/two-factor.component.ts
@@ -118,10 +118,20 @@ export class TwoFactorComponent extends BaseTwoFactorComponent {
this.route.queryParams.pipe(first()).subscribe(async (qParams) => {
if (qParams.sso === "true") {
super.onSuccessfulLogin = () => {
- BrowserApi.reloadOpenWindows();
- const thisWindow = window.open("", "_self");
- thisWindow.close();
- return this.syncService.fullSync(true);
+ // This is not awaited so we don't pause the application while the sync is happening.
+ // This call is executed by the service that lives in the background script so it will continue
+ // the sync even if this tab closes.
+ const syncPromise = this.syncService.fullSync(true);
+
+ // Force sidebars (FF && Opera) to reload while exempting current window
+ // because we are just going to close the current window.
+ BrowserApi.reloadOpenWindows(true);
+
+ // We don't need this window anymore because the intent is for the user to be left
+ // on the web vault screen which tells them to continue in the browser extension (sidebar or popup)
+ BrowserApi.closeBitwardenExtensionTab();
+
+ return syncPromise;
};
}
});
@@ -137,7 +147,15 @@ export class TwoFactorComponent extends BaseTwoFactorComponent {
}
anotherMethod() {
- this.router.navigate(["2fa-options"]);
+ const sso = this.route.snapshot.queryParamMap.get("sso") === "true";
+
+ if (sso) {
+ // We must persist this so when the user returns to the 2FA comp, the
+ // proper onSuccessfulLogin logic is executed.
+ this.router.navigate(["2fa-options"], { queryParams: { sso: true } });
+ } else {
+ this.router.navigate(["2fa-options"]);
+ }
}
async isLinux() {
diff --git a/apps/browser/src/autofill/content/autofill.js b/apps/browser/src/autofill/content/autofill.js
index 661eb8e2528..052fd1120fe 100644
--- a/apps/browser/src/autofill/content/autofill.js
+++ b/apps/browser/src/autofill/content/autofill.js
@@ -676,7 +676,7 @@
var els = [];
try {
var elsList = theDoc.querySelectorAll('input:not([type="hidden"]):not([type="submit"]):not([type="reset"])' +
- ':not([type="button"]):not([type="image"]):not([type="file"]):not([data-bwignore]), select, ' +
+ ':not([type="button"]):not([type="image"]):not([type="file"]):not([data-bwignore]), select, textarea, ' +
'span[data-bwautofill]');
els = Array.prototype.slice.call(elsList);
} catch (e) { }
@@ -1177,7 +1177,7 @@
}
try {
// START MODIFICATION
- var elements = Array.prototype.slice.call(selectAllFromDoc('input, select, button, ' +
+ var elements = Array.prototype.slice.call(selectAllFromDoc('input, select, button, textarea, ' +
'span[data-bwautofill]'));
// END MODIFICATION
var filteredElements = elements.filter(function (o) {
diff --git a/apps/browser/src/autofill/content/autofillv2.ts b/apps/browser/src/autofill/content/autofillv2.ts
new file mode 100644
index 00000000000..8bf16ff879c
--- /dev/null
+++ b/apps/browser/src/autofill/content/autofillv2.ts
@@ -0,0 +1,1391 @@
+/* eslint-disable no-var, no-console, no-prototype-builtins */
+// These eslint rules are disabled because the original JS was not written with them in mind and we don't want to fix
+// them all now
+
+/*
+ 1Password Extension
+
+ Lovingly handcrafted by Dave Teare, Michael Fey, Rad Azzouz, and Roustem Karimov.
+ Copyright (c) 2014 AgileBits. All rights reserved.
+
+ ================================================================================
+
+ Copyright (c) 2014 AgileBits Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+ */
+
+/*
+ MODIFICATIONS FROM ORIGINAL
+
+ 1. Populate isFirefox
+ 2. Remove isChrome and isSafari since they are not used.
+ 3. Unminify and format to meet Mozilla review requirements.
+ 4. Remove unnecessary input types from getFormElements query selector and limit number of elements returned.
+ 5. Remove fakeTested prop.
+ 6. Rename com.agilebits.* stuff to com.bitwarden.*
+ 7. Remove "some useful globals" on window
+ 8. Add ability to autofill span[data-bwautofill] elements
+ 9. Add new handler, for new command that responds with page details in response callback
+ 10. Handle sandbox iframe and sandbox rule in CSP
+ 11. Work on array of saved urls instead of just one to determine if we should autofill non-https sites
+ 12. Remove setting of attribute com.browser.browser.userEdited on user-inputs
+ 13. Handle null value URLs in urlNotSecure
+ 14. Convert to Typescript, add typings and remove dead code (not marked with START/END MODIFICATION)
+ */
+import AutofillForm from "../models/autofill-form";
+import AutofillPageDetails from "../models/autofill-page-details";
+import AutofillScript, {
+ AutofillScriptOptions,
+ FillScript,
+ FillScriptOp,
+} from "../models/autofill-script";
+
+/**
+ * The Document with additional custom properties added by this script
+ */
+type AutofillDocument = Document & {
+ elementsByOPID: Record;
+ elementForOPID: (opId: string) => Element;
+};
+
+/**
+ * A HTMLElement (usually a form element) with additional custom properties added by this script
+ */
+type ElementWithOpId = T & {
+ opid: string;
+};
+
+/**
+ * This script's definition of a Form Element (only a subset of HTML form elements)
+ * This is defined by getFormElements
+ */
+type FormElement = HTMLInputElement | HTMLSelectElement | HTMLSpanElement;
+
+/**
+ * A Form Element that we can set a value on (fill)
+ */
+type FillableControl = HTMLInputElement | HTMLSelectElement;
+
+function collect(document: Document) {
+ // START MODIFICATION
+ var isFirefox =
+ navigator.userAgent.indexOf("Firefox") !== -1 || navigator.userAgent.indexOf("Gecko/") !== -1;
+ // END MODIFICATION
+
+ (document as AutofillDocument).elementsByOPID = {};
+
+ function getPageDetails(theDoc: Document, oneShotId: string) {
+ // start helpers
+
+ /**
+ * For a given element `el`, returns the value of the attribute `attrName`.
+ * @param {HTMLElement} el
+ * @param {string} attrName
+ * @returns {string} The value of the attribute
+ */
+ function getElementAttrValue(el: any, attrName: string) {
+ var attrVal = el[attrName];
+ if ("string" == typeof attrVal) {
+ return attrVal;
+ }
+ attrVal = el.getAttribute(attrName);
+ return "string" == typeof attrVal ? attrVal : null;
+ }
+
+ /**
+ * Returns the value of the given element.
+ * @param {HTMLElement} el
+ * @returns {any} Value of the element
+ */
+ function getElementValue(el: any) {
+ switch (toLowerString(el.type)) {
+ case "checkbox":
+ return el.checked ? "✓" : "";
+
+ case "hidden":
+ el = el.value;
+ if (!el || "number" != typeof el.length) {
+ return "";
+ }
+ 254 < el.length && (el = el.substr(0, 254) + "...SNIPPED");
+ return el;
+
+ default:
+ // START MODIFICATION
+ if (!el.type && el.tagName.toLowerCase() === "span") {
+ return el.innerText;
+ }
+ // END MODIFICATION
+ return el.value;
+ }
+ }
+
+ /**
+ * If `el` is a `