diff --git a/.github/renovate.json5 b/.github/renovate.json5 index d0066ddd7ba..12ae415c6a1 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -51,6 +51,12 @@ commitMessagePrefix: "[deps] BRE:", addLabels: ["hold"], }, + { + // Enable support for Rust toolchain updates. + matchManagers: ["custom.regex"], + matchDepNames: ["rust"], + commitMessageTopic: "Rust", + }, { // By default, we send patch updates to the Dependency Dashboard and do not generate a PR. // We want to generate PRs for a select number of dependencies to ensure we stay up to date on these. diff --git a/.github/workflows/build-desktop.yml b/.github/workflows/build-desktop.yml index 86dc74f7351..fab0df693cb 100644 --- a/.github/workflows/build-desktop.yml +++ b/.github/workflows/build-desktop.yml @@ -428,12 +428,6 @@ jobs: - name: Set up environmentF run: choco install checksum --no-progress - - name: Rust - shell: pwsh - run: | - rustup target install i686-pc-windows-msvc - rustup target install aarch64-pc-windows-msvc - - name: Print environment run: | node --version @@ -681,10 +675,6 @@ jobs: - name: Set up Node-gyp run: python3 -m pip install setuptools - - name: Rust - shell: pwsh - run: rustup target install aarch64-apple-darwin - - name: Print environment run: | node --version @@ -890,10 +880,6 @@ jobs: - name: Set up Node-gyp run: python3 -m pip install setuptools - - name: Rust - shell: pwsh - run: rustup target install aarch64-apple-darwin - - name: Print environment run: | node --version @@ -1040,9 +1026,7 @@ jobs: - name: Build Native Module if: steps.cache.outputs.cache-hit != 'true' working-directory: apps/desktop/desktop_native - run: | - rustup target add aarch64-apple-darwin - node build.js cross-platform + run: node build.js cross-platform - name: Build if: steps.build-cache.outputs.cache-hit != 'true' @@ -1139,10 +1123,6 @@ jobs: - name: Set up Node-gyp run: python3 -m pip install setuptools - - name: Rust - shell: pwsh - run: rustup target install aarch64-apple-darwin - - name: Print environment run: | node --version @@ -1296,9 +1276,7 @@ jobs: - name: Build Native Module if: steps.cache.outputs.cache-hit != 'true' working-directory: apps/desktop/desktop_native - run: | - rustup target add aarch64-apple-darwin - node build.js cross-platform + run: node build.js cross-platform - name: Build if: steps.build-cache.outputs.cache-hit != 'true' diff --git a/angular.json b/angular.json index 665d810cf4e..87ee7dc57b2 100644 --- a/angular.json +++ b/angular.json @@ -6,6 +6,32 @@ "analytics": false }, "projects": { + "bit-web": { + "projectType": "application", + "schematics": { + "@schematics/angular:application": { + "strict": true + } + }, + "root": "bitwarden_license/bit-web", + "sourceRoot": "bitwarden_license/bit-web/src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/web", + "index": "apps/web/src/index.html", + "main": "bitwarden_license/bit-web/src/app/main.ts", + "polyfills": "apps/web/src/polyfills.ts", + "tsConfig": "bitwarden_license/bit-web/tsconfig.json", + "assets": ["apps/web/src/favicon.ico"], + "styles": [], + "scripts": [] + } + } + } + }, "web": { "projectType": "application", "schematics": { @@ -22,8 +48,8 @@ "options": { "outputPath": "dist/web", "index": "apps/web/src/index.html", - "main": "apps/web/src/app/main.ts", - "polyfills": "apps/web/src/app/polyfills.ts", + "main": "apps/web/src/main.ts", + "polyfills": "apps/web/src/polyfills.ts", "tsConfig": "apps/web/tsconfig.json", "assets": ["apps/web/src/favicon.ico"], "styles": [], diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json index cfea18c24d2..c96f4a5803b 100644 --- a/apps/browser/src/_locales/ar/messages.json +++ b/apps/browser/src/_locales/ar/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "حفظ كتسجيل دخول جديد", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "تحديث تسجيل الدخول", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "اقتراحات التعبئة التلقائية" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "إظهار اقتراحات التعبئة التلقائية في حقول النموذج" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "إجراء المهلة" }, - "newCustomizationOptionsCalloutTitle": { - "message": "خيارات التخصيص الجديدة" - }, - "newCustomizationOptionsCalloutContent": { - "message": "تخصيص تجربة المخزن الخاص بك مع إجراءات النسخ السريعة، والوضع المدمج، والمزيد!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "عرض جميع إعدادات المظهر" - }, "lock": { "message": "قفل", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json index 20b7ae11103..51eb1345466 100644 --- a/apps/browser/src/_locales/az/messages.json +++ b/apps/browser/src/_locales/az/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Yeni element, yeni bir pəncərədə açılır", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Saxlamazdan əvvəl düzəliş et", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ Bitwarden-də saxlanıldı.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "\"Bitwarden\"də saxlanıldı.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ Bitwarden-də güncəlləndi.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "\"Bitwarden\"də güncəlləndi.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "$ITEMTYPE$, $ITEMNAME$ seç", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Yeni giriş kimi saxla", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Giriş məlumatlarını güncəllə", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Bu girişi saxlamaq üçün kilidi açın", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Girişi saxla", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Avto-doldurma təklifləri" }, + "autofillSpotlightTitle": { + "message": "Avto-doldurma təkliflərini asanlıqla tap" + }, + "autofillSpotlightDesc": { + "message": "Bitwarden ilə ziddiyyət yaranmaması üçün brauzerinizin avto-doldurma ayarlarını söndürün." + }, + "turnOffBrowserAutofill": { + "message": "$BROWSER$ avto-doldurma ayarını söndür", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Avto-doldurmanı söndür" + }, "showInlineMenuLabel": { "message": "Avto-doldurma təkliflərini form xanalarında göstər" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Vaxt bitmə əməliyyatı" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Yeni özəlləşdirmə seçimləri" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Cəld kopyalama fəaliyyəti, yığcam rejim və daha çoxu ilə seyf təcrübənizi özəlləşdirin!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Bütün Görünüş ayarlarına bax" - }, "lock": { "message": "Kilidlə", "description": "Verb form: to make secure or inaccessible by" @@ -4513,25 +4532,31 @@ } }, "downloadBitwarden": { - "message": "Download Bitwarden" + "message": "Bitwarden-i endir" }, "downloadBitwardenOnAllDevices": { - "message": "Download Bitwarden on all devices" + "message": "Bitwarden-i bütün cihazlarda endir" }, "getTheMobileApp": { - "message": "Get the mobile app" + "message": "Mobil tətbiqi əldə et" }, "getTheMobileAppDesc": { - "message": "Access your passwords on the go with the Bitwarden mobile app." + "message": "Bitwarden mobil tətbiqi ilə parollarınıza hər yerdən müraciət edin." }, "getTheDesktopApp": { - "message": "Get the desktop app" + "message": "Masaüstü tətbiqi əldə et" }, "getTheDesktopAppDesc": { - "message": "Access your vault without a browser, then set up unlock with biometrics to expedite unlocking in both the desktop app and browser extension." + "message": "Seyfinizə brauzer olmadan müraciət edin, sonra həm masaüstü tətbiqində, həm də brauzer uzantısında kilid açma prosesini sürətləndirmək üçün biometrik ilə kilid açma prosesini qurun." }, "downloadFromBitwardenNow": { - "message": "Download from bitwarden.com now" + "message": "İndi bitwarden.com saytından endir" + }, + "getItOnGooglePlay": { + "message": "Google Play-dən endir" + }, + "downloadOnTheAppStore": { + "message": "App Store-dan endir" }, "permanentlyDeleteAttachmentConfirmation": { "message": "Bu qoşmanı birdəfəlik silmək istədiyinizə əminsiniz?" @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Bitwarden mobil, brauzer və masaüstü tətbiqləri ilə limitsiz cihaz arasında limitsiz parol saxlayın." }, + "nudgeBadgeAria": { + "message": "1 bildiriş" + }, "emptyVaultNudgeTitle": { "message": "Mövcud parolları daxilə köçür" }, @@ -5255,24 +5283,30 @@ "hasItemsVaultNudgeTitle": { "message": "Seyfinizə xoş gəlmisiniz!" }, - "hasItemsVaultNudgeBody": { - "message": "Hazırkı səhifə üçün elementləri avto-doldurun\nAsan müraciət üçün sevimli elementlər\nSeyfinizdə başqa elementləri axtarın" + "hasItemsVaultNudgeBodyOne": { + "message": "Hazırkı səhifə üçün elementləri avto-doldur" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Asan müraciət üçün elementləri sevimlilərə əlavə et" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Seyfinizdə başqa bir şey axtarın" }, "newLoginNudgeTitle": { "message": "Avto-doldurma ilə vaxta qənaət edin" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "Bir veb sayt", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "daxil edin ki,", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "so this login appears as an autofill suggestion.", + "message": "bu giriş məlumatları avto-doldurma təklifi kimi görünsün.", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -5298,13 +5332,16 @@ "message": "Gəlişdirici dostu SSH müraciəti" }, "newSshNudgeBodyOne": { - "message": "Store your keys and connect with the SSH agent for fast, encrypted authentication.", + "message": "Açarlarınızı saxlayın və sürətli, şifrələnmiş kimlik doğrulama üçün SSH agentinə bağlayın.", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "newSshNudgeBodyTwo": { - "message": "Learn more about SSH agent", + "message": "SSH agenti barədə daha ətraflı", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Bu səhifəyə baxmaq icazəniz yoxdur. Fərqli hesabla giriş etməyə çalışın." } } diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json index cfe2f54b6a7..a51b96547da 100644 --- a/apps/browser/src/_locales/be/messages.json +++ b/apps/browser/src/_locales/be/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Прапановы аўтазапаўнення" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Заблакіраваць", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json index cd6ff6dbbc8..09e5260f9b3 100644 --- a/apps/browser/src/_locales/bg/messages.json +++ b/apps/browser/src/_locales/bg/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Нов елемент, отваря се в нов прозорец", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Редактиране преди запазване", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "Запазено в Битуорден: $ITEMNAME$.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "запазено в Битуорден.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "Обновено в Битуорден: $ITEMNAME$.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "обновено в Битуорден.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Избиране на $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Запазване като нов елемент за вписване", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Обновяване на данните за вписване", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Отключете, за да запазите тези данни за вписване", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Запазване на данните за вписване", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Предложения за авт. попълване" }, + "autofillSpotlightTitle": { + "message": "Намирайте лесно предложения за авт. попълване" + }, + "autofillSpotlightDesc": { + "message": "Изключете настройките за автоматично попълване на браузъра си, за да не си пречат с Битуорден." + }, + "turnOffBrowserAutofill": { + "message": "Изключете автоматичното попълване на $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Изключване на автоматичното попълване" + }, "showInlineMenuLabel": { "message": "Показване на предложения за авт. попълване на полетата във формуляри" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Действие при изтичането на времето за достъп" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Нови възможности за персонализиране" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Персонализирайте трезора си с бързи действия за копиране, компактен режим и още!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Преглед на всички настройки за външния вид" - }, "lock": { "message": "Заключване", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Свалете от bitwarden.com сега" }, + "getItOnGooglePlay": { + "message": "Вземете го от Google Play" + }, + "downloadOnTheAppStore": { + "message": "Свалете от App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Наистина ли искате да изтриете завинаги този прикачен файл?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Съхранявайте неограничен брой пароли на множество устройства – с приложенията на Битуорден за мобилни телефони, браузър и компютър." }, + "nudgeBadgeAria": { + "message": "1 известие" + }, "emptyVaultNudgeTitle": { "message": "Внасяне на съществуващи пароли" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Добре дошли в трезора си!" }, - "hasItemsVaultNudgeBody": { - "message": "Елементи за авт. попълване в текущата страница\nЛюбими елементи за лесен достъп\nПотърсете в трезора си за нещо друго" + "hasItemsVaultNudgeBodyOne": { + "message": "Попълвайте автоматично елементи в текущата страница" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Добавете любими елементи за бърз достъп" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Потърсете нещо друго в трезора си" }, "newLoginNudgeTitle": { "message": "Спестете време с автоматично попълване" @@ -5306,5 +5340,8 @@ "message": "Научете повече относно SSH-агента", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Нямате права за преглед на тази страница. Опитайте да се впишете с друг акаунт." } } diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json index 5ec63e71809..5e19936e975 100644 --- a/apps/browser/src/_locales/bn/messages.json +++ b/apps/browser/src/_locales/bn/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "লক", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json index 66f8e5db4ae..f48037814e5 100644 --- a/apps/browser/src/_locales/bs/messages.json +++ b/apps/browser/src/_locales/bs/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Zaključaj", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json index 840304621ea..151412c02ed 100644 --- a/apps/browser/src/_locales/ca/messages.json +++ b/apps/browser/src/_locales/ca/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Suggeriments d'emplenament automàtic" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Mostra suggeriments d'emplenament automàtic als camps del formulari" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Acció després del temps d'espera" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Bloqueja", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Esteu segur que voleu suprimir definitivament aquest adjunt?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json index 51c592b00b0..effc4c950c6 100644 --- a/apps/browser/src/_locales/cs/messages.json +++ b/apps/browser/src/_locales/cs/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Nová položka, otevře se v novém okně", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Upravit před uložením", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ - uloženo do Bitwardenu.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "uloženo do Bitwardenu.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ - aktualizováno v Bitwardenu.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "aktualizováno v Bitwardenu.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Vybrat $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Uložit jako nové přihlašovací údaje", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Aktualizovat přihlašovací údaje", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Odemknout pro uložení tohoto přihlášení", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Uložit přihlašovací údaje", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Návrhy automatického vyplňování" }, + "autofillSpotlightTitle": { + "message": "Snadné hledání návrhů automatického vyplňování" + }, + "autofillSpotlightDesc": { + "message": "Vypněte nastavení automatického vyplňování prohlížeče, takže nebude v rozporu s Bitwardenem." + }, + "turnOffBrowserAutofill": { + "message": "Vypnout automatické vyplňování $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Vypnout automatické vyplňování" + }, "showInlineMenuLabel": { "message": "Zobrazit návrhy automatického vyplňování v polích formuláře" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Akce vypršení časového limitu" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nové volby přizpůsobení" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Přizpůsobte si svůj trezor s rychlými kopírovacími akcemi, kompaktním režimem a dalším!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Zobrazit všechna nastavení vzhledu" - }, "lock": { "message": "Zamknout", "description": "Verb form: to make secure or inaccessible by" @@ -3444,7 +3463,7 @@ "message": "Nastavení automatického vyplňování" }, "autofillKeyboardShortcutSectionTitle": { - "message": "Zkrátka automatického vyplňování" + "message": "Zkratka automatického vyplňování" }, "autofillKeyboardShortcutUpdateLabel": { "message": "Změnit zkratku" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Stáhnout z bitwarden.com nyní" }, + "getItOnGooglePlay": { + "message": "Získejte ji na Google Play" + }, + "downloadOnTheAppStore": { + "message": "Stáhnout v App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Opravdu chcete tuto přílohu navždy smazat?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Uložte neomezená hesla na neomezených zařízeních s Bitwardenem na mobilu, prohlížeči a desktopové aplikaci." }, + "nudgeBadgeAria": { + "message": "1 oznámení" + }, "emptyVaultNudgeTitle": { "message": "Importovat existující hesla" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Vítejte ve Vašem trezoru!" }, - "hasItemsVaultNudgeBody": { - "message": "Položky automatického vyplňování pro aktuální stránku\nOblíbené položky pro snadný přístup\nNajděte v trezoru něco jiného" + "hasItemsVaultNudgeBodyOne": { + "message": "Položky automatického vyplňování aktuální stránky" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Oblíbené položky pro snadný přístup" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Najít v trezoru něco jiného" }, "newLoginNudgeTitle": { "message": "Ušetřete čas s automatickým vyplňováním" @@ -5306,5 +5340,8 @@ "message": "Další informace o SSH agentovi", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Nemáte oprávnění k zobrazení této stránky. Zkuste se přihlásit jiným účtem." } } diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json index 8c0b1d97f60..047b45dd9b8 100644 --- a/apps/browser/src/_locales/cy/messages.json +++ b/apps/browser/src/_locales/cy/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Cadw fel manylion mewngofnodi newydd", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Cloi", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json index 3887e291334..e6233b1f8db 100644 --- a/apps/browser/src/_locales/da/messages.json +++ b/apps/browser/src/_locales/da/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autoudfyldningsforslag" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Vis autoudfyld-menu i formularfelter" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeouthandling" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lås", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Sikker på, at denne vedhæftning skal slettes permanent?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json index a7871f6ebca..1eac22c919c 100644 --- a/apps/browser/src/_locales/de/messages.json +++ b/apps/browser/src/_locales/de/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Neuer Eintrag, öffnet sich in neuem Fenster", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Vor dem Speichern bearbeiten", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ in Bitwarden gespeichert.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "in Bitwarden gespeichert.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ in Bitwarden aktualisiert.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "in Bitwarden aktualisiert.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "$ITEMTYPE$, $ITEMNAME$ auswählen", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Als neue Zugangsdaten speichern", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Zugangsdaten aktualisieren", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Entsperren, um diese Zugangsdaten zu speichern", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Zugangsdaten speichern", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Vorschläge zum Auto-Ausfüllen" }, + "autofillSpotlightTitle": { + "message": "Auto-Ausfüllen-Vorschläge einfach finden" + }, + "autofillSpotlightDesc": { + "message": "Deaktiviere die Auto-Ausfüllen-Einstellungen deines Browsers, damit sie nicht mit Bitwarden in Konflikt geraten." + }, + "turnOffBrowserAutofill": { + "message": "$BROWSER$ Auto-Ausfüllen deaktivieren", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Auto-Ausfüllen deaktivieren" + }, "showInlineMenuLabel": { "message": "Vorschläge zum Auto-Ausfüllen in Formularfeldern anzeigen" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout-Aktion" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Neue Personalisierungs-Optionen" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Personalisiere deinen Tresor mit Schnellkopier-Aktionen, Kompaktmodus und mehr!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Alle Aussehen-Einstellungen anzeigen" - }, "lock": { "message": "Sperren", "description": "Verb form: to make secure or inaccessible by" @@ -4519,19 +4538,25 @@ "message": "Bitwarden auf allen Geräten herunterladen" }, "getTheMobileApp": { - "message": "Get the mobile app" + "message": "Smartphone-App herunterladen" }, "getTheMobileAppDesc": { - "message": "Access your passwords on the go with the Bitwarden mobile app." + "message": "Greife von unterwegs mit der Bitwarden Smartphone-App auf deine Passwörter zu." }, "getTheDesktopApp": { - "message": "Get the desktop app" + "message": "Desktop-App herunterladen" }, "getTheDesktopAppDesc": { - "message": "Access your vault without a browser, then set up unlock with biometrics to expedite unlocking in both the desktop app and browser extension." + "message": "Greife ohne Browser auf deinen Tresor zu und richte dann das Entsperren mit Biometrie ein, um die Entsperrung sowohl in der Desktop-App als auch in der Browser-Erweiterung zu beschleunigen." }, "downloadFromBitwardenNow": { - "message": "Download from bitwarden.com now" + "message": "Jetzt von bitwarden.com herunterladen" + }, + "getItOnGooglePlay": { + "message": "Verfügbar bei Google Play" + }, + "downloadOnTheAppStore": { + "message": "Im App Store herunterladen" }, "permanentlyDeleteAttachmentConfirmation": { "message": "Bist du sicher, dass du diesen Anhang dauerhaft löschen möchtest?" @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Speicher eine unbegrenzte Anzahl von Passwörtern auf unbegrenzt vielen Geräten mit Bitwarden-Apps für Smartphones, Browser und Desktop." }, + "nudgeBadgeAria": { + "message": "1 Benachrichtigung" + }, "emptyVaultNudgeTitle": { "message": "Vorhandene Passwörter importieren" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Willkommen in deinem Tresor!" }, - "hasItemsVaultNudgeBody": { - "message": "Auto-Ausfüllen-Einträge für die aktuelle Seite\nFavoriten-Einträge für einfachen Zugriff\nDurchsuche deinen Tresor nach etwas anderem" + "hasItemsVaultNudgeBodyOne": { + "message": "Einträge für die aktuelle Seite automatisch ausfüllen" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favoriten-Einträge für einfachen Zugriff" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Deinen Tresor nach etwas anderem durchsuchen" }, "newLoginNudgeTitle": { "message": "Spare Zeit mit Auto-Ausfüllen" @@ -5306,5 +5340,8 @@ "message": "Erfahre mehr über den SSH-Agenten", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Du hast keine Berechtigung, diese Seite anzuzeigen. Versuche dich mit einem anderen Konto anzumelden." } } diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json index 122af181349..faad1a90a07 100644 --- a/apps/browser/src/_locales/el/messages.json +++ b/apps/browser/src/_locales/el/messages.json @@ -3,7 +3,7 @@ "message": "Bitwarden" }, "appLogoLabel": { - "message": "Bitwarden logo" + "message": "Λογότυπο του Bitwarden" }, "extName": { "message": "Διαχειριστής Κωδικών Πρόσβασης Bitwarden", @@ -911,7 +911,7 @@ "message": "Όχι" }, "location": { - "message": "Location" + "message": "Τοποθεσία" }, "unexpectedError": { "message": "Παρουσιάστηκε ένα μη αναμενόμενο σφάλμα." @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Πρόταση αυτόματης συμπλήρωσης" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Απενεργοποίηση αυτόματης συμπλήρωσης" + }, "showInlineMenuLabel": { "message": "Εμφάνιση μενού αυτόματης συμπλήρωσης στα πεδία της φόρμας" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Ενέργεια κατά τη λήξη χρονικού ορίου" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Κλείδωμα", "description": "Verb form: to make secure or inaccessible by" @@ -4137,7 +4156,7 @@ "message": "Ενεργός λογαριασμός" }, "bitwardenAccount": { - "message": "Bitwarden account" + "message": "Λογαριασμός Bitwarden" }, "availableAccounts": { "message": "Διαθέσιμοι λογαριασμοί" @@ -4328,7 +4347,7 @@ } }, "viewItemTitleWithField": { - "message": "View item - $ITEMNAME$ - $FIELD$", + "message": "Προβολή στοιχείου - $ITEMNAME$ - $FIELD$", "description": "Title for a link that opens a view for an item.", "placeholders": { "itemname": { @@ -4352,7 +4371,7 @@ } }, "autofillTitleWithField": { - "message": "Autofill - $ITEMNAME$ - $FIELD$", + "message": "Αυτόματη συμπλήρωση - $ITEMNAME$ - $FIELD$", "description": "Title for a button that autofills a login item.", "placeholders": { "itemname": { @@ -4513,7 +4532,7 @@ } }, "downloadBitwarden": { - "message": "Download Bitwarden" + "message": "Λήψη του Bitwarden" }, "downloadBitwardenOnAllDevices": { "message": "Download Bitwarden on all devices" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά αυτό το συνημμένο;" }, @@ -5006,7 +5031,7 @@ "description": "Notification message for when a password has been regenerated" }, "saveToBitwarden": { - "message": "Save to Bitwarden", + "message": "Αποθήκευση στο Bitwarden", "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5250,13 +5278,19 @@ "message": "Use the importer to quickly transfer logins to Bitwarden without manually adding them." }, "emptyVaultNudgeButton": { - "message": "Import now" + "message": "Εισαγωγή τώρα" }, "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5267,7 +5301,7 @@ "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "Ιστότοπος", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json index 90f6bdc32d3..52e08afa59b 100644 --- a/apps/browser/src/_locales/en/messages.json +++ b/apps/browser/src/_locales/en/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json index e91c653721c..d131d3ec33d 100644 --- a/apps/browser/src/_locales/en_GB/messages.json +++ b/apps/browser/src/_locales/en_GB/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customisation options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customise your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavourite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favourite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json index 94c929c6999..aa1c076b2e9 100644 --- a/apps/browser/src/_locales/en_IN/messages.json +++ b/apps/browser/src/_locales/en_IN/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customisation options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customise your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavourite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favourite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json index 2950f838c9c..3018cd36ed4 100644 --- a/apps/browser/src/_locales/es/messages.json +++ b/apps/browser/src/_locales/es/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Sugerencias de autocompletar" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Acción de tiempo agotado" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Bloquear", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "¿Estás seguro de que deseas eliminar permanentemente este adjunto?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Guarda contraseñas ilimitadas a través de dispositivos ilimitados con aplicaciones móviles, de navegador y de escritorio de Bitwarden." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json index 5a51598a4f8..5bce2142219 100644 --- a/apps/browser/src/_locales/et/messages.json +++ b/apps/browser/src/_locales/et/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lukusta", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json index 73053b8597b..54b7b9b234c 100644 --- a/apps/browser/src/_locales/eu/messages.json +++ b/apps/browser/src/_locales/eu/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Blokeatu", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json index 6f6ccecdd34..f132b61fc4e 100644 --- a/apps/browser/src/_locales/fa/messages.json +++ b/apps/browser/src/_locales/fa/messages.json @@ -3,7 +3,7 @@ "message": "Bitwarden" }, "appLogoLabel": { - "message": "Bitwarden logo" + "message": "لوگو Bitwarden" }, "extName": { "message": "مدیریت رمز عبور Bitwarden", @@ -17,22 +17,22 @@ "message": "وارد شوید یا یک حساب کاربری بسازید تا به گاوصندوق امن‌تان دسترسی یابید." }, "inviteAccepted": { - "message": "Invitation accepted" + "message": "دعوتنامه پذیرفته شد" }, "createAccount": { "message": "ایجاد حساب کاربری" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "در Bitwarden تازه وارد هستید؟" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "با کلید عبور وارد شوید" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "استفاده از ورود تک مرحله‌ای" }, "welcomeBack": { - "message": "Welcome back" + "message": "خوش آمدید" }, "setAStrongPassword": { "message": "تنظیم رمز عبور قوی" @@ -65,7 +65,7 @@ "message": "یادآور کلمه عبور اصلی کمک می‌کند در صورت فراموشی آن را به یاد بیارید." }, "masterPassHintText": { - "message": "If you forget your password, the password hint can be sent to your email. $CURRENT$/$MAXIMUM$ character maximum.", + "message": "اگر کلمه عبور خود را فراموش کنید، یادآور کلمه عبور می‌تواند به ایمیل شما ارسال شود. حداکثر $CURRENT$/$MAXIMUM$ کاراکتر.", "placeholders": { "current": { "content": "$1", @@ -84,7 +84,7 @@ "message": "یادآور کلمه عبور اصلی (اختیاری)" }, "passwordStrengthScore": { - "message": "Password strength score $SCORE$", + "message": "امتیاز قدرت کلمه عبور $SCORE$", "placeholders": { "score": { "content": "$1", @@ -93,10 +93,10 @@ } }, "joinOrganization": { - "message": "Join organization" + "message": "به سازمان بپیوندید" }, "joinOrganizationName": { - "message": "Join $ORGANIZATIONNAME$", + "message": "به $ORGANIZATIONNAME$ بپیوندید", "placeholders": { "organizationName": { "content": "$1", @@ -105,7 +105,7 @@ } }, "finishJoiningThisOrganizationBySettingAMasterPassword": { - "message": "Finish joining this organization by setting a master password." + "message": "با تعیین یک کلمه عبور اصلی، عضویت خود در این سازمان را کامل کنید." }, "tab": { "message": "زبانه" @@ -132,7 +132,7 @@ "message": "کپی کلمه عبور" }, "copyPassphrase": { - "message": "Copy passphrase" + "message": "کپی عبارت عبور" }, "copyNote": { "message": "کپی یادداشت" @@ -150,31 +150,31 @@ "message": "کپی کد امنیتی" }, "copyName": { - "message": "Copy name" + "message": "کپی نام" }, "copyCompany": { - "message": "Copy company" + "message": "کپی شرکت" }, "copySSN": { - "message": "Copy Social Security number" + "message": "کپی شماره کد ملی" }, "copyPassportNumber": { - "message": "Copy passport number" + "message": "کپی شماره گذرنامه" }, "copyLicenseNumber": { - "message": "Copy license number" + "message": "کپی شماره گواهینامه" }, "copyPrivateKey": { - "message": "Copy private key" + "message": "کپی کلید خصوصی" }, "copyPublicKey": { - "message": "Copy public key" + "message": "کپی کلید عمومی" }, "copyFingerprint": { - "message": "Copy fingerprint" + "message": "کپی اثر انگشت" }, "copyCustomField": { - "message": "Copy $FIELD$", + "message": "کپی $FIELD$", "placeholders": { "field": { "content": "$1", @@ -183,17 +183,17 @@ } }, "copyWebsite": { - "message": "Copy website" + "message": "کپی وب‌سایت" }, "copyNotes": { - "message": "Copy notes" + "message": "کپی یادداشت‌ها" }, "copy": { - "message": "Copy", + "message": "کپی", "description": "Copy to clipboard" }, "fill": { - "message": "Fill", + "message": "پر کردن", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -209,10 +209,10 @@ "message": "پر کردن خودکار هویت" }, "fillVerificationCode": { - "message": "Fill verification code" + "message": "پر کردن کد تأیید" }, "fillVerificationCodeAria": { - "message": "Fill Verification Code", + "message": "پر کردن کد تأیید", "description": "Aria label for the heading displayed the inline menu for totp code autofill" }, "generatePasswordCopied": { @@ -255,16 +255,16 @@ "message": "افزودن مورد" }, "accountEmail": { - "message": "Account email" + "message": "حساب ایمیل" }, "requestHint": { - "message": "Request hint" + "message": "درخواست راهنمایی" }, "requestPasswordHint": { - "message": "Request password hint" + "message": "درخواست یادآور کلمه عبور" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Enter your account email address and your password hint will be sent to you" + "message": "نشانی ایمیل حساب کاربری خود را وارد کنید تا راهنمای کلمه عبور برای شما ارسال شود" }, "getMasterPasswordHint": { "message": "دریافت یادآور کلمه عبور اصلی" @@ -291,13 +291,13 @@ "message": "تغییر کلمه عبور اصلی" }, "continueToWebApp": { - "message": "Continue to web app?" + "message": "با برنامه وب ادامه می‌دهید؟" }, "continueToWebAppDesc": { "message": "ویژگی‌های بیشتر حساب Bitwarden خود را در برنامه وب کاوش کنید." }, "continueToHelpCenter": { - "message": "Continue to Help Center?" + "message": "به مرکز راهنمایی ادامه می‌دهید؟" }, "continueToHelpCenterDesc": { "message": "درباره استفاده از Bitwarden در مرکز راهنما بیشتر بیاموزید." @@ -309,7 +309,7 @@ "message": "به دیگران کمک کنید تا بفهمند آیا Bitwarden برایشان مناسب است یا نه. به فروشگاه افزونه مرورگر خود بروید و نظر خود را به اشتراک بگذارید." }, "changeMasterPasswordOnWebConfirmation": { - "message": "You can change your master password on the Bitwarden web app." + "message": "می‌توانید کلمه عبور اصلی خود را در برنامه وب Bitwarden تغییر دهید." }, "fingerprintPhrase": { "message": "عبارت اثر انگشت", @@ -332,10 +332,10 @@ "message": "درباره" }, "moreFromBitwarden": { - "message": "More from Bitwarden" + "message": "موارد بیشتر از Bitwarden" }, "continueToBitwardenDotCom": { - "message": "Continue to bitwarden.com?" + "message": "به bitwarden.com ادامه می‌دهید؟" }, "bitwardenForBusiness": { "message": "Bitwarden برای کسب و کارها" @@ -344,25 +344,25 @@ "message": "تاییدکننده هویت Bitwarden" }, "continueToAuthenticatorPageDesc": { - "message": "Bitwarden Authenticator allows you to store authenticator keys and generate TOTP codes for 2-step verification flows. Learn more on the bitwarden.com website" + "message": "احراز هویت کننده Bitwarden به شما امکان می‌دهد کلیدهای احراز هویت را ذخیره کرده و کدهای TOTP را برای فرآیندهای تأیید دومرحله‌ای تولید کنید. برای اطلاعات بیشتر به وب‌سایت bitwarden.com مراجعه کنید" }, "bitwardenSecretsManager": { - "message": "Bitwarden Secrets Manager" + "message": "مدیر اسرار Bitwarden" }, "continueToSecretsManagerPageDesc": { - "message": "Securely store, manage, and share developer secrets with Bitwarden Secrets Manager. Learn more on the bitwarden.com website." + "message": "اسرار توسعه دهنده را با مدیر اسرا Bitwarden به‌صورت ایمن ذخیره، مدیریت و به اشتراک بگذارید. برای اطلاعات بیشتر به وب‌سایت bitwarden.com مراجعه کنید." }, "passwordlessDotDev": { "message": "Passwordless.dev" }, "continueToPasswordlessDotDevPageDesc": { - "message": "Create smooth and secure login experiences free from traditional passwords with Passwordless.dev. Learn more on the bitwarden.com website." + "message": "با استفاده از Passwordless.dev تجربه‌های ورود روان و ایمنی را بدون نیاز به کلمات عبور سنتی ایجاد کنید. برای اطلاعات بیشتر به وب‌سایت bitwarden.com مراجعه کنید." }, "freeBitwardenFamilies": { "message": "خانواده‌های رایگان Bitwarden" }, "freeBitwardenFamiliesPageDesc": { - "message": "You are eligible for Free Bitwarden Families. Redeem this offer today in the web app." + "message": "شما واجد شرایط استفاده رایگان از Bitwarden Families هستید. این پیشنهاد را امروز در نسخه وب دریافت کنید." }, "version": { "message": "نسخه" @@ -383,7 +383,7 @@ "message": "ويرايش پوشه" }, "editFolderWithName": { - "message": "Edit folder: $FOLDERNAME$", + "message": "ویرایش پوشه: $FOLDERNAME$", "placeholders": { "foldername": { "content": "$1", @@ -392,22 +392,22 @@ } }, "newFolder": { - "message": "New folder" + "message": "پوشه جدید" }, "folderName": { - "message": "Folder name" + "message": "نام پوشه" }, "folderHintText": { - "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + "message": "برای تو در تو کردن یک پوشه، نام پوشه والد را وارد کرده و سپس یک “/” اضافه کنید. مثال: Social/Forums" }, "noFoldersAdded": { - "message": "No folders added" + "message": "هیچ پوشه‌ای اضافه نشد" }, "createFoldersToOrganize": { - "message": "Create folders to organize your vault items" + "message": "برای سامان‌دهی موردهای گاوصندوق خود پوشه ایجاد کنید" }, "deleteFolderPermanently": { - "message": "Are you sure you want to permanently delete this folder?" + "message": "مطمئنید می‌خواهید این پوشه را برای همیشه پاک کنید؟" }, "deleteFolder": { "message": "حذف پوشه" @@ -450,7 +450,7 @@ "message": "به طور خودکار کلمه‌های عبور قوی و منحصر به فرد برای ورود به سیستم خود ایجاد کنید." }, "bitWebVaultApp": { - "message": "Bitwarden web app" + "message": "برنامه وب Bitwarden" }, "importItems": { "message": "درون ریزی موارد" @@ -462,19 +462,19 @@ "message": "تولید کلمه عبور" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "تولید عبارت عبور" }, "passwordGenerated": { - "message": "Password generated" + "message": "کلمه عبور تولید شد" }, "passphraseGenerated": { - "message": "Passphrase generated" + "message": "عبارت عبور تولید شد" }, "usernameGenerated": { - "message": "Username generated" + "message": "نام کاربری تولید شد" }, "emailGenerated": { - "message": "Email generated" + "message": "ایمیل تولید شد" }, "regeneratePassword": { "message": "تولید مجدد کلمه عبور" @@ -486,11 +486,11 @@ "message": "طول" }, "include": { - "message": "Include", + "message": "شامل", "description": "Card header for password generator include block" }, "uppercaseDescription": { - "message": "Include uppercase characters", + "message": "شامل حروف بزرگ باشد", "description": "Tooltip for the password generator uppercase character checkbox" }, "uppercaseLabel": { @@ -498,7 +498,7 @@ "description": "Label for the password generator uppercase character checkbox" }, "lowercaseDescription": { - "message": "Include lowercase characters", + "message": "شامل حروف کوچک باشد", "description": "Full description for the password generator lowercase character checkbox" }, "lowercaseLabel": { @@ -506,7 +506,7 @@ "description": "Label for the password generator lowercase character checkbox" }, "numbersDescription": { - "message": "Include numbers", + "message": "شامل اعداد", "description": "Full description for the password generator numbers checkbox" }, "numbersLabel": { @@ -514,7 +514,7 @@ "description": "Label for the password generator numbers checkbox" }, "specialCharactersDescription": { - "message": "Include special characters", + "message": "افزودن کاراکترهای خاص", "description": "Full description for the password generator special characters checkbox" }, "numWords": { @@ -537,11 +537,11 @@ "message": "حداقل حرف خاص" }, "avoidAmbiguous": { - "message": "Avoid ambiguous characters", + "message": "از کاراکترهای مبهم خودداری کن", "description": "Label for the avoid ambiguous characters checkbox." }, "generatorPolicyInEffect": { - "message": "Enterprise policy requirements have been applied to your generator options.", + "message": "نیازمندی‌های سیاست سازمانی بر گزینه‌های تولید کننده شما اعمال شده‌اند.", "description": "Indicates that a policy limits the credential generator screen." }, "searchVault": { @@ -566,7 +566,7 @@ "message": "کلمه عبور" }, "totp": { - "message": "Authenticator secret" + "message": "کلید مخفی احراز کننده هویت‌" }, "passphrase": { "message": "عبارت عبور" @@ -587,7 +587,7 @@ "message": "یادداشت‌ها" }, "privateNote": { - "message": "Private note" + "message": "یادداشت خصوصی" }, "note": { "message": "یادداشت" @@ -608,10 +608,10 @@ "message": "راه اندازی" }, "launchWebsite": { - "message": "Launch website" + "message": "باز کردن وب‌سایت" }, "launchWebsiteName": { - "message": "Launch website $ITEMNAME$", + "message": "باز کردن وب‌سایت $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -632,19 +632,19 @@ "message": "ساير" }, "unlockMethods": { - "message": "Unlock options" + "message": "باز کردن امکانات" }, "unlockMethodNeededToChangeTimeoutActionDesc": { "message": "یک روش بازگشایی برای پایان زمان مجاز تنظیم کنید." }, "unlockMethodNeeded": { - "message": "Set up an unlock method in Settings" + "message": "یک روش باز کردن قفل را در تنظیمات راه‌اندازی کنید" }, "sessionTimeoutHeader": { - "message": "Session timeout" + "message": "پایان زمان نشست" }, "vaultTimeoutHeader": { - "message": "Vault timeout" + "message": "متوقف شدن گاو‌صندوق" }, "otherOptions": { "message": "سایر گزینه‌ها" @@ -656,25 +656,25 @@ "message": "مرورگر شما از کپی کلیپ بورد آسان پشتیبانی نمی‌کند. به جای آن به صورت دستی کپی کنید." }, "verifyYourIdentity": { - "message": "Verify your identity" + "message": "هویت خود را تأیید کنید" }, "weDontRecognizeThisDevice": { - "message": "We don't recognize this device. Enter the code sent to your email to verify your identity." + "message": "ما این دستگاه را نمی‌شناسیم. برای تأیید هویت خود، کدی را که به ایمیلتان ارسال شده وارد کنید." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "ادامه ورود" }, "yourVaultIsLocked": { "message": "گاوصندوق شما قفل شده است. برای ادامه هویت خود را تأیید کنید." }, "yourVaultIsLockedV2": { - "message": "Your vault is locked" + "message": "گاوصندوق‌تان قفل شد" }, "yourAccountIsLocked": { - "message": "Your account is locked" + "message": "حساب شما قفل شده است" }, "or": { - "message": "or" + "message": "یا" }, "unlock": { "message": "باز کردن قفل" @@ -699,13 +699,13 @@ "message": "متوقف شدن گاو‌صندوق" }, "vaultTimeout1": { - "message": "Timeout" + "message": "پایان زمان" }, "lockNow": { "message": "الان قفل شود" }, "lockAll": { - "message": "Lock all" + "message": "قفل کردن همه" }, "immediately": { "message": "بلافاصله" @@ -753,16 +753,16 @@ "message": "امنیت" }, "confirmMasterPassword": { - "message": "Confirm master password" + "message": "تأیید کلمه عبور اصلی" }, "masterPassword": { - "message": "Master password" + "message": "کلمه عبور اصلی" }, "masterPassImportant": { - "message": "Your master password cannot be recovered if you forget it!" + "message": "کلمه‌های عبور اصلی در صورت فراموشی قابل بازیابی نیستند!" }, "masterPassHintLabel": { - "message": "Master password hint" + "message": "یادآور کلمه عبور اصلی" }, "errorOccurred": { "message": "خطایی رخ داده است" @@ -796,10 +796,10 @@ "message": "حساب کاربری جدید شما ساخته شد! حالا می‌توانید وارد شوید." }, "newAccountCreated2": { - "message": "Your new account has been created!" + "message": "حساب جدید شما ایجاد شده است!" }, "youHaveBeenLoggedIn": { - "message": "You have been logged in!" + "message": "شما با موفقیت وارد شدید!" }, "youSuccessfullyLoggedIn": { "message": "شما با موفقیت وارد شدید" @@ -814,7 +814,7 @@ "message": "کد تأیید مورد نیاز است." }, "webauthnCancelOrTimeout": { - "message": "The authentication was cancelled or took too long. Please try again." + "message": "احراز هویت لغو شد یا بیش از حد طول کشید. لطفاً دوباره تلاش کنید." }, "invalidVerificationCode": { "message": "کد تأیید نامعتبر است" @@ -833,7 +833,7 @@ "message": "ناتوان در پر کردن خودکار مورد انتخاب شده در این صفحه. اطلاعات را کپی و جای‌گذاری کنید." }, "totpCaptureError": { - "message": "Unable to scan QR code from the current webpage" + "message": "امکان اسکن کد QR از صفحه وب فعلی وجود ندارد" }, "totpCaptureSuccess": { "message": "کلید احراز هویت اضافه شد" @@ -890,10 +890,10 @@ "message": "Follow the steps below to finish logging in with your security key." }, "restartRegistration": { - "message": "Restart registration" + "message": "ثبت‌نام را دوباره آغاز کنید" }, "expiredLink": { - "message": "Expired link" + "message": "پیوند منقضی شد" }, "pleaseRestartRegistrationOrTryLoggingIn": { "message": "Please restart registration or try logging in." @@ -911,7 +911,7 @@ "message": "خیر" }, "location": { - "message": "Location" + "message": "موقعیت" }, "unexpectedError": { "message": "یک خطای غیر منتظره رخ داده است." @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "قفل", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index 747ac8ccd57..ead59384ff8 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Muokkaa ennen tallentamista", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ tallennettiin Bitwardeniin.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ päivitettiin Bitwardeniin.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Tallenna uutena kirjautumistietona", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Päivitä kirjautumistieto", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Tallenna kirjautumistieto", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Automaattitäytön ehdotukset" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Näytä automaattitäytön ehdotukset lomakekentissä" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Aikakatkaisutoiminto" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Uusia mukautusvaihtoehtoja" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Mukauta holvikokemustasi pikakopiointitoiminnoilla, kompaktilla tilalla ja muulla!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Näytä kaikki ulkoasuasetukset" - }, "lock": { "message": "Lukitse", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Haluatko varmasti poistaa liitteen pysyvästi?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Tallenna rajattomasti salasanoja, rajattomalla määrällä laitteita, Bitwardenin mobiili-, selain- ja työpöytäsovelluksilla." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json index 5f84ec1905a..a7734899843 100644 --- a/apps/browser/src/_locales/fil/messages.json +++ b/apps/browser/src/_locales/fil/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "I-lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json index cae2125eb4e..8a825082b5f 100644 --- a/apps/browser/src/_locales/fr/messages.json +++ b/apps/browser/src/_locales/fr/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Enregistrer en tant que nouvel identifiant", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Mettre à jour l'identifiant", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Suggestions de saisie automatique" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Afficher les suggestions de saisie automatique dans les champs d'un formulaire" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Expiration de l'action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nouvelles options de personnalisation" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Personnalisez votre expérience utilisateur du coffre avec des actions de copie rapide, un mode compact et bien plus encore !" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Afficher tous les paramètres d'apparence" - }, "lock": { "message": "Verrouiller", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Êtes-vous sûr de vouloir supprimer définitivement cette pièce jointe ?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json index 8adbe560b22..91a5121db16 100644 --- a/apps/browser/src/_locales/gl/messages.json +++ b/apps/browser/src/_locales/gl/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Suxestións de autoenchido" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Amosar suxestións de autoenchido en formularios" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Acción do temporizador" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Bloquear", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Estás seguro de que queres eliminar permanentemente este anexo?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json index 759429f285a..2e42a819b65 100644 --- a/apps/browser/src/_locales/he/messages.json +++ b/apps/browser/src/_locales/he/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "שמור ככניסה חדשה", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "עדכן כניסה", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "הצעות למילוי אוטומטי" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "הצג הצעות למילוי אוטומטי על שדות טופס" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "פעולת פסק זמן" }, - "newCustomizationOptionsCalloutTitle": { - "message": "אפשרויות התאמה אישית חדשות" - }, - "newCustomizationOptionsCalloutContent": { - "message": "התאם אישית את חווית הכספת שלך עם פעולות העתקה מהירות, מצב קומפקטי, ועוד!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "הצג את כל הגדרות המראה" - }, "lock": { "message": "נעילה", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "האם אתה בטוח שברצונך למחוק לצמיתות צרופה זו?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json index f6ce3f6536a..8af1aa70cc3 100644 --- a/apps/browser/src/_locales/hi/messages.json +++ b/apps/browser/src/_locales/hi/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "टाइमआउट कार्रवाई" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "लॉक", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "स्वतः भरण से समय बचाएँ" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json index 205fa70dc32..557e465ea19 100644 --- a/apps/browser/src/_locales/hr/messages.json +++ b/apps/browser/src/_locales/hr/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Spremi novu prijavu", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Ažuriraj prijavu", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Prijedlozi auto-ispune" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Prikaži prijedloge auto-ispune na poljima obrazaca" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Radnja nakon isteka " }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nove mogućnosti prilagodbe" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Prilagodi svoje iskustvo trezora brzim kopiranjem, kompaktnim načinom rada i više!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Pogledaj sve postavke izgleda" - }, "lock": { "message": "Zaključaj", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Sigurno želiš trajno izbrisati ovaj privitak?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json index 89ca99c51f7..b47093bc2ee 100644 --- a/apps/browser/src/_locales/hu/messages.json +++ b/apps/browser/src/_locales/hu/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Új elem, megnyitás új ablakban", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Szerkesztés mentés előtt", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ mentésre került a Bitwardenben.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "mentésre került a Bitwardenbe.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ frissítésre került a Bitwardenben.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "frissítésre került a Bitwardenben.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "$ITEMTYPE$, $ITEMNAME$ választás", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Mentés új bejelentkezésként", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Bejelentkezés frissítése", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Feloldás a bejelentkezés mentéséhez", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Bejelentkezés mentése", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Az automatikus kitöltési javaslatok könnyű megtalálása" + }, + "autofillSpotlightDesc": { + "message": "Kapcsoljuk ki a böngésző automatikus kitöltési beállításait, így azok nem ütköznek a Bitwardennel." + }, + "turnOffBrowserAutofill": { + "message": "$BROWSER$ automatikus kitöltés kikapcsolása", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Automat kitöltés bekapcsolása" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Időkifutási művelet" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Új testreszabási opciók" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Szabjuk testre tárhely élményét gyors másolási műveletekkel, kompakt móddal és még sok mással!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Az összes megjelenési beállítás megtekintése" - }, "lock": { "message": "Lezárás", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Letöltés most a bitwarden.com webhelyről" }, + "getItOnGooglePlay": { + "message": "Beszerzés a Google Playen" + }, + "downloadOnTheAppStore": { + "message": "Letöltés az App Store-ból" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Biztosan véglegesen törlésre kerüljön ez a melléklet?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Mentsünk el a korlátlan jelszót korlátlan számú eszközön a Bitwarden mobil, böngésző és asztali alkalmazásokkal." }, + "nudgeBadgeAria": { + "message": "1 értesítés" + }, "emptyVaultNudgeTitle": { "message": "Létező jelszavak importálása" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Üdvözlet a széfben!" }, - "hasItemsVaultNudgeBody": { - "message": "Az aktuális oldal elemeinek automatikus kitöltése\nKedvenc elemek a könnyű hozzáférés érdekében\nValami más keresése a széfben" + "hasItemsVaultNudgeBodyOne": { + "message": "Az aktuális oldal elemeinek automatikus kitöltése" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Kedvenc elemek a könnyű hozzáférés érdekében" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Valami más keresése a széfben" }, "newLoginNudgeTitle": { "message": "Idő megtakarítás automatikus kitöltéssel" @@ -5306,5 +5340,8 @@ "message": "További információ az SSH ügynökről", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Nincs jogosultság az oldal megtekintéséhez. Próbáljunk meg másik fiókkal bejelentkezni." } } diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json index 42363532e5e..03e47fca575 100644 --- a/apps/browser/src/_locales/id/messages.json +++ b/apps/browser/src/_locales/id/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Sunting sebelum menyimpan", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ disimpan ke Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ diperbarui di Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Simpan sebagai log masuk baru", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Perbarui log masuk", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Simpan log masuk", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Saran isi otomatis" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Tampilkan saran isi otomatis pada kolom formulir" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Batas waktu tindakan" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Opsi penyesuaian baru" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Sesuaikan pengalaman brankas Anda dengan aksi salin cepat, mode kompak, dan lainnya!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Lihat semua pengaturan Penampilan" - }, "lock": { "message": "Kunci", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Unduh dari bitwarden.com sekarang" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Apakah Anda yakin ingin menghapus lampiran ini selamanya?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Pelajari lebih lanjut tentang agen SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json index 272149b8e99..d3d0dc9ec43 100644 --- a/apps/browser/src/_locales/it/messages.json +++ b/apps/browser/src/_locales/it/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Salva come nuovo accesso", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Aggiorna accesso", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Suggerimenti per il riempimento automatico" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Mostra suggerimenti di riempimento automatico nei campi del modulo" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Azione al timeout" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nuove opzioni di personalizzazione" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Personalizza l'esperienza della tua cassaforte con azioni di copia rapida, modalità compatta e altro ancora!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Vedi tutte le impostazioni di aspetto" - }, "lock": { "message": "Blocca", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Sei sicuro di voler eliminare definitivamente questo allegato?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json index e3340789813..e9c22c1286f 100644 --- a/apps/browser/src/_locales/ja/messages.json +++ b/apps/browser/src/_locales/ja/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "新規のログイン情報として保存", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "ログイン情報を更新", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "自動入力の候補" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "フォームフィールドに自動入力の候補を表示する" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "タイムアウト時のアクション" }, - "newCustomizationOptionsCalloutTitle": { - "message": "新しいカスタマイズオプション" - }, - "newCustomizationOptionsCalloutContent": { - "message": "クイックコピーやコンパクトモードなどで保管庫をカスタマイズできます!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "すべての外観設定を表示" - }, "lock": { "message": "ロック", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "この添付ファイルを完全に削除してもよろしいですか?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Bitwarden のモバイル、ブラウザ、デスクトップアプリでは、保存できるパスワード数やデバイス数に制限はありません。" }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json index 19cde10e9b8..d8397db5da8 100644 --- a/apps/browser/src/_locales/ka/messages.json +++ b/apps/browser/src/_locales/ka/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "ჩაკეტვა", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json index 535bc2c7750..f436c45ab75 100644 --- a/apps/browser/src/_locales/km/messages.json +++ b/apps/browser/src/_locales/km/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json index ebf5fb14653..0459e007126 100644 --- a/apps/browser/src/_locales/kn/messages.json +++ b/apps/browser/src/_locales/kn/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "ಲಾಕ್‌", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json index 37e08f7bd56..8add57d61ec 100644 --- a/apps/browser/src/_locales/ko/messages.json +++ b/apps/browser/src/_locales/ko/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "자동 완성 제안" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "양식 필드에 자동 완성 제안 표시" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "시간초과 시 행동" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "잠금", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "정말로 이 첨부파일을 영구적으로 삭제하시겠습니까?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json index 8da6c4c7c28..06ff7cda8fa 100644 --- a/apps/browser/src/_locales/lt/messages.json +++ b/apps/browser/src/_locales/lt/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Užrakinti", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Ar tikrai norite negrįžtamai ištrinti šį priedą?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json index 280c10ad2c4..e9044f4c041 100644 --- a/apps/browser/src/_locales/lv/messages.json +++ b/apps/browser/src/_locales/lv/messages.json @@ -273,7 +273,7 @@ "message": "Turpināt" }, "sendVerificationCode": { - "message": "Sūtīt apstiprinājuma kodu uz e-pastu" + "message": "Nosūtīt apliecinājuma kodu e-pastā" }, "sendCode": { "message": "Nosūtīt kodu" @@ -282,7 +282,7 @@ "message": "Kods nosūtīts" }, "verificationCode": { - "message": "Apstiprināšanas kods" + "message": "Apliecinājuma kods" }, "confirmIdentity": { "message": "Jāapliecina sava identitāte, lai turpinātu." @@ -811,13 +811,13 @@ "message": "Mēs nosūtījām galvenās paroles norādi e-pastā." }, "verificationCodeRequired": { - "message": "Apstiprinājuma kods ir nepieciešams." + "message": "Apliecinājuma kods ir nepieciešams." }, "webauthnCancelOrTimeout": { "message": "Autentifikācija tika atcelta vai tā aizņēma pārāk daudz laika. Lūgums mēģināt vēlreiz." }, "invalidVerificationCode": { - "message": "Nederīgs apstiprinājuma kods" + "message": "Nederīgs apliecinājuma kods" }, "valueCopied": { "message": "$VALUE$ ir starpliktuvē", @@ -845,10 +845,10 @@ "message": "Padarīt divpakāpju apliecināšanu plūdenu" }, "totpHelper": { - "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecināšanas kodus. Atslēga jāievieto starpliktuvē un jāielīmē šajā laukā." + "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecinājuma kodus. Atslēga jāievieto starpliktuvē un jāielīmē šajā laukā." }, "totpHelperWithCapture": { - "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecināšanas kodus. Jāizvēlas kameras ikona, lai veiktu tīmekļvietnes autentificētāja kvadrātkoda ekrānuzņēmumu, vai jāievieto starpliktuvē atslēga un jāielīmē šajā laukā." + "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecinājuma kodus. Jāizvēlas kameras ikona, lai veiktu tīmekļvietnes autentificētāja kvadrātkoda ekrānuzņēmumu, vai jāievieto starpliktuvē atslēga un jāielīmē šajā laukā." }, "learnMoreAboutAuthenticators": { "message": "Uzzināt vairāk par autentificētājiem" @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Jauns vienums, atvērsies jaunā logā", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Labot pirms saglabāšanas", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saglabāts Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saglabāts Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ atjaunināts Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "atjaunināts Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Atlasīt $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Saglabāt kā jaunu pieteikšanās vienumu", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Atjaunināt pieteikšanās vienumu", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Jāatslēdz, lai saglabātu šo pieteikšanās vienumu", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Saglabāt pieteikšanās vienumu", "description": "Prompt asking the user if they want to save their login details." @@ -1314,10 +1324,10 @@ "message": "Autentificētāja atslēga (TOTP)" }, "verificationCodeTotp": { - "message": "Apstiprinājuma kods (TOTP)" + "message": "Apliecinājuma kods (TOTP)" }, "copyVerificationCode": { - "message": "Ievietot apstiprinājuma kodu starpliktuvē" + "message": "Ievietot apliecinājuma kodu starpliktuvē" }, "attachments": { "message": "Pielikumi" @@ -1389,7 +1399,7 @@ "message": "Paroļu higiēnas, konta veselības un datu noplūžu pārskati, lai uzturētu glabātavu drošu." }, "ppremiumSignUpTotp": { - "message": "TOTP apstiprinājuma koda (2FA) veidotājs glabātavas pieteikšanās vienumiem." + "message": "TOTP apliecinājuma koda (2FA) veidotājs glabātavas pieteikšanās vienumiem." }, "ppremiumSignUpSupport": { "message": "Priekšrocīgs lietotāju atbalsts." @@ -1437,7 +1447,7 @@ "message": "Automātiski ievietot TOTP starpliktuvē" }, "disableAutoTotpCopyDesc": { - "message": "Ja pieteikšanās vienumam ir pievienota autentificētāja atslēga, TOTP apstiprinājuma kods tiks automātiski ievietots starpliktuvē, kad vien tiks automātiski aizpildīta pieteikšanās veidne." + "message": "Ja pieteikšanās vienumam ir pievienota autentificētāja atslēga, TOTP apliecinājuma kods tiks automātiski ievietots starpliktuvē, kad vien tiks automātiski aizpildīta pieteikšanās veidne." }, "enableAutoBiometricsPrompt": { "message": "Palaižot vaicāt biometriju" @@ -1455,7 +1465,7 @@ "message": "Iestājās autentificēšanās sesijas noildze. Lūgums sākt pieteikšanos no jauna." }, "verificationCodeEmailSent": { - "message": "E-pasts apstiprināšanai nosūtīts uz $EMAIL$.", + "message": "Apliecinājuma e-pasta ziņojums nosūtīts uz $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Automātiskās aizpildes ieteikumi" }, + "autofillSpotlightTitle": { + "message": "Viegla automātiskās aizpildes ieteikumu atrašana" + }, + "autofillSpotlightDesc": { + "message": "Jāizslēdz sava pārlūka automātiskās aizpildes iestatījumi, lai tie nebūtu pretrunā ar Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Izslēgt $BROWSER$ automātisko aizpildi", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Izslēgt automātisko aizpildi" + }, "showInlineMenuLabel": { "message": "Rādīt automātiskās aizpildes ieteikumuis veidlapu laukos" }, @@ -1718,7 +1746,7 @@ "description": "This describes a value that is 'linked' (tied) to another value." }, "popup2faCloseMessage": { - "message": "Klikšķināšana ārpus uznirstošā loga, lai e-pastā apskatītu apstiprinājuma kodu, to aizvērs. Vai atvērt to atsevišķā logā, lai tas netiktu aizvērts?" + "message": "Klikšķināšana ārpus uznirstošā loga, lai e-pastā apskatītu apliecinājuma kodu, to aizvērs. Vai atvērt to atsevišķā logā, lai tas netiktu aizvērts?" }, "popupU2fCloseMessage": { "message": "Šis pārlūks nevar apstrādāt U2F pieprasījumus šajā uznirstošajā logā. Vai atvērt to atsevišķā logā, lai varētu pieteikties, izmantojot U2F?" @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Noildzes darbība" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Jaunas pielāgošanas iespējas" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Savu glabātavas pieredzi var pielāgot ar ātrām kopēšanas darbībām, ciešo izkārtojumu un vēl." - }, - "newCustomizationOptionsCalloutLink": { - "message": "Apskatīt visus izskata iestatījumus" - }, "lock": { "message": "Slēgt", "description": "Verb form: to make secure or inaccessible by" @@ -2849,13 +2868,13 @@ "message": "Šī darbība ir aizsargāta. Lai turpinātu, ir jāievada galvenā parole, lai apliecinātu savu identitāti." }, "emailVerificationRequired": { - "message": "Nepieciešama e-pasta adreses apstiprināšana" + "message": "Nepieciešama e-pasta adreses apliecināšana" }, "emailVerifiedV2": { "message": "E-pasta adrese ir apliecināta" }, "emailVerificationRequiredDesc": { - "message": "Ir nepieciešams apstiprināt e-pasta adresi, lai būtu iespējams izmantot šo iespēju. To var izdarīt tīmekļa glabātavā." + "message": "Ir nepieciešams apliecināt savu e-pasta adresi, lai būtu iespējams izmantot šo iespēju. To var izdarīt tīmekļa glabātavā." }, "updatedMasterPassword": { "message": "Galvenā parole atjaunināta" @@ -3762,7 +3781,7 @@ "description": "Screen reader text (aria-label) for unlock account button in overlay" }, "totpCodeAria": { - "message": "Laikā balstīts vienreizējas izmantošanas paroles apliecināšanas kods", + "message": "Laikā balstīts vienreizējas izmantošanas paroles apliecinājuma kods", "description": "Aria label for the totp code displayed in the inline menu for autofill" }, "totpSecondsSpanAria": { @@ -3855,7 +3874,7 @@ "message": "Jāmēģina vēlreiz" }, "verificationRequiredForActionSetPinToContinue": { - "message": "Šai darbībai ir nepieciešama apliecināšana. Jāiestata PIN, lai turpinātu." + "message": "Šai darbībai ir nepieciešama apliecinājums. Jāiestata PIN, lai turpinātu." }, "setPin": { "message": "Iestatīt PIN" @@ -4001,7 +4020,7 @@ "message": "Piekļuves atslēga netiks ievietota klonētajā vienumā. Vai turpināt šī vienuma klonēšanu?" }, "passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": { - "message": "Vietne, kurā tika uzsākta darbība, pieprasa pārbaudi. Šī iespēja vēl nav īstenota kontiem, kuriem nav galvenās paroles." + "message": "Vietne, kurā tika uzsākta darbība, pieprasa apliecinājumu. Šī iespēja vēl nav īstenota kontiem, kuriem nav galvenās paroles." }, "logInWithPasskeyQuestion": { "message": "Pieteikties ar piekļuves atslēgu?" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Lejupielādē no bitwarden.com tagad" }, + "getItOnGooglePlay": { + "message": "Iegūt to Google Play" + }, + "downloadOnTheAppStore": { + "message": "Lejupielādēt no App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Vai tiešām neatgriezeniski izdzēst šo pielikumu?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Neierobežotu paroļu skaitu var saglabāt neierobežotā ierīdžu daudzumā ar Bitwarden viedtālruņa, pārlūka un darbvirsmas lietotni." }, + "nudgeBadgeAria": { + "message": "1 paziņojums" + }, "emptyVaultNudgeTitle": { "message": "Ievietot esošas paroles" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Laipni lūdzam Tavā glabātavā!" }, - "hasItemsVaultNudgeBody": { - "message": "Automātiskās aizpldes vienumu pašreizējai lapai\nIzlases vienumi vieglai piekļuvei\nPārējo var meklēt glabātavā" + "hasItemsVaultNudgeBodyOne": { + "message": "Automātiska pašreizējās lapas vienumu aizpildīšana" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Vienumu izlase vieglai piekļuvei" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Meklē savā glabātavā kaut ko citu" }, "newLoginNudgeTitle": { "message": "Laika ietaupīšana ar automātisko aizpildi" @@ -5306,5 +5340,8 @@ "message": "Uzzināt vairāk par SSH aģentu", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Nav atļaujas apskatīt šo lapu. Jāmēģina pieteikties ar citu kontu." } } diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json index be6bb7d6eb1..e6de809dfbd 100644 --- a/apps/browser/src/_locales/ml/messages.json +++ b/apps/browser/src/_locales/ml/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "പൂട്ടുക", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/mr/messages.json b/apps/browser/src/_locales/mr/messages.json index 0654f92164a..dd347d822c7 100644 --- a/apps/browser/src/_locales/mr/messages.json +++ b/apps/browser/src/_locales/mr/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json index 535bc2c7750..f436c45ab75 100644 --- a/apps/browser/src/_locales/my/messages.json +++ b/apps/browser/src/_locales/my/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index 5d6016a8217..62b55eb6501 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Rediger før du lagrer", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ ble lagret i Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ ble oppdatert i Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Lagre som ny pålogging", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Oppdater pålogging", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Lagre pålogging", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autoutfyllingsforslag" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Vis autoutfyll-forslag i tekstbokser" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Handling ved tidsavbrudd" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nye tilpasningsmuligheter" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Vis alle utseendesinnstillinger" - }, "lock": { "message": "Lås", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Importer eksisterende passord" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Velkommen til hvelvet ditt!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Spar tid med auto-utfylling" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json index 535bc2c7750..f436c45ab75 100644 --- a/apps/browser/src/_locales/ne/messages.json +++ b/apps/browser/src/_locales/ne/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json index 1f8debfdde9..af637b2f4cd 100644 --- a/apps/browser/src/_locales/nl/messages.json +++ b/apps/browser/src/_locales/nl/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Nieuw Item, opent in nieuw venster", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Bewerken voor opslaan", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ opgeslagen in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "opslaan in Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ bijgewerkt in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "bijgewerkt in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "$ITEMTYPE$, $ITEMNAME$ selecteren", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Opslaan als nieuwe login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Login bijwerken", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Ontgrendel voor het opslaan van deze login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Login opslaan", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Suggesties automatisch invullen" }, + "autofillSpotlightTitle": { + "message": "Gemakkelijk suggesties voor automatisch invullen vinden" + }, + "autofillSpotlightDesc": { + "message": "Schakel de autofill-instellingen van je browser uit, zodat ze niet conflicteren met Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Automatisch invullen van $BROWSER$ uitschakelen", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Automatisch invullen uitschakelen" + }, "showInlineMenuLabel": { "message": "Suggesties voor automatisch invullen op formuliervelden weergeven" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Time-out actie" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nieuwe aanpassingsopties" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Pas je kluis ervaring aan met snelle kopieeracties, compacte modus en meer!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Alle weergave-instellingen bekijken" - }, "lock": { "message": "Vergrendelen", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Nu van bitwarden.com downloaden" }, + "getItOnGooglePlay": { + "message": "Download op Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Weet je zeker dat je deze bijlage definitief wilt verwijderen?" }, @@ -4583,7 +4608,7 @@ "description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher." }, "loginCredentials": { - "message": "Login referenties" + "message": "Inloggegevens" }, "authenticatorKey": { "message": "Authenticatiesleutel" @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Onbeperkt wachtwoorden opslaan op alle apparaten met Bitwarden-apps voor mobiel, browser en desktop." }, + "nudgeBadgeAria": { + "message": "1 melding" + }, "emptyVaultNudgeTitle": { "message": "Bestaande wachtwoorden importeren" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welkom in je kluis!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items voor de huidige pagina\nFavoriete items voor eenvoudige toegang\nDoorzoek je kluis naar iets anders" + "hasItemsVaultNudgeBodyOne": { + "message": "Automatisch invullen van items voor de huidige pagina" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Items als favoriet markeren voor gemakkelijke toegang" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Je kluis doorzoeken naar iets anders" }, "newLoginNudgeTitle": { "message": "Tijd besparen met automatisch aanvullen" @@ -5306,5 +5340,8 @@ "message": "Meer informatie over SSH-agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Je hebt geen rechten om deze pagina te bekijken. Probeer in te loggen met een ander account." } } diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json index 535bc2c7750..f436c45ab75 100644 --- a/apps/browser/src/_locales/nn/messages.json +++ b/apps/browser/src/_locales/nn/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json index 535bc2c7750..f436c45ab75 100644 --- a/apps/browser/src/_locales/or/messages.json +++ b/apps/browser/src/_locales/or/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json index c551282e727..16696e5f828 100644 --- a/apps/browser/src/_locales/pl/messages.json +++ b/apps/browser/src/_locales/pl/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Nowy element, otwiera się w nowym oknie", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edytuj przed zapisaniem", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ został zapisany w Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "zapisano w Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ został zaktualizowany w Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "zaktualizowano w Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Wybierz $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Zapisz jako nowy login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Zaktualizuj dane logowania", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Odblokuj, aby zapisać ten login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Zapisz dane logowania", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Sugestie autouzupełniania" }, + "autofillSpotlightTitle": { + "message": "Łatwe znajdowanie sugestii autouzupełniania" + }, + "autofillSpotlightDesc": { + "message": "Wyłącz ustawienia autouzupełniania swojej przeglądarki, aby nie kolidowały z Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Wyłącz autouzupełnianie $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Wyłącz autouzupełnienie" + }, "showInlineMenuLabel": { "message": "Pokaż sugestie autouzupełniania na polach formularza" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Akcja po przekroczeniu limitu czasu" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nowe opcje dostosowywania" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Dostosuj swój sejf dzięki akcjom szybkiego kopiowania, trybowi kompaktowemu i więcej!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Zobacz wszystkie ustawienia wyglądu" - }, "lock": { "message": "Zablokuj", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Pobierz teraz z bitwarden.com" }, + "getItOnGooglePlay": { + "message": "Pobierz z Google Play" + }, + "downloadOnTheAppStore": { + "message": "Pobierz z App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Czy na pewno chcesz trwale usunąć ten załącznik?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Zapisuj nieograniczoną liczbę haseł na nieograniczonej liczbie urządzeń dzięki aplikacjom Bitwarden na urządzenia mobilne, przeglądarki i komputery stacjonarne." }, + "nudgeBadgeAria": { + "message": "1 powiadomienie" + }, "emptyVaultNudgeTitle": { "message": "Importuj istniejące hasła" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Witaj w Twoim Sejfie!" }, - "hasItemsVaultNudgeBody": { - "message": "Autouzupełnianie elementów dla bieżącej strony\nUlubione elementy dla łatwego dostępu\nPrzeszukaj swój sejf w poszukiwaniu czegoś innego" + "hasItemsVaultNudgeBodyOne": { + "message": "Autouzupełnianie elementów dla bieżącej strony" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Ulubione elementy dla szybkiego dostępu" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Przeszukaj swój sejf w poszukiwaniu czegoś innego" }, "newLoginNudgeTitle": { "message": "Oszczędzaj czas dzięki autouzupełnianiu" @@ -5306,5 +5340,8 @@ "message": "Dowiedz się więcej o agencie SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Nie masz uprawnień do przeglądania tej strony. Spróbuj zalogować się na inne konto." } } diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json index 65ef99cd95e..e5ca45500a5 100644 --- a/apps/browser/src/_locales/pt_BR/messages.json +++ b/apps/browser/src/_locales/pt_BR/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Salvar como nova sessão", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Atualizar sessão", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Sugestões de preenchimento automático" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Mostrar sugestões de preenchimento automático nos campos de formulários" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Ação do tempo" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Novas opções de personalização" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Personalize a experiência do seu cofre com ações de cópia rápida, modo compacto e muito mais!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Ver todas as configurações de aparência" - }, "lock": { "message": "Bloquear", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Tem certeza de que deseja excluir este anexo permanentemente?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Guarde quantas senhas quiser e acesse de qualquer lugar com o Bitwarden. No seu celular, navegador e computador." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Preencha automaticamente items para a página atual\nFavorite itens para acesso rápido\nPesquise seu cofre por outras coisas" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Seja mais rápido com o preenchimento automático" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json index 4b587672633..a4ed095c4db 100644 --- a/apps/browser/src/_locales/pt_PT/messages.json +++ b/apps/browser/src/_locales/pt_PT/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Novo item, abre numa nova janela", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Editar antes de guardar", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ guardado no Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "guardado no Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ atualizado no Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "atualizado no Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Selecionar $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Guardar como nova credencial", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Atualizar credencial", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Desbloqueie para guardar esta credencial", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Guardar credencial", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Sugestões de preenchimento automático" }, + "autofillSpotlightTitle": { + "message": "Encontre facilmente sugestões de preenchimento automático" + }, + "autofillSpotlightDesc": { + "message": "Desative as definições de preenchimento automático do seu navegador, para que não entrem em conflito com o Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Desative o preenchimento automático do $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Desativar o preenchimento automático" + }, "showInlineMenuLabel": { "message": "Mostrar sugestões de preenchimento automático nos campos do formulário" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Ação de tempo limite" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Novas opções de personalização" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Personalize a sua experiência no cofre com ações de cópia rápida, modo compacto e muito mais!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Ver todas as definições de Aspeto" - }, "lock": { "message": "Bloquear", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Descarregue já a partir de bitwarden.com" }, + "getItOnGooglePlay": { + "message": "Obtenha-a na Google Play" + }, + "downloadOnTheAppStore": { + "message": "Descarregue na App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Tem a certeza de que pretende eliminar permanentemente este anexo?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Guarde palavras-passe ilimitadas em dispositivos ilimitados com as apps Bitwarden para telemóvel, navegador e computador." }, + "nudgeBadgeAria": { + "message": "1 notificação" + }, "emptyVaultNudgeTitle": { "message": "Importar palavras-passe existentes" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Bem-vindo ao seu cofre!" }, - "hasItemsVaultNudgeBody": { - "message": "Preenchimento automático de itens para a página atual\nItens favoritos para um acesso fácil\nProcurar outra coisa no seu cofre" + "hasItemsVaultNudgeBodyOne": { + "message": "Preenchimento automático de itens para a página atual" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Adicione itens aos favoritos para fácil acesso" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Procure outras coisas no seu cofre" }, "newLoginNudgeTitle": { "message": "Poupe tempo com o preenchimento automático" @@ -5306,5 +5340,8 @@ "message": "Saiba mais sobre o agente SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Não tem permissões para ver esta página. Tente iniciar sessão com uma conta diferente." } } diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json index 648c2e06d53..71990435ad2 100644 --- a/apps/browser/src/_locales/ro/messages.json +++ b/apps/browser/src/_locales/ro/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Blocare", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json index ebf053af3b6..2d23c5352e5 100644 --- a/apps/browser/src/_locales/ru/messages.json +++ b/apps/browser/src/_locales/ru/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Новый элемент, откроется в новом окне", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Изменить перед сохранением", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ сохранен в Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "сохранено в Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ обновлен в Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "обновлено в Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Выберите $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Сохранить как новый логин", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Обновить логин", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Разблокировать, чтобы сохранить этот логин", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Сохранить логин", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Предложения по автозаполнению" }, + "autofillSpotlightTitle": { + "message": "Легкий поиск предложений автозаполнения" + }, + "autofillSpotlightDesc": { + "message": "Отключите настройки автозаполнения в браузере, чтобы они не конфликтовали с Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Отключить автозаполнение $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Отключить автозаполнение" + }, "showInlineMenuLabel": { "message": "Показывать предположения автозаполнения в полях формы" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Тайм-аут действия" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Новые возможности настроек" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Настройте работу с хранилищем с помощью действий быстрого копирования, компактного режима и многого другого!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Посмотреть все настройки внешнего вида" - }, "lock": { "message": "Блокировка", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Скачать с bitwarden.com" }, + "getItOnGooglePlay": { + "message": "Получить на Google Play" + }, + "downloadOnTheAppStore": { + "message": "Скачать из App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Вы уверены, что хотите навсегда удалить это вложение?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Сохраняйте неограниченное количество паролей на неограниченном количестве устройств с помощью мобильных, браузерных и десктопных приложений Bitwarden." }, + "nudgeBadgeAria": { + "message": "1 уведомление" + }, "emptyVaultNudgeTitle": { "message": "Импорт существующих паролей" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Добро пожаловать в ваше хранилище!" }, - "hasItemsVaultNudgeBody": { - "message": "Автозаполнение элементов для текущей страницы\nИзбранные элементы для легкого доступа\nПоиск в хранилище для чего-либо еще" + "hasItemsVaultNudgeBodyOne": { + "message": "Автозаполнение элементов на текущей странице" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Избранные элементы для легкого доступа" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Ищите в своем хранилище все, что хотите" }, "newLoginNudgeTitle": { "message": "Экономьте время с помощью автозаполнения" @@ -5306,5 +5340,8 @@ "message": "Узнайте больше об агенте SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "У вас нет прав для просмотра этой страницы. Попробуйте авторизоваться под другим аккаунтом." } } diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json index 87443d89615..308404946b3 100644 --- a/apps/browser/src/_locales/si/messages.json +++ b/apps/browser/src/_locales/si/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "අගුල", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json index 81ac2a23620..e8d2993a8df 100644 --- a/apps/browser/src/_locales/sk/messages.json +++ b/apps/browser/src/_locales/sk/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Nová položka, otvorí sa v novom okne", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Upraviť pred uložením", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ uložené do Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "uložené do Bitwardenu.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ aktualizované v Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "aktualizované v Bitwardene.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Vybrať $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Uložiť ako nové prihlasovacie údaje", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Aktualizovať prihlasovacie údaje", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Odomknúť na uloženie prihlasovacích údajov", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Uložiť prihlasovacie údaje", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Návrhy automatického vypĺňania" }, + "autofillSpotlightTitle": { + "message": "Jednoduché vyhľadávanie návrhov na automatické vypĺňanie" + }, + "autofillSpotlightDesc": { + "message": "Vypnite nastavenia automatického vypĺňania v prehliadači, aby nedošlo ku konfliktu s Bitwardenom." + }, + "turnOffBrowserAutofill": { + "message": "Vypnúť automatické vypĺňanie v $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Vypnúť automatické vypĺňanie" + }, "showInlineMenuLabel": { "message": "Zobraziť návrhy automatického vypĺňania v poliach formulára" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Akcia pri vypršaní časového limitu" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Nové možnosti prispôsobenia" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Prispôsobte si trezor pomocou akcií rýchleho kopírovania, kompaktného režimu a ďalších možností!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Zobraziť všetky nastavenia vzhľadu" - }, "lock": { "message": "Uzamknúť", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Stiahnuť teraz z bitwarden.com" }, + "getItOnGooglePlay": { + "message": "Získať z Google Play" + }, + "downloadOnTheAppStore": { + "message": "Stiahnuť z App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Naozaj chcete natrvalo odstrániť túto prílohu?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Ukladajte neobmedzený počet hesiel na neobmedzenom počte zariadení pomocou mobilných aplikácií, prehliadačov a desktopových aplikácií Bitwardenu." }, + "nudgeBadgeAria": { + "message": "1 upozornenie" + }, "emptyVaultNudgeTitle": { "message": "Import existujúcich hesiel" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Vitajte vo svojom trezore!" }, - "hasItemsVaultNudgeBody": { - "message": "Automatické vypĺňanie položiek pre aktuálnu stránku\nObľúbené položky pre ľahký prístup\nVyhľadajte v trezore niečo iné" + "hasItemsVaultNudgeBodyOne": { + "message": "Položky na automatické vypĺňanie pre aktuálnu stránku" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Obľúbené položky pre jednoduchý prístup" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Vyhľadajte v trezore niečo iné" }, "newLoginNudgeTitle": { "message": "Ušetrite čas s automatickým vypĺňaním" @@ -5306,5 +5340,8 @@ "message": "Viac informácií o agentovi SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Nemáte oprávnenie na zobrazenie tejto stránky. Skúste sa prihlásiť pomocou iného účtu." } } diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json index 7bc5abe9e0f..65ee31c888c 100644 --- a/apps/browser/src/_locales/sl/messages.json +++ b/apps/browser/src/_locales/sl/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Zaklepanje", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index 55ecd18295b..255b8dfb924 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Уреди пре сачувавања", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ сачувано и Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ ажурирано у Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Сачувати као нову пријаву", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Ажурирати пријаву", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Сачувати пријаву", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Предлог за ауто-попуњавања" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Прикажи предлоге за ауто-попуњавање у пољима обрасца" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Акција тајмаута" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Нове опције прилагођавања" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Прилагодите своје искуство сефа помоћу брзих акција копирања, компактног режима и још много тога!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Погледајте сва подешавања изглед" - }, "lock": { "message": "Закључај", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Да ли сте сигурни да желите да трајно избришете овај прилог?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Сачувајте неограничене лозинке на неограниченим уређајима помоћу Bitwarden мобилних апликација, претраживача и десктоп апликација." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Увоз постојеће лозинке" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Добродошли у ваш сеф!" }, - "hasItemsVaultNudgeBody": { - "message": "Ауто-пуњење предмета за тренутну страницу\nОмиљени предмети за лак приступ\nПретражите сеф за нешто друго" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Уштедите време са ауто-пуњењем" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index 16f28c3f5ed..3a063f8f066 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -578,10 +578,10 @@ "message": "Unfavorite" }, "itemAddedToFavorites": { - "message": "Item added to favorites" + "message": "Objekt tillagt i favoriter" }, "itemRemovedFromFavorites": { - "message": "Item removed from favorites" + "message": "Objekt borttaget från favoriter" }, "notes": { "message": "Anteckningar" @@ -608,10 +608,10 @@ "message": "Öppna" }, "launchWebsite": { - "message": "Launch website" + "message": "Öppna webbplats" }, "launchWebsiteName": { - "message": "Launch website $ITEMNAME$", + "message": "Öppna webbplats $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -641,10 +641,10 @@ "message": "Ställ in en upplåsningsmetod i Inställningar" }, "sessionTimeoutHeader": { - "message": "Session timeout" + "message": "Timeout för session" }, "vaultTimeoutHeader": { - "message": "Vault timeout" + "message": "Timeout för valv" }, "otherOptions": { "message": "Andra alternativ" @@ -656,13 +656,13 @@ "message": "Din webbläsare har inte stöd för att enkelt kopiera till urklipp. Kopiera till urklipp manuellt istället." }, "verifyYourIdentity": { - "message": "Verify your identity" + "message": "Verifiera din identitet" }, "weDontRecognizeThisDevice": { "message": "We don't recognize this device. Enter the code sent to your email to verify your identity." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "Fortsätt logga in" }, "yourVaultIsLocked": { "message": "Ditt valv är låst. Verifiera din identitet för att fortsätta." @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Förslag för autofyll" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Visa förslag för autofyll i formulärfält" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lås", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json index 535bc2c7750..f436c45ab75 100644 --- a/apps/browser/src/_locales/te/messages.json +++ b/apps/browser/src/_locales/te/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Lock", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json index 43a940196aa..19430463090 100644 --- a/apps/browser/src/_locales/th/messages.json +++ b/apps/browser/src/_locales/th/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Autofill suggestions" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Show autofill suggestions on form fields" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "ล็อก", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json index d97b023a695..700e9b73881 100644 --- a/apps/browser/src/_locales/tr/messages.json +++ b/apps/browser/src/_locales/tr/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "Yeni kayıt (yeni pencerede açılır)", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Kaydetmeden önce düzenle", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ Bitwarden'a kaydedildi.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "Bitwarden’a kaydedildi.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ Bitwarden'da güncellendi.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "Bitwarden’da güncellendi.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Seç: $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Yeni hesap olarak kaydet", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Hesabı güncelle", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Bu hesabı kaydetmek için kilidi açın", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Hesabı kaydet", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Otomatik doldurma önerileri" }, + "autofillSpotlightTitle": { + "message": "Otomatik doldurma önerilerini kolayca bulun" + }, + "autofillSpotlightDesc": { + "message": "Bitwarden ile çakışmaması için tarayıcınızın otomatik doldurma ayarını kapatın." + }, + "turnOffBrowserAutofill": { + "message": "$BROWSER$ ile otomatik doldurmayı kapat", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Otomatik doldurmayı kapat" + }, "showInlineMenuLabel": { "message": "Form alanlarında otomatik doldurma önerilerini göster" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Zaman aşımı eylemi" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Yeni özelleştirme seçenekleri" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Görünüm ayarlarının hepsini göster" - }, "lock": { "message": "Kilitle", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Şimdi bitwarden.com’dan indirin" }, + "getItOnGooglePlay": { + "message": "Google Play'den edinin" + }, + "downloadOnTheAppStore": { + "message": "App Store'dan indirin" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Bu dosyayı kalıcı olarak silmek istediğinizden emin misiniz?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Bitwarden mobil, tarayıcı ve masaüstü uygulamalarıyla istediğiniz kadar cihaza istediğiniz kadar parola kaydedebilirsiniz." }, + "nudgeBadgeAria": { + "message": "1 bildirim" + }, "emptyVaultNudgeTitle": { "message": "Mevcut parolaları içe aktar" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Kasanıza hoş geldiniz!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Otomatik doldurmayla zaman kazanın" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "Bu sayfayı görüntüleme izniniz yok. Farklı bir hesapla giriş yapmayı deneyin." } } diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index 8de8ba8a97b..b0c78a17106 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Редагувати перед збереженням", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ збережено до Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ оновлено в Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Зберегти як новий запис", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Оновити запис", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Зберегти запис", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Пропозиції автозаповнення" }, + "autofillSpotlightTitle": { + "message": "Користуйтеся пропозиціями автозаповнення" + }, + "autofillSpotlightDesc": { + "message": "Вимкніть налаштування автозаповнення вашого браузера, щоб вони не конфліктували з Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Вимкнути автозаповнення $BROWSER$", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Вимкніть автозаповнення" + }, "showInlineMenuLabel": { "message": "Пропозиції автозаповнення на полях форм" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Дія після часу очікування" }, - "newCustomizationOptionsCalloutTitle": { - "message": "Нові можливості налаштування" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Налаштуйте своє сховище за допомогою швидких дій копіювання, компактного режиму та інших можливостей!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "Всі налаштування подання" - }, "lock": { "message": "Блокувати", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Завантажити з bitwarden.com" }, + "getItOnGooglePlay": { + "message": "Завантажити з Google Play" + }, + "downloadOnTheAppStore": { + "message": "Завантажити з App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Ви дійсно хочете остаточно видалити це вкладення?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Зберігайте скільки завгодно паролів на необмеженій кількості пристроїв, використовуючи Bitwarden для мобільних пристроїв, браузерів та комп'ютерів." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Імпортуйте наявні паролі" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Вітаємо у вашому сховищі!" }, - "hasItemsVaultNudgeBody": { - "message": "Автозаповнення на відкритій сторінці\nОбрані записи для легкого доступу\nПошук будь-яких даних у сховищі" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Заощаджуйте час з автозаповненням" @@ -5306,5 +5340,8 @@ "message": "Докладніше про SSH-агента", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json index ec9dc82e6ca..14649828aaf 100644 --- a/apps/browser/src/_locales/vi/messages.json +++ b/apps/browser/src/_locales/vi/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "Các gợi ý điền tự động" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "Hiển thị các gợi ý tự động điền trên các trường biểu mẫu" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "Timeout action" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "Khóa", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "Bạn có chắc chắn muốn xóa vĩnh viễn tệp đính kèm này không?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index a453fe8580a..e0bc34bd47d 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "新增项目,在新窗口中打开", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "保存前编辑", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ 已保存到 Bitwarden。", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "已保存到 Bitwarden。", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ 已在 Bitwarden 中更新。", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "已更新到 Bitwarden。", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "保存为新的登录", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "更新登录", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "解锁以保存此登录", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "保存登录", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "自动填充建议" }, + "autofillSpotlightTitle": { + "message": "轻松找到自动填充建议" + }, + "autofillSpotlightDesc": { + "message": "关闭浏览器的自动填充设置,以免与 Bitwarden 产生冲突。" + }, + "turnOffBrowserAutofill": { + "message": "关闭 $BROWSER$ 的自动填充", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "关闭自动填充" + }, "showInlineMenuLabel": { "message": "在表单字段中显示自动填充建议" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "超时动作" }, - "newCustomizationOptionsCalloutTitle": { - "message": "新的自定义选项" - }, - "newCustomizationOptionsCalloutContent": { - "message": "自定义您的密码库体验,包括快速复制操作、紧凑模式等!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "查看所有外观设置" - }, "lock": { "message": "锁定", "description": "Verb form: to make secure or inaccessible by" @@ -4528,11 +4547,17 @@ "message": "获取桌面 App" }, "getTheDesktopAppDesc": { - "message": "不使用浏览器访问您的密码库,然后设置生物识别解锁,从而在桌面 App 和浏览器扩展中实现快速解锁。" + "message": "无需浏览器也可访问您的密码库。在桌面 App 和浏览器扩展中设置生物识别解锁,以实现快速解锁。" }, "downloadFromBitwardenNow": { "message": "立即从 bitwarden.com 下载" }, + "getItOnGooglePlay": { + "message": "从 Google Play 获取" + }, + "downloadOnTheAppStore": { + "message": "从 App Store 下载" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "您确定要永久删除此附件吗?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "使用 Bitwarden 移动端、浏览器和桌面 App 在无限制的设备上保存无限数量的密码。" }, + "nudgeBadgeAria": { + "message": "1 个通知" + }, "emptyVaultNudgeTitle": { "message": "导入现有密码" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "欢迎来到您的密码库!" }, - "hasItemsVaultNudgeBody": { - "message": "自动填充项目用于当前页面\n收藏夹项目用于轻松访问\n搜索密码库用于其他目的" + "hasItemsVaultNudgeBodyOne": { + "message": "自动填充项目用于当前页面" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "收藏项目用于轻松访问" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "搜索密码库用于其他" }, "newLoginNudgeTitle": { "message": "使用自动填充节省时间" @@ -5306,5 +5340,8 @@ "message": "进一步了解 SSH 代理", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "您没有查看此页面的权限。请尝试使用其他账户登录。" } } diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json index ddea3dd7fc6..e9eab0a726d 100644 --- a/apps/browser/src/_locales/zh_TW/messages.json +++ b/apps/browser/src/_locales/zh_TW/messages.json @@ -1071,6 +1071,10 @@ }, "description": "Aria label for the view button in notification bar confirmation message" }, + "notificationNewItemAria": { + "message": "New Item, opens in new window", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, "notificationEditTooltip": { "message": "Edit before saving", "description": "Tooltip and Aria label for edit button on cipher item" @@ -1088,24 +1092,26 @@ } } }, - "loginSaveConfirmation": { - "message": "$ITEMNAME$ saved to Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginSaveConfirmation": { + "message": "saved to Bitwarden.", "description": "Shown to user after item is saved." }, - "loginUpdatedConfirmation": { - "message": "$ITEMNAME$ updated in Bitwarden.", - "placeholders": { - "itemName": { - "content": "$1" - } - }, + "notificationLoginUpdatedConfirmation": { + "message": "updated in Bitwarden.", "description": "Shown to user after item is updated." }, + "selectItemAriaLabel": { + "message": "Select $ITEMTYPE$, $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, "saveAsNewLoginAction": { "message": "Save as new login", "description": "Button text for saving login details as a new entry." @@ -1114,6 +1120,10 @@ "message": "Update login", "description": "Button text for updating an existing login entry." }, + "unlockToSave": { + "message": "Unlock to save this login", + "description": "User prompt to take action in order to save the login they just entered." + }, "saveLogin": { "message": "Save login", "description": "Prompt asking the user if they want to save their login details." @@ -1589,6 +1599,24 @@ "autofillSuggestionsSectionTitle": { "message": "自動填入建議" }, + "autofillSpotlightTitle": { + "message": "Easily find autofill suggestions" + }, + "autofillSpotlightDesc": { + "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + }, + "turnOffBrowserAutofill": { + "message": "Turn off $BROWSER$ autofill", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "Turn off autofill" + }, "showInlineMenuLabel": { "message": "在表單欄位上顯示自動填入選單" }, @@ -2199,15 +2227,6 @@ "vaultTimeoutAction1": { "message": "逾時後動作" }, - "newCustomizationOptionsCalloutTitle": { - "message": "New customization options" - }, - "newCustomizationOptionsCalloutContent": { - "message": "Customize your vault experience with quick copy actions, compact mode, and more!" - }, - "newCustomizationOptionsCalloutLink": { - "message": "View all Appearance settings" - }, "lock": { "message": "鎖定", "description": "Verb form: to make secure or inaccessible by" @@ -4533,6 +4552,12 @@ "downloadFromBitwardenNow": { "message": "Download from bitwarden.com now" }, + "getItOnGooglePlay": { + "message": "Get it on Google Play" + }, + "downloadOnTheAppStore": { + "message": "Download on the App Store" + }, "permanentlyDeleteAttachmentConfirmation": { "message": "您確定要永久刪除此附檔嗎?" }, @@ -5243,6 +5268,9 @@ "secureDevicesBody": { "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." }, + "nudgeBadgeAria": { + "message": "1 notification" + }, "emptyVaultNudgeTitle": { "message": "Import existing passwords" }, @@ -5255,8 +5283,14 @@ "hasItemsVaultNudgeTitle": { "message": "Welcome to your vault!" }, - "hasItemsVaultNudgeBody": { - "message": "Autofill items for the current page\nFavorite items for easy access\nSearch your vault for something else" + "hasItemsVaultNudgeBodyOne": { + "message": "Autofill items for the current page" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "Favorite items for easy access" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "Search your vault for something else" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -5306,5 +5340,8 @@ "message": "Learn more about SSH agent", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "noPermissionsViewPage": { + "message": "You do not have permissions to view this page. Try logging in with a different account." } } diff --git a/apps/browser/src/autofill/content/components/buttons/action-button.ts b/apps/browser/src/autofill/content/components/buttons/action-button.ts index 41d92a0449d..8d8bfacec77 100644 --- a/apps/browser/src/autofill/content/components/buttons/action-button.ts +++ b/apps/browser/src/autofill/content/components/buttons/action-button.ts @@ -64,6 +64,10 @@ const actionButtonStyles = ({ disabled, theme }: { disabled: boolean; theme: The background-color: ${themes[theme].primary["700"]}; color: ${themes[theme].text.contrast}; } + :focus { + outline: 2px solid ${themes[theme].primary["600"]}; + outline-offset: 1px; + } `} svg { diff --git a/apps/browser/src/autofill/content/components/buttons/badge-button.ts b/apps/browser/src/autofill/content/components/buttons/badge-button.ts index 9852c07d47b..3cdd453ee1a 100644 --- a/apps/browser/src/autofill/content/components/buttons/badge-button.ts +++ b/apps/browser/src/autofill/content/components/buttons/badge-button.ts @@ -8,15 +8,19 @@ import { border, themes, typography, spacing } from "../constants/styles"; export type BadgeButtonProps = { buttonAction: (e: Event) => void; buttonText: string; + itemName: string; disabled?: boolean; theme: Theme; + username?: string; }; export function BadgeButton({ buttonAction, buttonText, disabled = false, + itemName, theme, + username, }: BadgeButtonProps) { const handleButtonClick = (event: Event) => { if (!disabled) { @@ -28,6 +32,7 @@ export function BadgeButton({ `; diff --git a/apps/browser/src/autofill/content/components/cipher/cipher-action.ts b/apps/browser/src/autofill/content/components/cipher/cipher-action.ts index 94bfa2c73c1..34ad5e1c9a9 100644 --- a/apps/browser/src/autofill/content/components/cipher/cipher-action.ts +++ b/apps/browser/src/autofill/content/components/cipher/cipher-action.ts @@ -8,8 +8,10 @@ import { I18n } from "../common-types"; export type CipherActionProps = { handleAction?: (e: Event) => void; i18n: I18n; + itemName: string; notificationType: typeof NotificationTypes.Change | typeof NotificationTypes.Add; theme: Theme; + username?: string; }; export function CipherAction({ @@ -17,14 +19,18 @@ export function CipherAction({ /* no-op */ }, i18n, + itemName, notificationType, theme, + username, }: CipherActionProps) { return notificationType === NotificationTypes.Change ? BadgeButton({ buttonAction: handleAction, buttonText: i18n.notificationUpdate, + itemName, theme, + username, }) : EditButton({ buttonAction: handleAction, diff --git a/apps/browser/src/autofill/content/components/cipher/cipher-item.ts b/apps/browser/src/autofill/content/components/cipher/cipher-item.ts index c290b68a291..ab3b57f535c 100644 --- a/apps/browser/src/autofill/content/components/cipher/cipher-item.ts +++ b/apps/browser/src/autofill/content/components/cipher/cipher-item.ts @@ -32,14 +32,21 @@ export function CipherItem({ notificationType, theme = ThemeTypes.Light, }: CipherItemProps) { - const { icon } = cipher; + const { icon, name, login } = cipher; const uri = (icon.imageEnabled && icon.image) || undefined; let cipherActionButton = null; if (notificationType === NotificationTypes.Change || notificationType === NotificationTypes.Add) { cipherActionButton = html`
- ${CipherAction({ handleAction, i18n, notificationType, theme })} + ${CipherAction({ + handleAction, + i18n, + itemName: name, + notificationType, + theme, + username: login?.username, + })}
`; } diff --git a/apps/browser/src/autofill/content/components/lit-stories/buttons/close-button.lit-stories.ts b/apps/browser/src/autofill/content/components/lit-stories/buttons/close-button.lit-stories.ts index 56e66654cb8..886c16c7515 100644 --- a/apps/browser/src/autofill/content/components/lit-stories/buttons/close-button.lit-stories.ts +++ b/apps/browser/src/autofill/content/components/lit-stories/buttons/close-button.lit-stories.ts @@ -3,6 +3,7 @@ import { Meta, StoryObj } from "@storybook/web-components"; import { ThemeTypes } from "@bitwarden/common/platform/enums/theme-type.enum"; import { CloseButton, CloseButtonProps } from "../../buttons/close-button"; +import { mockI18n } from "../mock-data"; export default { title: "Components/Buttons/Close Button", @@ -15,6 +16,7 @@ export default { handleCloseNotification: () => { alert("Close button clicked!"); }, + i18n: mockI18n, }, parameters: { design: { diff --git a/apps/browser/src/autofill/content/components/lit-stories/mock-data.ts b/apps/browser/src/autofill/content/components/lit-stories/mock-data.ts index 7ca347ecb14..81cdf5a50f3 100644 --- a/apps/browser/src/autofill/content/components/lit-stories/mock-data.ts +++ b/apps/browser/src/autofill/content/components/lit-stories/mock-data.ts @@ -127,6 +127,7 @@ export const mockI18n = { notificationUnlock: "Unlock", notificationUnlockDesc: "Unlock your Bitwarden vault to complete the autofill request.", notificationViewAria: `View $ITEMNAME$, opens in new window`, + notificationNewItemAria: "New Item, opens in new window", saveAction: "Save", saveAsNewLoginAction: "Save as new login", saveFailure: "Error saving", diff --git a/apps/browser/src/autofill/content/components/notification/confirmation/body.ts b/apps/browser/src/autofill/content/components/notification/confirmation/body.ts index 8286202b498..6bb94cab2c6 100644 --- a/apps/browser/src/autofill/content/components/notification/confirmation/body.ts +++ b/apps/browser/src/autofill/content/components/notification/confirmation/body.ts @@ -37,7 +37,7 @@ export function NotificationConfirmationBody({ theme, handleOpenVault, }: NotificationConfirmationBodyProps) { - const IconComponent = tasksAreComplete ? Keyhole : !error ? Celebrate : Warning; + const IconComponent = error ? Warning : tasksAreComplete ? Celebrate : Keyhole; const showConfirmationMessage = confirmationMessage || buttonText || messageDetails; @@ -48,8 +48,7 @@ export function NotificationConfirmationBody({ ? NotificationConfirmationMessage({ buttonAria, buttonText, - error, - itemName, + itemName: error ? undefined : itemName, message: confirmationMessage, messageDetails, theme, @@ -63,7 +62,7 @@ export function NotificationConfirmationBody({ const iconContainerStyles = (error?: string) => css` > svg { width: ${!error ? "50px" : "40px"}; - height: fit-content; + height: auto; } `; const notificationConfirmationBodyStyles = ({ theme }: { theme: Theme }) => css` diff --git a/apps/browser/src/autofill/content/components/notification/confirmation/container.ts b/apps/browser/src/autofill/content/components/notification/confirmation/container.ts index d4d66c7a7be..dabb21e7d17 100644 --- a/apps/browser/src/autofill/content/components/notification/confirmation/container.ts +++ b/apps/browser/src/autofill/content/components/notification/confirmation/container.ts @@ -45,13 +45,15 @@ export function NotificationConfirmationContainer({ const headerMessage = getHeaderMessage(i18n, type, error); const confirmationMessage = getConfirmationMessage(i18n, type, error); const buttonText = error ? i18n.newItem : i18n.view; - const buttonAria = chrome.i18n.getMessage("notificationViewAria", [itemName]); + const buttonAria = error + ? i18n.notificationNewItemAria + : chrome.i18n.getMessage("notificationViewAria", [itemName]); let messageDetails: string | undefined; let remainingTasksCount: number | undefined; - let tasksAreComplete: boolean = false; + let tasksAreComplete: boolean = true; - if (task) { + if (task && !error) { remainingTasksCount = task.remainingTasksCount || 0; tasksAreComplete = remainingTasksCount === 0; @@ -68,6 +70,7 @@ export function NotificationConfirmationContainer({
${NotificationHeader({ handleCloseNotification, + i18n, message: headerMessage, theme, })} @@ -82,7 +85,7 @@ export function NotificationConfirmationContainer({ theme, handleOpenVault, })} - ${remainingTasksCount + ${!error && remainingTasksCount ? NotificationConfirmationFooter({ i18n, theme, diff --git a/apps/browser/src/autofill/content/components/notification/confirmation/message.ts b/apps/browser/src/autofill/content/components/notification/confirmation/message.ts index 8fdda593382..7f15d882297 100644 --- a/apps/browser/src/autofill/content/components/notification/confirmation/message.ts +++ b/apps/browser/src/autofill/content/components/notification/confirmation/message.ts @@ -8,7 +8,6 @@ import { spacing, themes, typography } from "../../constants/styles"; export type NotificationConfirmationMessageProps = { buttonAria?: string; buttonText?: string; - error?: string; itemName?: string; message?: string; messageDetails?: string; @@ -19,7 +18,6 @@ export type NotificationConfirmationMessageProps = { export function NotificationConfirmationMessage({ buttonAria, buttonText, - error, itemName, message, messageDetails, @@ -31,7 +29,7 @@ export function NotificationConfirmationMessage({ ${message || buttonText ? html`
- ${!error && itemName + ${itemName ? html` ${itemName} ` diff --git a/apps/browser/src/autofill/content/components/notification/container.ts b/apps/browser/src/autofill/content/components/notification/container.ts index 94adb1e2549..313e3eecf01 100644 --- a/apps/browser/src/autofill/content/components/notification/container.ts +++ b/apps/browser/src/autofill/content/components/notification/container.ts @@ -53,6 +53,7 @@ export function NotificationContainer({
${NotificationHeader({ handleCloseNotification, + i18n, message: headerMessage, theme, })} diff --git a/apps/browser/src/autofill/content/components/notification/header.ts b/apps/browser/src/autofill/content/components/notification/header.ts index b2f8962917b..3d657b77ecd 100644 --- a/apps/browser/src/autofill/content/components/notification/header.ts +++ b/apps/browser/src/autofill/content/components/notification/header.ts @@ -4,6 +4,7 @@ import { html } from "lit"; import { Theme, ThemeTypes } from "@bitwarden/common/platform/enums"; import { CloseButton } from "../buttons/close-button"; +import { I18n } from "../common-types"; import { spacing, themes } from "../constants/styles"; import { BrandIconContainer } from "../icons/brand-icon-container"; @@ -16,6 +17,7 @@ const { css } = createEmotion({ }); export type NotificationHeaderProps = { + i18n: I18n; message?: string; standalone?: boolean; theme: Theme; @@ -23,6 +25,7 @@ export type NotificationHeaderProps = { }; export function NotificationHeader({ + i18n, message, standalone = false, theme = ThemeTypes.Light, @@ -35,7 +38,7 @@ export function NotificationHeader({
${showIcon ? BrandIconContainer({ theme }) : null} ${message ? NotificationHeaderMessage({ message, theme }) : null} - ${isDismissable ? CloseButton({ handleCloseNotification, theme }) : null} + ${isDismissable ? CloseButton({ handleCloseNotification, i18n, theme }) : null}
`; } diff --git a/apps/browser/src/background/nativeMessaging.background.ts b/apps/browser/src/background/nativeMessaging.background.ts index 2f869bcc799..0e55cc95872 100644 --- a/apps/browser/src/background/nativeMessaging.background.ts +++ b/apps/browser/src/background/nativeMessaging.background.ts @@ -204,6 +204,7 @@ export class NativeMessagingBackground { this.secureChannel.sharedSecret = new SymmetricCryptoKey(decrypted); this.logService.info("[Native Messaging IPC] Secure channel established"); + this.secureChannel.setupResolve(); break; } @@ -294,6 +295,7 @@ export class NativeMessagingBackground { async callCommand(message: Message): Promise { const messageId = this.messageId++; + const callback = new Promise((resolver, rejecter) => { this.callbacks.set(messageId, { resolver, rejecter }); }); diff --git a/apps/browser/src/key-management/biometrics/background-browser-biometrics.service.ts b/apps/browser/src/key-management/biometrics/background-browser-biometrics.service.ts index 2f99bb1d155..ef01ade7390 100644 --- a/apps/browser/src/key-management/biometrics/background-browser-biometrics.service.ts +++ b/apps/browser/src/key-management/biometrics/background-browser-biometrics.service.ts @@ -119,7 +119,7 @@ export class BackgroundBrowserBiometricsService extends BiometricsService { private async ensureConnected() { if (!this.nativeMessagingBackground().connected) { await this.nativeMessagingBackground().callCommand({ - command: BiometricsCommands.IsAvailable, + command: BiometricsCommands.GetBiometricsStatus, }); } } diff --git a/apps/browser/store/locales/fa/copy.resx b/apps/browser/store/locales/fa/copy.resx index 69816ce3590..2d45e114719 100644 --- a/apps/browser/store/locales/fa/copy.resx +++ b/apps/browser/store/locales/fa/copy.resx @@ -118,58 +118,58 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - مدیریت رمز عبور Bitwarden + مدیر کلمه عبور Bitwarden - در خانه، محل کار، یا در حال حرکت، Bitwarden به سادگی تمامی رمزهای عبور، passkeyها، و اطلاعات حساس شما را امن نگاه می‌دارد. + در خانه، محل کار، یا در حال حرکت، Bitwarden به سادگی تمامی کلمات عبور، کلیدها، و اطلاعات حساس شما را امن نگاه می‌دارد. - Recognized as the best password manager by PCMag, WIRED, The Verge, CNET, G2, and more! + شناخته‌شده به‌عنوان بهترین مدیر کلمه عبور توسط PCMag، WIRED، The Verge، CNET، G2 و دیگر منابع! -SECURE YOUR DIGITAL LIFE -Secure your digital life and protect against data breaches by generating and saving unique, strong passwords for every account. Maintain everything in an end-to-end encrypted password vault that only you can access. +امنیت زندگی دیجیتال شما +زندگی دیجیتال خود را ایمن کنید و با تولید و ذخیره کلمات عبور قوی و منحصر به فرد برای هر حساب کاربری، از نشت اطلاعات جلوگیری نمایید. همه چیز را در یک گاوصندوق کلمه عبور با رمزگذاری سرتاسری ذخیره کنید که فقط شما به آن دسترسی دارید. -ACCESS YOUR DATA, ANYWHERE, ANYTIME, ON ANY DEVICE -Easily manage, store, secure, and share unlimited passwords across unlimited devices without restrictions. +دسترسی به داده‌های شما، در هر زمان، در هر مکان، روی هر دستگاه +کلمات عبور را به‌صورت نامحدود روی دستگاه‌های مختلف مدیریت، ذخیره، ایمن‌سازی و به اشتراک بگذارید بدون هیچ محدودیتی. -EVERYONE SHOULD HAVE THE TOOLS TO STAY SAFE ONLINE -Utilize Bitwarden for free with no ads or selling data. Bitwarden believes everyone should have the ability to stay safe online. Premium plans offer access to advanced features. +همه باید ابزارهای ایمنی آنلاین را در اختیار داشته باشند +از Bitwarden به‌صورت رایگان استفاده کنید، بدون تبلیغات یا فروش داده‌ها. Bitwarden باور دارد که همه باید بتوانند در فضای آنلاین ایمن بمانند. طرح‌های پریمیوم، ویژگی‌های پیشرفته‌تری ارائه می‌دهند. -EMPOWER YOUR TEAMS WITH BITWARDEN -Plans for Teams and Enterprise come with professional business features. Some examples include SSO integration, self-hosting, directory integration and SCIM provisioning, global policies, API access, event logs, and more. +توانمندسازی تیم‌ها با Bitwarden +طرح‌های ویژه تیم‌ها و سازمان‌ها شامل ویژگی‌های حرفه‌ای برای کسب‌وکار هستند، مانند: ادغام SSO، میزبانی شخصی، ادغام با دایرکتوری و فراهم‌سازی SCIM، سیاست‌های جهانی، دسترسی API، گزارش رویدادها و موارد دیگر. -Use Bitwarden to secure your workforce and share sensitive information with colleagues. +از Bitwarden برای ایمن‌سازی محیط کاری و اشتراک‌گذاری اطلاعات حساس با همکاران استفاده کنید. +دلایل بیشتر برای انتخاب Bitwarden: -More reasons to choose Bitwarden: +رمزگذاری سطح جهانی + کلمات عبور با رمزگذاری پیشرفته سرتاسری (AES-256 بیت، هش نمکی، و PBKDF2 SHA-256) محافظت می‌شوند تا داده‌های شما امن و خصوصی باقی بمانند. -World-Class Encryption -Passwords are protected with advanced end-to-end encryption (AES-256 bit, salted hashtag, and PBKDF2 SHA-256) so your data stays secure and private. +ممیزی‌های امنیتی توسط اشخاص ثالث + Bitwarden به‌طور منظم توسط شرکت‌های معتبر امنیتی مورد ارزیابی و تست نفوذ قرار می‌گیرد. این بررسی‌ها شامل بررسی کد منبع و تست‌های امنیتی روی IPها، سرورها و اپلیکیشن‌های وب Bitwarden است. -3rd-party Audits -Bitwarden regularly conducts comprehensive third-party security audits with notable security firms. These annual audits include source code assessments and penetration testing across Bitwarden IPs, servers, and web applications. - -Advanced 2FA -Secure your login with a third-party authenticator, emailed codes, or FIDO2 WebAuthn credentials such as a hardware security key or passkey. +احراز هویت دومرحله‌ای پیشرفته (2FA) + ورود امن با استفاده از احراز هویت‌کننده‌های شخص ثالث، کدهای ایمیلی، یا گواهی‌نامه‌های FIDO2 WebAuthn مانند کلید امنیتی سخت‌افزاری یا کلید عبور. Bitwarden Send -Transmit data directly to others while maintaining end-to-end encrypted security and limiting exposure. + ارسال مستقیم داده‌ها با رمزگذاری سرتاسری، با امکان محدودسازی دسترسی و مدت زمان مشاهده. -Built-in Generator -Create long, complex, and distinct passwords and unique usernames for every site you visit. Integrate with email alias providers for additional privacy. +مولد داخلی + تولید کلمات عبور بلند، پیچیده و منحصربه‌فرد و همچنین نام‌های کاربری برای هر وب‌سایتی که بازدید می‌کنید. امکان ادغام با ارائه‌دهندگان ایمیل مستعار برای حفظ بیشتر حریم خصوصی. -Global Translations -Bitwarden translations exist for more than 60 languages, translated by the global community though Crowdin. +ترجمه‌های جهانی + Bitwarden به بیش از ۶۰ زبان در دسترس است که توسط جامعه جهانی از طریق Crowdin ترجمه شده‌اند. -Cross-Platform Applications -Secure and share sensitive data within your Bitwarden Vault from any browser, mobile device, or desktop OS, and more. +اپلیکیشن‌های چند سکویی + ایمن‌سازی و اشتراک‌گذاری داده‌ها از طریق هر مرورگر، دستگاه موبایل یا سیستم‌عامل دسکتاپ و موارد دیگر. -Bitwarden secures more than just passwords -End-to-end encrypted credential management solutions from Bitwarden empower organizations to secure everything, including developer secrets and passkey experiences. Visit Bitwarden.com to learn more about Bitwarden Secrets Manager and Bitwarden Passwordless.dev! +Bitwarden فقط کلمات عبور را ایمن نمی‌کند +راهکارهای مدیریت اعتبارات با رمزگذاری سرتاسری از Bitwarden به سازمان‌ها کمک می‌کند تا همه چیز را ایمن کنند، از جمله اسرار توسعه‌دهنده و تجربه‌های بدون کلمات عبور. +برای اطلاعات بیشتر درباره Bitwarden Secrets Manager و Bitwarden Passwordless.dev به وب‌سایت Bitwarden.com مراجعه کنید! - در خانه، محل کار، یا در حال حرکت، Bitwarden به سادگی تمامی رمزهای عبور، passkeyها، و اطلاعات حساس شما را امن نگاه می‌دارد. + در خانه، محل کار، یا در حال حرکت، Bitwarden به سادگی تمامی کلمات عبور، کلیدها، و اطلاعات حساس شما را امن نگاه می‌دارد. همگام‌سازی و دسترسی به گاوصندوق خود از دستگاه های مختلف diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock index a943eb6eae8..f3db03f8639 100644 --- a/apps/desktop/desktop_native/Cargo.lock +++ b/apps/desktop/desktop_native/Cargo.lock @@ -2514,9 +2514,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rsa" -version = "0.9.8" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" dependencies = [ "const-oid", "digest", diff --git a/apps/desktop/desktop_native/Cargo.toml b/apps/desktop/desktop_native/Cargo.toml index e22b584bb65..81149164253 100644 --- a/apps/desktop/desktop_native/Cargo.toml +++ b/apps/desktop/desktop_native/Cargo.toml @@ -38,7 +38,7 @@ oslog = "=0.2.0" pin-project = "=1.1.10" pkcs8 = "=0.10.2" rand = "=0.9.1" -rsa = "=0.9.8" +rsa = "=0.9.6" russh-cryptovec = "=0.7.3" scopeguard = "=1.2.0" security-framework = "=3.1.0" diff --git a/apps/desktop/desktop_native/build.js b/apps/desktop/desktop_native/build.js index da61da15f9d..2edd0e89616 100644 --- a/apps/desktop/desktop_native/build.js +++ b/apps/desktop/desktop_native/build.js @@ -45,6 +45,10 @@ function buildProxyBin(target, release = true) { } } +function installTarget(target) { + child_process.execSync(`rustup target add ${target}`, { stdio: 'inherit', cwd: __dirname }); +} + if (!crossPlatform && !target) { console.log(`Building native modules in ${mode} mode for the native architecture`); buildNapiModule(false, mode === "release"); @@ -54,6 +58,7 @@ if (!crossPlatform && !target) { if (target) { console.log(`Building for target: ${target} in ${mode} mode`); + installTarget(target); buildNapiModule(target, mode === "release"); buildProxyBin(target, mode === "release"); return; @@ -70,6 +75,7 @@ if (process.platform === "linux") { } platformTargets.forEach(([target, _]) => { + installTarget(target); buildNapiModule(target); buildProxyBin(target); }); diff --git a/apps/desktop/desktop_native/rust-toolchain.toml b/apps/desktop/desktop_native/rust-toolchain.toml new file mode 100644 index 00000000000..898a61f3f4b --- /dev/null +++ b/apps/desktop/desktop_native/rust-toolchain.toml @@ -0,0 +1,4 @@ +[toolchain] +channel = "1.85.0" +components = [ "rustfmt", "clippy" ] +profile = "minimal" diff --git a/apps/desktop/src/locales/af/messages.json b/apps/desktop/src/locales/af/messages.json index c3127cffe00..479f8f47c1f 100644 --- a/apps/desktop/src/locales/af/messages.json +++ b/apps/desktop/src/locales/af/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Voeg Nuwe Item Toe" }, - "addNewFolder": { - "message": "Voeg Nuwe Vouer Toe" - }, "view": { "message": "Bekyk" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha-bronadres", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Laai toeganklikheidskoekie" - }, - "registerAccessibilityUser": { - "message": "Registreer as toeganklikheidsgebruiker by", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopieer en plak die skakel wat na die e-pos hier onder gestuur is" - }, - "enterhCaptchaUrl": { - "message": "Voer die bronadres in om die toeganklikheidskoekie vir hCaptcha te laai", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha-bronadres word benodig", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Ongeldige bronadres" - }, "done": { "message": "Klaar" }, - "accessibilityCookieSaved": { - "message": "Toeganklikheidskoekie is bewaar!" - }, - "noAccessibilityCookieSaved": { - "message": "Geen toeganklikheidskoekie is bewaar nie" - }, "warning": { "message": "WAARSKUWING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ar/messages.json b/apps/desktop/src/locales/ar/messages.json index d9d4241e723..510c1aa918a 100644 --- a/apps/desktop/src/locales/ar/messages.json +++ b/apps/desktop/src/locales/ar/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "إضافة عنصر جديد" }, - "addNewFolder": { - "message": "إضافة مجلد جديد" - }, "view": { "message": "عرض" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"كلمة مرور الملف\" و \"تأكيد كلمة مرور الملف\" غير متطابقين." }, - "hCaptchaUrl": { - "message": "رابط hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "تحميل ملف تعريف الارتباط الخاص بإمكانية الوصول" - }, - "registerAccessibilityUser": { - "message": "تسجيل كمستخدم مع إمكانية الوصول في", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "نسخ وصق الرابط المرسل إلى بريدك الإلكتروني أدناه" - }, - "enterhCaptchaUrl": { - "message": "أدخل عنوان URL لتحميل ملف تعريف الارتباط للوصول إلى hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "مطلوب عنوان hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "الرابط غير صالح" - }, "done": { "message": "تم" }, - "accessibilityCookieSaved": { - "message": "تم حفظ ملف تعريف الارتباط الخاص بإمكانية الوصول!" - }, - "noAccessibilityCookieSaved": { - "message": "لم يحفظ ملف تعريف الارتباط الخاص بإمكانية الوصول" - }, "warning": { "message": "تحذير", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "السماح" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/az/messages.json b/apps/desktop/src/locales/az/messages.json index ed96da377ad..459458bdb2a 100644 --- a/apps/desktop/src/locales/az/messages.json +++ b/apps/desktop/src/locales/az/messages.json @@ -238,22 +238,22 @@ "message": "SSH agenti, SSH tələblərini birbaşa Bitwarden seyfinizdən imzalamağa imkan verən developerlərə yönəlmiş bir xidmətdir." }, "sshAgentPromptBehavior": { - "message": "Ask for authorization when using SSH agent" + "message": "SSH agentini istifadə edərkən səlahiyyətləndirmə üçün soruş" }, "sshAgentPromptBehaviorDesc": { - "message": "Choose how to handle SSH-agent authorization requests." + "message": "SSH agenti səlahiyyətləndirmə sorğularının necə emal ediləcəyini seçin." }, "sshAgentPromptBehaviorHelp": { - "message": "Remember SSH authorizations" + "message": "SSH səlahiyyətləndirmələrini xatırla" }, "sshAgentPromptBehaviorAlways": { - "message": "Always" + "message": "Həmişə" }, "sshAgentPromptBehaviorNever": { - "message": "Never" + "message": "Heç vaxt" }, "sshAgentPromptBehaviorRememberUntilLock": { - "message": "Remember until vault is locked" + "message": "Seyf kilidlənənə qədər xatırla" }, "premiumRequired": { "message": "Premium üzvlük lazımdır" @@ -446,10 +446,10 @@ "message": "Xana əlavə et" }, "editField": { - "message": "Edit field" + "message": "Xanaya düzəliş et" }, "permanentlyDeleteAttachmentConfirmation": { - "message": "Are you sure you want to permanently delete this attachment?" + "message": "Bu qoşmanı birdəfəlik silmək istədiyinizə əminsiniz?" }, "fieldType": { "message": "Xana növü" @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Yeni element əlavə et" }, - "addNewFolder": { - "message": "Yeni qovluq əlavə et" - }, "view": { "message": "Bax" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Fayl parolu\" və \"Fayl parolunu təsdiqlə\" uyuşmur." }, - "hCaptchaUrl": { - "message": "hCaptcha ünvanı", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Əlçatımlılıq çərəzini yüklə" - }, - "registerAccessibilityUser": { - "message": "Əlçatımlılıq istifadəçisi kimi qeydiyyatdan keçin", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "E-poçtunuza göndərilən keçidi kopyalayıb aşağıda yapışdırın" - }, - "enterhCaptchaUrl": { - "message": "hCaptcha əlçatımlılıq çərəzini yükləmək üçün ünvanı daxil edin", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha ünvanı tələb olunur", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Yararsız ünvan" - }, "done": { "message": "Bitdi" }, - "accessibilityCookieSaved": { - "message": "Əlçatımlılıq çərəzi saxlanıldı!" - }, - "noAccessibilityCookieSaved": { - "message": "Əlçatımlılıq çərəzi saxlanılmadı" - }, "warning": { "message": "XƏBƏRDARLIQ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Bilinməyən bilinməyən bir səbəbə görə biometrik kilid açma əlçatmazdır." }, + "itemDetails": { + "message": "Element detalları" + }, + "itemName": { + "message": "Element adı" + }, + "loginCredentials": { + "message": "Giriş məlumatları" + }, + "additionalOptions": { + "message": "Əlavə seçimlər" + }, + "itemHistory": { + "message": "Element tarixçəsi" + }, + "lastEdited": { + "message": "Son düzəliş" + }, + "upload": { + "message": "Yüklə" + }, "authorize": { "message": "Səlahiyyət ver" }, @@ -3719,21 +3706,30 @@ "move": { "message": "Daşı" }, + "newFolder": { + "message": "Yeni qovluq" + }, + "folderName": { + "message": "Qovluq adı" + }, + "folderHintText": { + "message": "Ana qovluğun adından sonra \"/\" əlavə edərək qovluğu ardıcıl yerləşdirin. Nümunə: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Avto-doldurma ilə vaxta qənaət edin" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "Bir veb sayt", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "daxil edin ki,", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "so this login appears as an autofill suggestion.", + "message": "bu giriş məlumatları avto-doldurma təklifi kimi görünsün.", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -3759,12 +3755,12 @@ "message": "Gəlişdirici dostu SSH müraciəti" }, "newSshNudgeBodyOne": { - "message": "Store your keys and connect with the SSH agent for fast, encrypted authentication.", + "message": "Açarlarınızı saxlayın və sürətli, şifrələnmiş kimlik doğrulama üçün SSH agentinə bağlayın.", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "newSshNudgeBodyTwo": { - "message": "Learn more about SSH agent", + "message": "SSH agenti barədə daha ətraflı", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" } diff --git a/apps/desktop/src/locales/be/messages.json b/apps/desktop/src/locales/be/messages.json index 5b7b4aebf70..4e2441ac168 100644 --- a/apps/desktop/src/locales/be/messages.json +++ b/apps/desktop/src/locales/be/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Дадаць новы элемент" }, - "addNewFolder": { - "message": "Дадаць новую папку" - }, "view": { "message": "Прагляд" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "URL-адрас hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Загрузіць cookie спецыяльных магчымасцей" - }, - "registerAccessibilityUser": { - "message": "Зарэгістравацца ў якасці карыстальніка са спецыяльнымі магчымасцямі на", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Скапіюйце і ўстаўце адпраўленую спасылку на вашу электронную пошту" - }, - "enterhCaptchaUrl": { - "message": "Увядзіце URL-адрас для загрузкі cookie спецыяльных магчымасцей для hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Патрабуецца URL-адрас hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Памылковы URL-адрас" - }, "done": { "message": "Гатова" }, - "accessibilityCookieSaved": { - "message": "Cookie са спецыяльнымі магчымасцямі захаваны!" - }, - "noAccessibilityCookieSaved": { - "message": "Адсутнічаюць захаваныя cookie са спецыяльнымі магчымасцямі" - }, "warning": { "message": "ПАПЯРЭДЖАННЕ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/bg/messages.json b/apps/desktop/src/locales/bg/messages.json index 33cd71c1d5e..6300ed3391f 100644 --- a/apps/desktop/src/locales/bg/messages.json +++ b/apps/desktop/src/locales/bg/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Добавяне на нов елемент" }, - "addNewFolder": { - "message": "Добавяне на нова папка" - }, "view": { "message": "Преглед" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Дънните в полетата „Парола на файла“ и „Потвърждаване на паролата на файла“ не съвпадат." }, - "hCaptchaUrl": { - "message": "Адрес за hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Зареждане на бисквитка за достъпност" - }, - "registerAccessibilityUser": { - "message": "Регистрирайте се като потребител на достъпност на", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Копирайте връзката изпратена на е-пощата Ви и я поставете по-долу" - }, - "enterhCaptchaUrl": { - "message": "Въведете URL за зареждане на бисквитка за достъпност за hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Адресът за hCaptcha е задължителен", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Неправилен адрес" - }, "done": { "message": "Готово" }, - "accessibilityCookieSaved": { - "message": "Бисквитката за достъпност е запазена!" - }, - "noAccessibilityCookieSaved": { - "message": "Няма запазена бисквитка за достъпност" - }, "warning": { "message": "ВНИМАНИЕ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Отключването с биометрични данни не е налично по неизвестна причина." }, + "itemDetails": { + "message": "Подробности за елемента" + }, + "itemName": { + "message": "Име на елемента" + }, + "loginCredentials": { + "message": "Данни за вписване" + }, + "additionalOptions": { + "message": "Допълнителни настройки" + }, + "itemHistory": { + "message": "История на елемента" + }, + "lastEdited": { + "message": "Последна промяна" + }, + "upload": { + "message": "Качване" + }, "authorize": { "message": "Упълномощаване" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Преместване" }, + "newFolder": { + "message": "Нова папка" + }, + "folderName": { + "message": "Име на папката" + }, + "folderHintText": { + "message": "Можете да вложите една папка в друга като въведете името на горната папка, а след това „/“. Пример: Социални/Форуми" + }, "newLoginNudgeTitle": { "message": "Спестете време с автоматично попълване" }, diff --git a/apps/desktop/src/locales/bn/messages.json b/apps/desktop/src/locales/bn/messages.json index ed7f99f52c9..3ca32f51395 100644 --- a/apps/desktop/src/locales/bn/messages.json +++ b/apps/desktop/src/locales/bn/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "নতুন বস্তু জুড়ুন" }, - "addNewFolder": { - "message": "নতুন ফোল্ডার জুড়ুন" - }, "view": { "message": "দেখুন" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "সতর্কতা", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/bs/messages.json b/apps/desktop/src/locales/bs/messages.json index 0a5efded68b..4e77b51467b 100644 --- a/apps/desktop/src/locales/bs/messages.json +++ b/apps/desktop/src/locales/bs/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Dodaj novu stavku" }, - "addNewFolder": { - "message": "Dodajte novi folder" - }, "view": { "message": "Prikaz" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Učitaj kolačić pristupačnosti" - }, - "registerAccessibilityUser": { - "message": "Registruj se kao korisnik pristupačnosti na", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopiraj i zalijepi link poslan na e-mail u nastavku" - }, - "enterhCaptchaUrl": { - "message": "Unesi URL za učitavanje kolačića pristupačnosti za hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url je obavezan", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Neispravan Url" - }, "done": { "message": "Gotovo" }, - "accessibilityCookieSaved": { - "message": "Kolačić pristupačnosti spremljen!" - }, - "noAccessibilityCookieSaved": { - "message": "Nije spremljen kolačić pristupačnosti" - }, "warning": { "message": "UPOZORENJE", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ca/messages.json b/apps/desktop/src/locales/ca/messages.json index d95d8896a68..2f13de7c33b 100644 --- a/apps/desktop/src/locales/ca/messages.json +++ b/apps/desktop/src/locales/ca/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Element nou" }, - "addNewFolder": { - "message": "Carpeta nova" - }, "view": { "message": "Mostra" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Contrasenya del fitxer\" i \"Confirma contrasenya del fitxer\" no coincideixen." }, - "hCaptchaUrl": { - "message": "Url hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Carrega la galeta d'accessibilitat" - }, - "registerAccessibilityUser": { - "message": "Registreu-vos com a usuari d'accessibilitat a", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copieu i enganxeu l'enllaç enviat al vostre correu electrònic a continuació" - }, - "enterhCaptchaUrl": { - "message": "Introduïu l'URL per carregar la galeta d'accessibilitat per a hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Es requereix l'URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "URL no vàlida" - }, "done": { "message": "Fet" }, - "accessibilityCookieSaved": { - "message": "S'ha guardat la galeta d'accessibilitat!" - }, - "noAccessibilityCookieSaved": { - "message": "No s'ha guardat la galeta d'accessibilitat" - }, "warning": { "message": "ADVERTIMENT", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autoritza" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/cs/messages.json b/apps/desktop/src/locales/cs/messages.json index 58b986167a3..49cfc8823b7 100644 --- a/apps/desktop/src/locales/cs/messages.json +++ b/apps/desktop/src/locales/cs/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nová položka" }, - "addNewFolder": { - "message": "Nová složka" - }, "view": { "message": "Zobrazit" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Heslo souboru\" a \"Potvrzení hesla souboru\" se neshodují." }, - "hCaptchaUrl": { - "message": "URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Načíst soubory cookie pro přístupnost" - }, - "registerAccessibilityUser": { - "message": "Registrovat jako uživatele přístupnosti na", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Zkopírujte a vložte odkaz odeslaný na Váš e-mail níže" - }, - "enterhCaptchaUrl": { - "message": "Zadejte URL pro načtení cookie přístupnosti pro hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Je vyžadována adresa URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Neplatná adresa URL" - }, "done": { "message": "Hotovo" }, - "accessibilityCookieSaved": { - "message": "Cookie pro přístupnost byla uložena!" - }, - "noAccessibilityCookieSaved": { - "message": "Žádné cookies pro přístupnost nebyly uloženy" - }, "warning": { "message": "VAROVÁNÍ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometrické odemknutí je momentálně z neznámého důvodu nedostupné." }, + "itemDetails": { + "message": "Detaily položky" + }, + "itemName": { + "message": "Název položky" + }, + "loginCredentials": { + "message": "Přihlašovací údaje" + }, + "additionalOptions": { + "message": "Další volby" + }, + "itemHistory": { + "message": "Historie položky" + }, + "lastEdited": { + "message": "Naposledy upraveno" + }, + "upload": { + "message": "Nahrát" + }, "authorize": { "message": "Autorizovat" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Přesunout" }, + "newFolder": { + "message": "Nová složka" + }, + "folderName": { + "message": "Název složky" + }, + "folderHintText": { + "message": "Vnořte složku přidáním názvu nadřazené složky následovaného znakem \"/\". Příklad: Sociální/Fóra" + }, "newLoginNudgeTitle": { "message": "Ušetřete čas s automatickým vyplňováním" }, diff --git a/apps/desktop/src/locales/cy/messages.json b/apps/desktop/src/locales/cy/messages.json index b129c97a27a..0031d2de121 100644 --- a/apps/desktop/src/locales/cy/messages.json +++ b/apps/desktop/src/locales/cy/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/da/messages.json b/apps/desktop/src/locales/da/messages.json index c7f69e12e10..c92f0caf2d1 100644 --- a/apps/desktop/src/locales/da/messages.json +++ b/apps/desktop/src/locales/da/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nyt emne" }, - "addNewFolder": { - "message": "Ny mappe" - }, "view": { "message": "Vis" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“Filadgangskode” og “Bekræft filadgangskode“ matcher ikke." }, - "hCaptchaUrl": { - "message": "hCaptcha-URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Indlæs tilgængelighedscookie" - }, - "registerAccessibilityUser": { - "message": "Registrér som tilgængelighedsbruger på", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopiér og indsæt linket, der er sendt til din e-mail, nedenfor" - }, - "enterhCaptchaUrl": { - "message": "Indtast URL for at indlæse tilgængelighedscookie til hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha-URL er obligatorisk", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Ugyldig URL" - }, "done": { "message": "Udført" }, - "accessibilityCookieSaved": { - "message": "Tilgængelighedscookie gemt!" - }, - "noAccessibilityCookieSaved": { - "message": "Ingen tilgængelighedscookie gemt" - }, "warning": { "message": "ADVARSEL", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometrisk oplåsning er p.t. utilgængelig grundet en ukendt årsag." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Godkend" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/de/messages.json b/apps/desktop/src/locales/de/messages.json index 7b1ae3521e3..da1272ef300 100644 --- a/apps/desktop/src/locales/de/messages.json +++ b/apps/desktop/src/locales/de/messages.json @@ -238,13 +238,13 @@ "message": "Der SSH-Agent ist ein Dienst, der sich an Entwickler richtet, mit dem du SSH-Anfragen direkt aus deinem Bitwarden-Tresor aus signieren kannst." }, "sshAgentPromptBehavior": { - "message": "Ask for authorization when using SSH agent" + "message": "Bei der Verwendung des SSH-Agenten nach einer Autorisierung fragen" }, "sshAgentPromptBehaviorDesc": { - "message": "Choose how to handle SSH-agent authorization requests." + "message": "Wähle aus, wie mit Autorisierungs-Anfragen des SSH-Agenten umgegangen werden soll." }, "sshAgentPromptBehaviorHelp": { - "message": "Remember SSH authorizations" + "message": "SSH-Autorisierungen merken" }, "sshAgentPromptBehaviorAlways": { "message": "Immer" @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Neuer Eintrag" }, - "addNewFolder": { - "message": "Neuer Ordner" - }, "view": { "message": "Ansicht" }, @@ -1650,7 +1647,7 @@ "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Standard-Match-Erkennung", + "message": "Standard-Übereinstimmungserkennung", "description": "Default URI match detection for auto-fill." }, "toggleOptions": { @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "„Dateipasswort“ und „Dateipasswort bestätigen“ stimmen nicht überein." }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Barrierefreiheits-Cookie laden" - }, - "registerAccessibilityUser": { - "message": "Als Benutzer für Barrierefreiheit registrieren bei", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopiere und füge den Link aus der an dich gesendeten E-Mail unten ein" - }, - "enterhCaptchaUrl": { - "message": "URL eingeben, um den Barrierefreiheits-Cookie für hCaptcha zu laden", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha-URL ist erforderlich", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Ungültige URL" - }, "done": { "message": "Fertig" }, - "accessibilityCookieSaved": { - "message": "Barrierefreiheits-Cookie gespeichert!" - }, - "noAccessibilityCookieSaved": { - "message": "Kein Barrierefreiheits-Cookie gespeichert" - }, "warning": { "message": "WARNUNG", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometrisches Entsperren ist derzeit aus einem unbekannten Grund nicht verfügbar." }, + "itemDetails": { + "message": "Eintrag-Details" + }, + "itemName": { + "message": "Eintrags-Name" + }, + "loginCredentials": { + "message": "Zugangsdaten" + }, + "additionalOptions": { + "message": "Weitere Optionen" + }, + "itemHistory": { + "message": "Eintragsverlauf" + }, + "lastEdited": { + "message": "Zuletzt bearbeitet" + }, + "upload": { + "message": "Hochladen" + }, "authorize": { "message": "Autorisieren" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Verschieben" }, + "newFolder": { + "message": "Neuer Ordner" + }, + "folderName": { + "message": "Ordnername" + }, + "folderHintText": { + "message": "Verschachtel einen Ordner, indem du den Namen des übergeordneten Ordners hinzufügst, gefolgt von einem „/“. Beispiel: Sozial/Foren" + }, "newLoginNudgeTitle": { "message": "Spare Zeit mit Auto-Ausfüllen" }, diff --git a/apps/desktop/src/locales/el/messages.json b/apps/desktop/src/locales/el/messages.json index d721f8bc9b9..1f4462ce4b5 100644 --- a/apps/desktop/src/locales/el/messages.json +++ b/apps/desktop/src/locales/el/messages.json @@ -247,10 +247,10 @@ "message": "Remember SSH authorizations" }, "sshAgentPromptBehaviorAlways": { - "message": "Always" + "message": "Πάντα" }, "sshAgentPromptBehaviorNever": { - "message": "Never" + "message": "Ποτέ" }, "sshAgentPromptBehaviorRememberUntilLock": { "message": "Remember until vault is locked" @@ -415,13 +415,13 @@ "message": "Authenticator key" }, "autofillOptions": { - "message": "Autofill options" + "message": "Επιλογές αυτόματης συμπλήρωσης" }, "websiteUri": { - "message": "Website (URI)" + "message": "Ιστότοπος (URI)" }, "websiteUriCount": { - "message": "Website (URI) $COUNT$", + "message": "Ιστότοπος (URI) $COUNT$", "description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.", "placeholders": { "count": { @@ -434,31 +434,31 @@ "message": "Website added" }, "addWebsite": { - "message": "Add website" + "message": "Προσθήκη ιστοτόπου" }, "deleteWebsite": { - "message": "Delete website" + "message": "Διαγραφή ιστοτόπου" }, "owner": { - "message": "Owner" + "message": "Ιδιοκτήτης" }, "addField": { - "message": "Add field" + "message": "Προσθήκη πεδίου" }, "editField": { - "message": "Edit field" + "message": "Επεξεργασία πεδίου" }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" }, "fieldType": { - "message": "Field type" + "message": "Τύπος πεδίου" }, "fieldLabel": { - "message": "Field label" + "message": "Ετικέτα πεδίου" }, "add": { - "message": "Add" + "message": "Προσθήκη" }, "textHelpText": { "message": "Use text fields for data like security questions" @@ -501,7 +501,7 @@ "description": "This describes a field that is 'linked' (related) to another field." }, "cfTypeCheckbox": { - "message": "Checkbox" + "message": "Πλαίσιο ελέγχου" }, "linkedValue": { "message": "Συνδεδεμένη τιμή", @@ -910,7 +910,7 @@ "message": "Η αυθεντικοποίηση ακυρώθηκε ή διήρκησε πολύ ώρα. Παρακαλώ προσπαθήστε ξανά." }, "openInNewTab": { - "message": "Open in new tab" + "message": "Άνοιγμα σε νέα καρτέλα" }, "invalidVerificationCode": { "message": "Μη έγκυρος κωδικός επαλήθευσης" @@ -1059,7 +1059,7 @@ "message": "Όχι" }, "location": { - "message": "Location" + "message": "Τοποθεσία" }, "overwritePassword": { "message": "Αντικατάσταση κωδικού πρόσβασης" @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Νέο στοιχείο" }, - "addNewFolder": { - "message": "Νέος φάκελος" - }, "view": { "message": "Προβολή" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Το \"Κωδικός πρόσβασης αρχείου\" και το \"Επιβεβαίωση κωδικού πρόσβασης αρχείου\" δεν ταιριάζουν." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Φόρτωση cookie προσβασιμότητας" - }, - "registerAccessibilityUser": { - "message": "Εγγραφείτε ως χρήστης προσβασιμότητας στο", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Αντιγράψτε και επικολλήστε τον σύνδεσμο που στάλθηκε στο email σας παρακάτω" - }, - "enterhCaptchaUrl": { - "message": "Εισαγάγετε τη διεύθυνση URL για τη φόρτωση του cookie προσβασιμότητας για το hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Απαιτείται διεύθυνση URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Μη έγκυρο Url" - }, "done": { "message": "Εγινε" }, - "accessibilityCookieSaved": { - "message": "Το cookie προσβασιμότητας αποθηκεύτηκε!" - }, - "noAccessibilityCookieSaved": { - "message": "Δεν έχει αποθηκευτεί cookie προσβασιμότητας" - }, "warning": { "message": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -2001,7 +1967,7 @@ } }, "cardDetails": { - "message": "Card details" + "message": "Στοιχεία κάρτας" }, "cardBrandDetails": { "message": "$BRAND$ details", @@ -2047,7 +2013,7 @@ } }, "cardExpiredTitle": { - "message": "Expired card" + "message": "Ληγμένη κάρτα" }, "cardExpiredMessage": { "message": "If you've renewed it, update the card's information" @@ -2222,13 +2188,13 @@ "message": "Μια πολιτική οργανισμού έχει αποτρέψει την εισαγωγή αντικειμένων στο ατομικό σας θησαυ/κιο." }, "personalDetails": { - "message": "Personal details" + "message": "Προσωπικά στοιχεία" }, "identification": { - "message": "Identification" + "message": "Ταυτοποίηση" }, "contactInfo": { - "message": "Contact information" + "message": "Στοιχεία επικοινωνίας" }, "allSends": { "message": "Όλα τα Sends", @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Το βιομετρικό ξεκλείδωμα δεν είναι διαθέσιμο για άγνωστο λόγο." }, + "itemDetails": { + "message": "Λεπτομέρειες στοιχείου" + }, + "itemName": { + "message": "Όνομα στοιχείου" + }, + "loginCredentials": { + "message": "Στοιχεία σύνδεσης" + }, + "additionalOptions": { + "message": "Πρόσθετες επιλογές" + }, + "itemHistory": { + "message": "Ιστορικό στοιχείου" + }, + "lastEdited": { + "message": "Τελευταία επεξεργασία" + }, + "upload": { + "message": "Μεταφόρτωση" + }, "authorize": { "message": "Εξουσιοδότηση" }, @@ -3717,7 +3704,16 @@ "message": "Change at-risk password" }, "move": { - "message": "Move" + "message": "Μετακίνηση" + }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" }, "newLoginNudgeTitle": { "message": "Save time with autofill" @@ -3728,7 +3724,7 @@ "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "Ιστότοπος", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, diff --git a/apps/desktop/src/locales/en_GB/messages.json b/apps/desktop/src/locales/en_GB/messages.json index 117a5baa674..77e4222ac1f 100644 --- a/apps/desktop/src/locales/en_GB/messages.json +++ b/apps/desktop/src/locales/en_GB/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha URL is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid URL" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorise" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/en_IN/messages.json b/apps/desktop/src/locales/en_IN/messages.json index e07af9017b0..109ace48efa 100644 --- a/apps/desktop/src/locales/en_IN/messages.json +++ b/apps/desktop/src/locales/en_IN/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Add new item" }, - "addNewFolder": { - "message": "Add new folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorise" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/eo/messages.json b/apps/desktop/src/locales/eo/messages.json index cd7e4344cd1..51c350831a2 100644 --- a/apps/desktop/src/locales/eo/messages.json +++ b/apps/desktop/src/locales/eo/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nova ero" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "Vido" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Preta" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "AVERTO", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -2463,7 +2429,7 @@ "message": "Uzi la ĉefan pasvorton" }, "usePin": { - "message": "Uzi PIN-on." + "message": "Uzi PIN-n" }, "useBiometrics": { "message": "Use biometrics" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/es/messages.json b/apps/desktop/src/locales/es/messages.json index e012c5e2984..3023fdd0359 100644 --- a/apps/desktop/src/locales/es/messages.json +++ b/apps/desktop/src/locales/es/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Añadir nuevo elemento" }, - "addNewFolder": { - "message": "Añadir nueva carpeta" - }, "view": { "message": "Ver" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Contraseña del archivo\" y \"Confirmar contraseña del archivo\" no coinciden." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Cargar cookie de accesibilidad" - }, - "registerAccessibilityUser": { - "message": "Registrarse como usuario de accesibilidad en", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copia y pega el enlace enviado a tu correo electrónico" - }, - "enterhCaptchaUrl": { - "message": "Introduzca la URL para cargar la cookie de accesibilidad de hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url es obligatorio", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Url inválida" - }, "done": { "message": "Hecho" }, - "accessibilityCookieSaved": { - "message": "¡Cookie de accesibilidad guardada!" - }, - "noAccessibilityCookieSaved": { - "message": "No hay ninguna cookie de accesibilidad guardada" - }, "warning": { "message": "ADVERTENCIA", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autorizar" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Mover" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/et/messages.json b/apps/desktop/src/locales/et/messages.json index bd90fb6a82c..922ab7e36a6 100644 --- a/apps/desktop/src/locales/et/messages.json +++ b/apps/desktop/src/locales/et/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Lisa uus kirje" }, - "addNewFolder": { - "message": "Lisa uus kaust" - }, "view": { "message": "Vaata" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Faili parool\" ja \"Faili parooli kinnitus\" ei kattu." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Lae juurdepääsetavuse küpsis" - }, - "registerAccessibilityUser": { - "message": "Registreeri juurdepääsetavuse kasutajana lehel", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopeeri ja kleebi link, mis saadeti sinu e-postile" - }, - "enterhCaptchaUrl": { - "message": "Sisesta URL, et laadida ligipääsetavuse küpsis hCaptchale", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url on nõutud", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Vale Url" - }, "done": { "message": "Valmis" }, - "accessibilityCookieSaved": { - "message": "Ligipääsetavuse küpsis on salvestatud!" - }, - "noAccessibilityCookieSaved": { - "message": "Ligipääsetavuse küpsis pole salvestatud" - }, "warning": { "message": "HOIATUS", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/eu/messages.json b/apps/desktop/src/locales/eu/messages.json index febf716a283..3bc76d8427c 100644 --- a/apps/desktop/src/locales/eu/messages.json +++ b/apps/desktop/src/locales/eu/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Gehitu elementu berria" }, - "addNewFolder": { - "message": "Karpeta berria gehitu" - }, "view": { "message": "Erakutsi" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Kargatu erabilerraztasun Cookie-ak" - }, - "registerAccessibilityUser": { - "message": "Erabilerraztasun erabiltzaile erregistratu", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopiatu eta itsatsi bidalitako esteka zure emailera" - }, - "enterhCaptchaUrl": { - "message": "Sartu hCaptcha helbidearen cookiea kargatzeko URLa", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url behar da", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Baliogabeko Url-a" - }, "done": { "message": "Egina" }, - "accessibilityCookieSaved": { - "message": "Erabilerraztasun cookie-a gordeta!" - }, - "noAccessibilityCookieSaved": { - "message": "Ez da erabilerraztasun cookie-rik gorde" - }, "warning": { "message": "KONTUZ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/fa/messages.json b/apps/desktop/src/locales/fa/messages.json index 48e1805b62c..4bcbbd3ac33 100644 --- a/apps/desktop/src/locales/fa/messages.json +++ b/apps/desktop/src/locales/fa/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "مورد جدید" }, - "addNewFolder": { - "message": "پوشه جدید" - }, "view": { "message": "مشاهده" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "عدم تطابق \"رمز فایل\" و \"تایید رمز فایل\" با یکدیگر." }, - "hCaptchaUrl": { - "message": "نشانی اینترنتی hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "بارگیری کوکی دسترسی" - }, - "registerAccessibilityUser": { - "message": "ثبت نام به عنوان کاربر قابلیت دسترسی در", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "لینک ارسال شده به ایمیل خود را در زیر کپی و پیست کنید" - }, - "enterhCaptchaUrl": { - "message": "برای بارگیری کوکی دسترسی کپچا نشانی اینترنتی را وارد کنید", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "نشانی اینترنتی کپچا مورد نیاز است", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "نشانی اینترنتی نامعتبر" - }, "done": { "message": "انجام شد" }, - "accessibilityCookieSaved": { - "message": "کوکی دسترسی ذخیره شد!" - }, - "noAccessibilityCookieSaved": { - "message": "هیچ کوکی دسترسی ذخیره نشد" - }, "warning": { "message": "اخطار", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/fi/messages.json b/apps/desktop/src/locales/fi/messages.json index 8f2e845a51b..14cf9c95ffc 100644 --- a/apps/desktop/src/locales/fi/messages.json +++ b/apps/desktop/src/locales/fi/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Uusi kohde" }, - "addNewFolder": { - "message": "Uusi kansio" - }, "view": { "message": "Näytä" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Tiedoston salasana\" ja \"Vahvista tiedoston salasana\" eivät täsmää." }, - "hCaptchaUrl": { - "message": "hCaptcha-URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Lataa esteettömyyseväste" - }, - "registerAccessibilityUser": { - "message": "Rekisteröidy esteettömyyskäyttäjäksi osoitteessa", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopioi ja liitä alla olevaan sähköpostiosoitteeseen lähetetty linkki" - }, - "enterhCaptchaUrl": { - "message": "Lataa hCaptcha-esteettömyyseväste syöttämällä URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha-URL vaaditaan", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Virheellinen URL" - }, "done": { "message": "Valmis" }, - "accessibilityCookieSaved": { - "message": "Esteettömyyseväste tallennettiin!" - }, - "noAccessibilityCookieSaved": { - "message": "Esteettömyysevästettä ei tallennettu" - }, "warning": { "message": "VAROITUS", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometrinen avaus ei ole tällä hetkellä käytettävissä tuntemattomasta syystä." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Valtuuta" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Siirrä" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/fil/messages.json b/apps/desktop/src/locales/fil/messages.json index 2fdd2d48ed6..b3633cd1694 100644 --- a/apps/desktop/src/locales/fil/messages.json +++ b/apps/desktop/src/locales/fil/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Bagong item" }, - "addNewFolder": { - "message": "Bagong folder" - }, "view": { "message": "Tanaw" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "I-load ang accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Magrehistro bilang isang gumagamit ng accessibility sa", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopyahin at i paste ang link na ipinadala sa iyong email sa ibaba" - }, - "enterhCaptchaUrl": { - "message": "Ipasok ang URL upang i load ang accessibility cookie para sa hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url ay kinakailangan", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Imbalidong URL" - }, "done": { "message": "Tapos na" }, - "accessibilityCookieSaved": { - "message": "Nai-save ang Accessibility cookie!" - }, - "noAccessibilityCookieSaved": { - "message": "Walang na-save na accessibility cookie" - }, "warning": { "message": "BABALA", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/fr/messages.json b/apps/desktop/src/locales/fr/messages.json index 50c489d479e..e94f4837d99 100644 --- a/apps/desktop/src/locales/fr/messages.json +++ b/apps/desktop/src/locales/fr/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Ajouter un nouvel élément" }, - "addNewFolder": { - "message": "Ajouter un dossier" - }, "view": { "message": "Affichage" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Le \"Mot de passe du fichier\" et la \"Confirmation du mot de passe du fichier\" ne correspondent pas." }, - "hCaptchaUrl": { - "message": "URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Charger le cookie d'accessibilité" - }, - "registerAccessibilityUser": { - "message": "S'inscrire en tant qu'utilisateur avec accessibilité à", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Collez le lien envoyé à votre adresse e-mail ci-dessous" - }, - "enterhCaptchaUrl": { - "message": "Entrez l'URL pour charger le cookie d'accessibilité pour hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "L'URL hCaptcha est nécessaire", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "URL invalide" - }, "done": { "message": "Terminé" }, - "accessibilityCookieSaved": { - "message": "Cookie d'accessibilité enregistré !" - }, - "noAccessibilityCookieSaved": { - "message": "Aucun cookie d'accessibilité enregistré" - }, "warning": { "message": "AVERTISSEMENT", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Le déverrouillage par biométrie n'est pas disponible actuellement pour une raison inconnue." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autoriser" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/gl/messages.json b/apps/desktop/src/locales/gl/messages.json index a74f71752af..471d7235945 100644 --- a/apps/desktop/src/locales/gl/messages.json +++ b/apps/desktop/src/locales/gl/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/he/messages.json b/apps/desktop/src/locales/he/messages.json index 2e3b60dfc29..954c50812be 100644 --- a/apps/desktop/src/locales/he/messages.json +++ b/apps/desktop/src/locales/he/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "פריט חדש" }, - "addNewFolder": { - "message": "תיקייה חדשה" - }, "view": { "message": "הצג" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"סיסמת קובץ\" ו\"אשר סיסמת קובץ\" אינם תואמים." }, - "hCaptchaUrl": { - "message": "כתובת אתר hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "טען עוגיית נגישות" - }, - "registerAccessibilityUser": { - "message": "הירשם כמשתמש נגישות ב-", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "העתק והדבק את הקישור שנשלח לאימייל שלך" - }, - "enterhCaptchaUrl": { - "message": "הזן את כתובת האתר לטעינת עוגיית נגישות עבור hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "יש להזין את כתובת האתר hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "כתובת אתר לא חוקית" - }, "done": { "message": "בוצע" }, - "accessibilityCookieSaved": { - "message": "עוגיית הנגישות נשמרה!" - }, - "noAccessibilityCookieSaved": { - "message": "עוגיית הנגישות לא נשמרה" - }, "warning": { "message": "אזהרה", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "ביטול נעילה ביומטרי אינו זמין כעת מסיבה לא ידועה." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "אשר" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/hi/messages.json b/apps/desktop/src/locales/hi/messages.json index 437b4845bdc..10307cc03ca 100644 --- a/apps/desktop/src/locales/hi/messages.json +++ b/apps/desktop/src/locales/hi/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/hr/messages.json b/apps/desktop/src/locales/hr/messages.json index 2b800ad99a2..8bdfcb40534 100644 --- a/apps/desktop/src/locales/hr/messages.json +++ b/apps/desktop/src/locales/hr/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nova stavka" }, - "addNewFolder": { - "message": "Nova mapa" - }, "view": { "message": "Prikaz" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Lozinka se ne podudara." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Učitaj kolačić pristupačnosti" - }, - "registerAccessibilityUser": { - "message": "Registriraj se kao korisnik pristupačnosti na", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopiraj i zalijepi vezu poslanu na e-poštu u nastavku" - }, - "enterhCaptchaUrl": { - "message": "Unesi URL za učitavanje kolačića pristupačnosti za hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url je obavezan", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Neispravan Url" - }, "done": { "message": "Gotovo" }, - "accessibilityCookieSaved": { - "message": "Kolačić pristupačnosti spremljen!" - }, - "noAccessibilityCookieSaved": { - "message": "Nije spremljen kolačić pristupačnosti" - }, "warning": { "message": "UPOZORENJE", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometrijsko otključavanje trenutno nije dostupno iz nepoznatog razloga." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autoriziraj" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/hu/messages.json b/apps/desktop/src/locales/hu/messages.json index 0b6f60e9fb2..e56b62f9840 100644 --- a/apps/desktop/src/locales/hu/messages.json +++ b/apps/desktop/src/locales/hu/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Új elem" }, - "addNewFolder": { - "message": "Új mappa" - }, "view": { "message": "Megtekintés" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "A “Fájl jelszó” és a “Fájl jelszó megerősítés“ nem egyezik." }, - "hCaptchaUrl": { - "message": "hCaptcha webcím", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Akadálymentes süti betöltése" - }, - "registerAccessibilityUser": { - "message": "Regisztrálás akadálymentes felhasználóként:", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Vágólapon át szúrjuk be lentebb a kapott emailben levő hivatkozást." - }, - "enterhCaptchaUrl": { - "message": "Webcím megadása a hCaptcha akadálymentes sütijének betöltéséhez", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "A hCaptcha webcím megadása szükséges", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "A webcím érvénytelen." - }, "done": { "message": "Kész" }, - "accessibilityCookieSaved": { - "message": "Az ajadálymentes süti mentésre került." - }, - "noAccessibilityCookieSaved": { - "message": "Nem lett elmentve akadálymentes süti." - }, "warning": { "message": "FIGYELEM", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "A biometrikus feloldás jelenleg ismeretlen okból nem érhető el." }, + "itemDetails": { + "message": "Elem részletek" + }, + "itemName": { + "message": "Elem név" + }, + "loginCredentials": { + "message": "Bejelentkezési hitelesítések" + }, + "additionalOptions": { + "message": "Kiegészítő opciók" + }, + "itemHistory": { + "message": "Elem előzmény" + }, + "lastEdited": { + "message": "Utoljára szerkesztve" + }, + "upload": { + "message": "Feltöltés" + }, "authorize": { "message": "Hitelesítés" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Áthelyezés" }, + "newFolder": { + "message": "Új mappa" + }, + "folderName": { + "message": "Mappanév" + }, + "folderHintText": { + "message": "Mappa beágyazása a szülőmappa nevének hozzáadásával, majd egy “/” karakterrel. Példa: Közösségi/Fórumok" + }, "newLoginNudgeTitle": { "message": "Idő megtakarítás automatikus kitöltéssel" }, diff --git a/apps/desktop/src/locales/id/messages.json b/apps/desktop/src/locales/id/messages.json index a8c6005261b..1eeb32fdcc6 100644 --- a/apps/desktop/src/locales/id/messages.json +++ b/apps/desktop/src/locales/id/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Tambahkan Item Baru" }, - "addNewFolder": { - "message": "Tambahkan Folder Baru" - }, "view": { "message": "Tampilan" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Muat cookie aksesibilitas" - }, - "registerAccessibilityUser": { - "message": "Daftar sebagai pengguna aksesibilitas di", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Salin dan tempel tautan yang dikirimkan ke email Anda di bawah" - }, - "enterhCaptchaUrl": { - "message": "Masukkan URL untuk memuat cookie aksesibilitas untuk hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "url hCaptcha diperlukan", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Url tidak valid" - }, "done": { "message": "Selesai" }, - "accessibilityCookieSaved": { - "message": "Cookie aksesibilitas disimpan!" - }, - "noAccessibilityCookieSaved": { - "message": "Tidak ada cookie aksesibilitas yang disimpan" - }, "warning": { "message": "PERINGATAN", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/it/messages.json b/apps/desktop/src/locales/it/messages.json index efe520767ab..db70740d96e 100644 --- a/apps/desktop/src/locales/it/messages.json +++ b/apps/desktop/src/locales/it/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nuovo elemento" }, - "addNewFolder": { - "message": "Nuova cartella" - }, "view": { "message": "Visualizza" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Le due password del file non corrispondono." }, - "hCaptchaUrl": { - "message": "URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Carica cookie di accessibilità" - }, - "registerAccessibilityUser": { - "message": "Registrati come utente di accessibilità su", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copia e incolla il link inviato alla tua email qui sotto" - }, - "enterhCaptchaUrl": { - "message": "Inserisci l'URL per caricare il cookie di accessibilità per hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "URL hCaptcha obbligatorio", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "URL non valido" - }, "done": { "message": "Fatto" }, - "accessibilityCookieSaved": { - "message": "Cookie di accessibilità salvato!" - }, - "noAccessibilityCookieSaved": { - "message": "Nessun cookie di accessibilità salvato" - }, "warning": { "message": "ATTENZIONE", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Lo sblocco biometrico non è attualmente disponibile per un motivo sconosciuto." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autorizza" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ja/messages.json b/apps/desktop/src/locales/ja/messages.json index be632f79e12..47ba77508bc 100644 --- a/apps/desktop/src/locales/ja/messages.json +++ b/apps/desktop/src/locales/ja/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "新しいアイテムの追加" }, - "addNewFolder": { - "message": "新規フォルダーの追加" - }, "view": { "message": "表示" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "「ファイルパスワード」と「ファイルパスワードの確認」が一致しません。" }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "アクセシビリティクッキーを読み込む" - }, - "registerAccessibilityUser": { - "message": "アクセシビリティユーザーとして登録する", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "以下のメールに送信されたリンクをコピーして貼り付けてください" - }, - "enterhCaptchaUrl": { - "message": "hCaptcha のアクセシビリティクッキーを読み込むための URL を入力してください", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha URL が必要です", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "無効な URL" - }, "done": { "message": "完了" }, - "accessibilityCookieSaved": { - "message": "アクセシビリティクッキーを保存しました!" - }, - "noAccessibilityCookieSaved": { - "message": "アクセシビリティクッキーが保存されていません" - }, "warning": { "message": "警告", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "生体認証によるロック解除は、不明な理由により現在利用できません。" }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "認可" }, @@ -3719,6 +3706,15 @@ "move": { "message": "移動" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ka/messages.json b/apps/desktop/src/locales/ka/messages.json index 22c12c8b501..6a2912eed10 100644 --- a/apps/desktop/src/locales/ka/messages.json +++ b/apps/desktop/src/locales/ka/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "ახალი ჩანაწერი" }, - "addNewFolder": { - "message": "ახალი საქაღალდე" - }, "view": { "message": "ხედი" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "დასრულებული" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "გაფრთხილება", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/km/messages.json b/apps/desktop/src/locales/km/messages.json index a74f71752af..471d7235945 100644 --- a/apps/desktop/src/locales/km/messages.json +++ b/apps/desktop/src/locales/km/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/kn/messages.json b/apps/desktop/src/locales/kn/messages.json index ff5310f356d..767cdcf9d03 100644 --- a/apps/desktop/src/locales/kn/messages.json +++ b/apps/desktop/src/locales/kn/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "ಐಟಂ ಸೇರಿಸಿ" }, - "addNewFolder": { - "message": "ಹೊಸ ಫೋಲ್ಡರ್ ಸೇರಿಸಿ" - }, "view": { "message": "ವೀಕ್ಷಣೆ" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "ಎಚ್ಚರಿಕೆ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ko/messages.json b/apps/desktop/src/locales/ko/messages.json index c25ee35579a..b7b2a82b4b5 100644 --- a/apps/desktop/src/locales/ko/messages.json +++ b/apps/desktop/src/locales/ko/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "새 항목 추가" }, - "addNewFolder": { - "message": "새 폴더 추가" - }, "view": { "message": "보기" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "접근성 쿠키 불러오기" - }, - "registerAccessibilityUser": { - "message": "접근성 사용자로 등록", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha URL이 필요합니다", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "잘못된 URL" - }, "done": { "message": "완료" }, - "accessibilityCookieSaved": { - "message": "접근성 쿠키가 저장되었습니다!" - }, - "noAccessibilityCookieSaved": { - "message": "접근성 쿠키가 저장되지 않았습니다" - }, "warning": { "message": "경고", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/lt/messages.json b/apps/desktop/src/locales/lt/messages.json index c6fe463d7f3..66dcf1da155 100644 --- a/apps/desktop/src/locales/lt/messages.json +++ b/apps/desktop/src/locales/lt/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Naujas elementas" }, - "addNewFolder": { - "message": "Naujas aplankas" - }, "view": { "message": "Peržiūrėti" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha nuoroda", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Užkrauti prieinamumo slapuką" - }, - "registerAccessibilityUser": { - "message": "Registruotis kaip prieinamumo vartotojas", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Nukopijuokite ir įklijuokite adresą atsiųstą į jūsų paštą apačioje" - }, - "enterhCaptchaUrl": { - "message": "Įveskite nuorodą reikalingą hCaptcha prieinamumo slapukui", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha nuoroda yra privaloma", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Klaidingas URL" - }, "done": { "message": "Atlikta" }, - "accessibilityCookieSaved": { - "message": "Prieinamumo slapukai išsaugoti!" - }, - "noAccessibilityCookieSaved": { - "message": "Prieinamumo slapukas neišsaugotas" - }, "warning": { "message": "ĮSPĖJIMAS", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/lv/messages.json b/apps/desktop/src/locales/lv/messages.json index 6527745e5cf..437aba39714 100644 --- a/apps/desktop/src/locales/lv/messages.json +++ b/apps/desktop/src/locales/lv/messages.json @@ -110,7 +110,7 @@ "message": "E-pasta adrese" }, "verificationCodeTotp": { - "message": "Apstiprinājuma kods (TOTP)" + "message": "Apliecinājuma kods (TOTP)" }, "website": { "message": "Tīmekļvietne" @@ -573,7 +573,7 @@ "message": "Ievietot vietrādi starpliktuvē" }, "copyVerificationCodeTotp": { - "message": "Ievietot apstiprinājuma kodu (TOTP) starpliktuvē" + "message": "Ievietot Apliecinājuma kodu (TOTP) starpliktuvē" }, "length": { "message": "Garums" @@ -889,7 +889,7 @@ "message": "Nav vienumu, ko parādīt." }, "sendVerificationCode": { - "message": "Sūtīt apstiprinājuma kodu uz e-pastu" + "message": "Nosūtīt apliecinājuma kodu e-pastā" }, "sendCode": { "message": "Nosūtīt kodu" @@ -898,13 +898,13 @@ "message": "Kods nosūtīts" }, "verificationCode": { - "message": "Apstiprinājuma kods" + "message": "Apliecinājuma kods" }, "confirmIdentity": { "message": "Jāapstiprina identitāte, lai turpinātu." }, "verificationCodeRequired": { - "message": "Ir nepieciešams apstiprinājuma kods." + "message": "Apliecinājuma kods ir nepieciešams." }, "webauthnCancelOrTimeout": { "message": "Autentifikācija tika atcelta vai tā aizņēma pārāk daudz laika. Lūgums mēģināt vēlreiz." @@ -913,13 +913,13 @@ "message": "Atvērt jaunā cilnē" }, "invalidVerificationCode": { - "message": "Nederīgs apstiprinājuma kods" + "message": "Nederīgs apliecinājuma kods" }, "continue": { "message": "Turpināt" }, "verificationCodeEmailSent": { - "message": "E-pasts apstiprināšanai nosūtīts uz $EMAIL$.", + "message": "Apliecinājuma e-pasta ziņojums nosūtīts uz $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Pievienot jaunu vienumu" }, - "addNewFolder": { - "message": "Pievienot jaunu mapi" - }, "view": { "message": "Skats" }, @@ -1459,7 +1456,7 @@ "message": "Paroļu higiēnas, konta veselības un datu noplūžu pārskati, lai uzturētu glabātavu drošu." }, "premiumSignUpTotp": { - "message": "TOTP apstiprinājuma koda (2FA) veidotājs glabātavas pieteikšanās vienumiem." + "message": "TOTP apliecinājuma koda (2FA) veidotājs glabātavas pieteikšanās vienumiem." }, "premiumSignUpSupport": { "message": "Priekšrocīgs lietotāju atbalsts." @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Datnes parole\" un \"Apstiprināt datnes paroli\" vērtības nesakrīt." }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Ielādēt piekļūstamības sīkdatni" - }, - "registerAccessibilityUser": { - "message": "Reģistrēties kā piekļūstamības lietotājam", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Ievietot starpliktuvē un zemāk ielīmēt saiti, kas tika nosūtīta e-pastā" - }, - "enterhCaptchaUrl": { - "message": "Ievadīt URL, lai ielādētu hCaptcha piekļūstamības sīkdatni", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Ir nepieciešams hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Nederīgs URL" - }, "done": { "message": "Darīts" }, - "accessibilityCookieSaved": { - "message": "Piekļūstamības sīkdatne saglabāta." - }, - "noAccessibilityCookieSaved": { - "message": "Nav saglabātas piekļūstamības sīkdadnes" - }, "warning": { "message": "UZMANĪBU", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -2022,10 +1988,10 @@ "message": "Padarīt divpakāpju apliecināšanu plūdenu" }, "totpHelper": { - "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecināšanas kodus. Atslēga jāievieto starpliktuvē un jāielīmē šajā laukā." + "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecinājuma kodus. Atslēga jāievieto starpliktuvē un jāielīmē šajā laukā." }, "totpHelperWithCapture": { - "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecināšanas kodus. Jāizvēlas kameras ikona, lai veiktu tīmekļvietnes autentificētāja kvadrātkoda ekrānuzņēmumu, vai jāievieto starpliktuvē atslēga un jāielīmē šajā laukā." + "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecinājuma kodus. Jāizvēlas kameras ikona, lai veiktu tīmekļvietnes autentificētāja kvadrātkoda ekrānuzņēmumu, vai jāievieto starpliktuvē atslēga un jāielīmē šajā laukā." }, "premium": { "message": "Premium", @@ -2406,13 +2372,13 @@ "message": "Viens vai vairāki apvienības nosacījumi ietekmē Send iespējas." }, "emailVerificationRequired": { - "message": "Nepieciešama e-pasta adreses apstiprināšana" + "message": "Nepieciešama e-pasta adreses apliecināšana" }, "emailVerifiedV2": { "message": "E-pasta adrese ir apliecināta" }, "emailVerificationRequiredDesc": { - "message": "Ir jāapstiprina e-pasta adrese, lai izmantotu šo iespēju." + "message": "Ir jāapliecina sava e-pasta adrese, lai izmantotu šo iespēju." }, "passwordPrompt": { "message": "Galvenās paroles pārvaicāšana" @@ -2442,7 +2408,7 @@ "message": "Jāmēģina vēlreiz" }, "verificationRequiredForActionSetPinToContinue": { - "message": "Šai darbībai ir nepieciešama apliecināšana. Jāiestata PIN, lai turpinātu." + "message": "Šai darbībai ir nepieciešama apliecinājums. Jāiestata PIN, lai turpinātu." }, "setPin": { "message": "Iestatīt PIN" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Atslēgšana ar biometriju pašlaik nav pieejama nezināma iemesla dēļ." }, + "itemDetails": { + "message": "Vienuma dati" + }, + "itemName": { + "message": "Vienuma nosaukums" + }, + "loginCredentials": { + "message": "Pieteikšanās dati" + }, + "additionalOptions": { + "message": "Papildu iespējas" + }, + "itemHistory": { + "message": "Vienuma vēsture" + }, + "lastEdited": { + "message": "Pēdējoreiz labots" + }, + "upload": { + "message": "Augšupielādēt" + }, "authorize": { "message": "Pilnvarot" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Pārvietot" }, + "newFolder": { + "message": "Jauna mape" + }, + "folderName": { + "message": "Mapes nosaukums" + }, + "folderHintText": { + "message": "Apakšmapes var izveidot, ja pievieno iekļaujošās mapes nosaukumu, aiz kura ir \"/\". Piemēram: Tīklošanās/Forumi" + }, "newLoginNudgeTitle": { "message": "Laika ietaupīšana ar automātisko aizpildi" }, diff --git a/apps/desktop/src/locales/me/messages.json b/apps/desktop/src/locales/me/messages.json index 35345d8985e..152877fa552 100644 --- a/apps/desktop/src/locales/me/messages.json +++ b/apps/desktop/src/locales/me/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Dodaj novu stavku" }, - "addNewFolder": { - "message": "Dodaj novu fasciklu" - }, "view": { "message": "Pogled" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "UPOZORENJE", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ml/messages.json b/apps/desktop/src/locales/ml/messages.json index 69a6bd66d2e..3fcb52bade5 100644 --- a/apps/desktop/src/locales/ml/messages.json +++ b/apps/desktop/src/locales/ml/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "പുതിയ ഇനം ചേർക്കുക" }, - "addNewFolder": { - "message": "പുതിയ ഫോൾഡർ ചേർക്കുക" - }, "view": { "message": "പ്രദർശനം" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "മുന്നറിയിപ്പ്", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/mr/messages.json b/apps/desktop/src/locales/mr/messages.json index a74f71752af..471d7235945 100644 --- a/apps/desktop/src/locales/mr/messages.json +++ b/apps/desktop/src/locales/mr/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/my/messages.json b/apps/desktop/src/locales/my/messages.json index 37bef7dbf66..724194808cf 100644 --- a/apps/desktop/src/locales/my/messages.json +++ b/apps/desktop/src/locales/my/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/nb/messages.json b/apps/desktop/src/locales/nb/messages.json index d5bd0fc976e..5522218037f 100644 --- a/apps/desktop/src/locales/nb/messages.json +++ b/apps/desktop/src/locales/nb/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Legg til et nytt objekt" }, - "addNewFolder": { - "message": "Legg til en ny mappe" - }, "view": { "message": "Vis" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "«Filpassord» og «Bekreft filpassord» stemmer ikke overens." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Last inn tilgjengelighetsinformasjonskapsel" - }, - "registerAccessibilityUser": { - "message": "Registrer deg som tilgjengelighetsbruker på", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopier og lim inn linken som er sendt til e-posten din nedenfor" - }, - "enterhCaptchaUrl": { - "message": "Skriv inn URL-adressen for å laste tilgjengelighets-informasjonskapsler for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url er påkrevd", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Ugyldig url" - }, "done": { "message": "Ferdig" }, - "accessibilityCookieSaved": { - "message": "Tilgjengelighets-informasjonskapsel lagret!" - }, - "noAccessibilityCookieSaved": { - "message": "Ingen tilgjengelighets-informasjonskapsel lagret" - }, "warning": { "message": "ADVARSEL", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autoriser" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Flytt" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Spar tid med auto-utfylling" }, diff --git a/apps/desktop/src/locales/ne/messages.json b/apps/desktop/src/locales/ne/messages.json index dc710b5fbda..a56268aa671 100644 --- a/apps/desktop/src/locales/ne/messages.json +++ b/apps/desktop/src/locales/ne/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/nl/messages.json b/apps/desktop/src/locales/nl/messages.json index d7bb803ed62..cad8a495dbf 100644 --- a/apps/desktop/src/locales/nl/messages.json +++ b/apps/desktop/src/locales/nl/messages.json @@ -446,10 +446,10 @@ "message": "Veld toevoegen" }, "editField": { - "message": "Edit field" + "message": "Veld bewerken" }, "permanentlyDeleteAttachmentConfirmation": { - "message": "Are you sure you want to permanently delete this attachment?" + "message": "Weet je zeker dat je deze bijlage definitief wilt verwijderen?" }, "fieldType": { "message": "Veldtype" @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nieuw item toevoegen" }, - "addNewFolder": { - "message": "Nieuwe map toevoegen" - }, "view": { "message": "Weergeven" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Bestandswachtwoord\" en \"Bestandswachtwoord bevestigen\" komen niet overeen." }, - "hCaptchaUrl": { - "message": "hCaptcha-URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Toegankelijkheidscookie laden" - }, - "registerAccessibilityUser": { - "message": "Registreer als toegankelijkheidsgebruiker op", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopieer en plak de link die naar uw e-mail is gestuurd hieronder" - }, - "enterhCaptchaUrl": { - "message": "Voer een URL in om toegankelijkheidscookie voor hCaptcha te laden", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha-URL is vereist", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Ongeldige URL" - }, "done": { "message": "Klaar" }, - "accessibilityCookieSaved": { - "message": "Toegankelijkheidscookie opgeslagen!" - }, - "noAccessibilityCookieSaved": { - "message": "Geen toegankelijkheidscookie opgeslagen" - }, "warning": { "message": "WAARSCHUWING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometrisch ontgrendelen is momenteel niet beschikbaar om een onbekende reden." }, + "itemDetails": { + "message": "Itemdetails" + }, + "itemName": { + "message": "Itemnaam" + }, + "loginCredentials": { + "message": "Inloggegevens" + }, + "additionalOptions": { + "message": "Extra opties" + }, + "itemHistory": { + "message": "Itemgeschiedenis" + }, + "lastEdited": { + "message": "Laatst gewijzigd" + }, + "upload": { + "message": "Uploaden" + }, "authorize": { "message": "Autoriseren" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Verplaatsen" }, + "newFolder": { + "message": "Nieuwe map" + }, + "folderName": { + "message": "Mapnaam" + }, + "folderHintText": { + "message": "Je kunt een map onderbrengen door het toevoegen van de naam van de bovenliggende map gevolgd door een \"/\". Voorbeeld: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Tijd besparen met automatisch aanvullen" }, diff --git a/apps/desktop/src/locales/nn/messages.json b/apps/desktop/src/locales/nn/messages.json index 0a639b209c5..b3f0f0c5d20 100644 --- a/apps/desktop/src/locales/nn/messages.json +++ b/apps/desktop/src/locales/nn/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Legg til ei ny oppføring" }, - "addNewFolder": { - "message": "Legg til mappe" - }, "view": { "message": "Vising" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha-nettadresse", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Ei hCaptcha-nettadresse er påkravt", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Ferdig" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "ÅTVARING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/or/messages.json b/apps/desktop/src/locales/or/messages.json index 83e1f39d635..d584cd5d117 100644 --- a/apps/desktop/src/locales/or/messages.json +++ b/apps/desktop/src/locales/or/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/pl/messages.json b/apps/desktop/src/locales/pl/messages.json index c4978d6c74d..61c438c0425 100644 --- a/apps/desktop/src/locales/pl/messages.json +++ b/apps/desktop/src/locales/pl/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nowy element" }, - "addNewFolder": { - "message": "Nowy folder" - }, "view": { "message": "Widok" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“Hasło pliku” i “Potwierdź hasło pliku“ nie pasują do siebie." }, - "hCaptchaUrl": { - "message": "Adres URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Załaduj pliki cookies ułatwień dostępu" - }, - "registerAccessibilityUser": { - "message": "Zarejestruj się jako użytkownik ułatwień dostępu na", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Skopiuj i wklej link wysłany na poniższy adres e-mail" - }, - "enterhCaptchaUrl": { - "message": "Wpisz adres URL, aby załadować pliki cookies ułatwień dostępu dla hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Adres URL hCaptcha jest wymagany", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Adres URL jest nieprawidłowy" - }, "done": { "message": "Gotowe" }, - "accessibilityCookieSaved": { - "message": "Pliki cookies ułatwień dostępu zostały zapisane!" - }, - "noAccessibilityCookieSaved": { - "message": "Brak zapisanych plików cookies ułatwień dostępu" - }, "warning": { "message": "UWAGA", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Odblokowanie biometryczne jest obecnie niedostępne z nieznanego powodu." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autoryzuj" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/pt_BR/messages.json b/apps/desktop/src/locales/pt_BR/messages.json index 591357b109d..e44bb7abc8c 100644 --- a/apps/desktop/src/locales/pt_BR/messages.json +++ b/apps/desktop/src/locales/pt_BR/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Adicionar Novo Item" }, - "addNewFolder": { - "message": "Adicionar Nova Pasta" - }, "view": { "message": "Ver" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Senha do arquivo\" e \"Confirmação de senha\" não correspondem." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Carregar Cookie de Acessibilidade" - }, - "registerAccessibilityUser": { - "message": "Registre-se como um usuário de acessibilidade em", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copie e cole o link enviado para o seu email abaixo" - }, - "enterhCaptchaUrl": { - "message": "Digite a URL para carregar o cookie de acessibilidade para hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "O URL do hCaptcha é necessário", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "URL inválida" - }, "done": { "message": "Concluído" }, - "accessibilityCookieSaved": { - "message": "Cookies de acessibilidade salvos!" - }, - "noAccessibilityCookieSaved": { - "message": "Nenhum cookie de acessibilidade salvo" - }, "warning": { "message": "AVISO", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "O desbloqueio por biometria está indisponível por razões desconhecidas." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Autorizar" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Mover" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/pt_PT/messages.json b/apps/desktop/src/locales/pt_PT/messages.json index a64b06faa68..ef657f1b658 100644 --- a/apps/desktop/src/locales/pt_PT/messages.json +++ b/apps/desktop/src/locales/pt_PT/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Novo item" }, - "addNewFolder": { - "message": "Nova pasta" - }, "view": { "message": "Ver" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Palavra-passe do ficheiro\" e \"Confirmar palavra-passe do ficheiro\" não correspondem." }, - "hCaptchaUrl": { - "message": "URL do hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Carregar cookie de acessibilidade" - }, - "registerAccessibilityUser": { - "message": "Registar como utilizador de acessibilidade em", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copie e cole o link enviado para o seu e-mail abaixo" - }, - "enterhCaptchaUrl": { - "message": "Introduza o URL para carregar o cookie de acessibilidade do hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "É necessário o URL do hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "URL inválido" - }, "done": { "message": "Concluído" }, - "accessibilityCookieSaved": { - "message": "Cookie de acessibilidade guardado!" - }, - "noAccessibilityCookieSaved": { - "message": "Nenhum cookie de acessibilidade guardado" - }, "warning": { "message": "AVISO", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "O desbloqueio biométrico está atualmente indisponível por um motivo desconhecido." }, + "itemDetails": { + "message": "Detalhes do item" + }, + "itemName": { + "message": "Nome do item" + }, + "loginCredentials": { + "message": "Credenciais de início de sessão" + }, + "additionalOptions": { + "message": "Opções adicionais" + }, + "itemHistory": { + "message": "Histórico do item" + }, + "lastEdited": { + "message": "Última edição" + }, + "upload": { + "message": "Carregar" + }, "authorize": { "message": "Autorizar" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Mover" }, + "newFolder": { + "message": "Nova pasta" + }, + "folderName": { + "message": "Nome da pasta" + }, + "folderHintText": { + "message": "Crie uma subpasta adicionando o nome da pasta principal seguido de um \"/\". Exemplo: Redes Sociais/Fóruns" + }, "newLoginNudgeTitle": { "message": "Poupe tempo com o preenchimento automático" }, diff --git a/apps/desktop/src/locales/ro/messages.json b/apps/desktop/src/locales/ro/messages.json index f74dbeeb705..9024aaa5533 100644 --- a/apps/desktop/src/locales/ro/messages.json +++ b/apps/desktop/src/locales/ro/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Articol nou" }, - "addNewFolder": { - "message": "Dosar nou" - }, "view": { "message": "Afișare" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "Url-ul hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Încărcare cookie de accesibilitate" - }, - "registerAccessibilityUser": { - "message": "Înregistrați-vă ca utilizator de accesibilitate la", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copiați și lipiți linkul trimis pe e-mailul dvs. mai jos" - }, - "enterhCaptchaUrl": { - "message": "Introduceți URL-ul pentru încărcarea cookie-ului de accesibilitate pentru hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Url-ul hCaptcha este necesar", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Url invalid" - }, "done": { "message": "Făcut" }, - "accessibilityCookieSaved": { - "message": "Cookie de accesibilitate salvat!" - }, - "noAccessibilityCookieSaved": { - "message": "Niciun cookie de accesibilitate salvat" - }, "warning": { "message": "AVERTISMENT", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/ru/messages.json b/apps/desktop/src/locales/ru/messages.json index 428d4103039..0e58487ae88 100644 --- a/apps/desktop/src/locales/ru/messages.json +++ b/apps/desktop/src/locales/ru/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Новый элемент" }, - "addNewFolder": { - "message": "Новый папка" - }, "view": { "message": "Вид" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Пароль к файлу\" и \"Подтверждение пароля к файлу\" не совпадают." }, - "hCaptchaUrl": { - "message": "URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Загрузить cookie специальных возможностей" - }, - "registerAccessibilityUser": { - "message": "Зарегистрироваться как пользователь специальных возможностей на", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Скопируйте и вставьте ниже ссылку, отправленную на вашу почту" - }, - "enterhCaptchaUrl": { - "message": "Введите URL для загрузки cookie специальных возможностей для hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Требуется URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Неверный URL" - }, "done": { "message": "Готово" }, - "accessibilityCookieSaved": { - "message": "Cookie специальных возможностей сохранены!" - }, - "noAccessibilityCookieSaved": { - "message": "Отсутствуют сохраненные cookie специальных возможностей" - }, "warning": { "message": "ВНИМАНИЕ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Биометрическая разблокировка в настоящее время недоступна по неизвестной причине." }, + "itemDetails": { + "message": "Информация об элементе" + }, + "itemName": { + "message": "Название элемента" + }, + "loginCredentials": { + "message": "Данные для авторизации" + }, + "additionalOptions": { + "message": "Дополнительные настройки" + }, + "itemHistory": { + "message": "История элемента" + }, + "lastEdited": { + "message": "Последнее изменение" + }, + "upload": { + "message": "Загрузить" + }, "authorize": { "message": "Разрешить" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Переместить" }, + "newFolder": { + "message": "Новая папка" + }, + "folderName": { + "message": "Название папки" + }, + "folderHintText": { + "message": "Создайте вложенную папку, добавив название родительской папки и символ \"/\". Пример: Сообщества/Форумы" + }, "newLoginNudgeTitle": { "message": "Экономьте время с помощью автозаполнения" }, @@ -3747,7 +3743,7 @@ "message": "Упрощение создания аккаунтов" }, "newIdentityNudgeBody": { - "message": "С помощью личностей можно быстро заполнять длинные регистрационные или контактные формы." + "message": "С помощью личной информации можно быстро заполнять длинные регистрационные или контактные формы." }, "newNoteNudgeTitle": { "message": "Храните ваши конфиденциальные данные в безопасности" diff --git a/apps/desktop/src/locales/si/messages.json b/apps/desktop/src/locales/si/messages.json index e90c27094f8..bb843718e28 100644 --- a/apps/desktop/src/locales/si/messages.json +++ b/apps/desktop/src/locales/si/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "නව බහාලුමක් එකතු කරන්න" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/sk/messages.json b/apps/desktop/src/locales/sk/messages.json index 3503000b6b0..d84b164e749 100644 --- a/apps/desktop/src/locales/sk/messages.json +++ b/apps/desktop/src/locales/sk/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Pridať novú položku" }, - "addNewFolder": { - "message": "Vytvoriť nový priečinok" - }, "view": { "message": "Zobraziť" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Heslo súboru\" a \"Potvrdiť heslo súboru\" sa nezhodujú." }, - "hCaptchaUrl": { - "message": "URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Načítať súbor cookie prístupnosti" - }, - "registerAccessibilityUser": { - "message": "Zaregistrujte sa ako používateľ prístupnosti na", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Skopírujte a vložte odkaz zaslaný na váš e-mail nižšie" - }, - "enterhCaptchaUrl": { - "message": "Zadajte adresu URL na načítanie súboru cookie prístupnosti pre hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Vyžaduje sa URL hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Neplatná URL" - }, "done": { "message": "Hotovo" }, - "accessibilityCookieSaved": { - "message": "Súbor cookie prístupnosti uložený!" - }, - "noAccessibilityCookieSaved": { - "message": "Nie je uložený žiadny súbor cookie prístupnosti" - }, "warning": { "message": "UPOZORNENIE", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Odomykanie biometrickými údajmi je z neznámych dôvodov nedostupné." }, + "itemDetails": { + "message": "Podrobnosti o položke" + }, + "itemName": { + "message": "Názov položky" + }, + "loginCredentials": { + "message": "Prihlasovacie údaje" + }, + "additionalOptions": { + "message": "Ďalšie možnosti" + }, + "itemHistory": { + "message": "História položky" + }, + "lastEdited": { + "message": "Posledná úprava" + }, + "upload": { + "message": "Nahrať" + }, "authorize": { "message": "Autorizovať" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Presunúť" }, + "newFolder": { + "message": "Nový priečinok" + }, + "folderName": { + "message": "Názov priečinka" + }, + "folderHintText": { + "message": "Vnorte priečinok pridaním názvu nadradeného priečinka a znaku \"/\". Príklad: Sociálne siete/Fóra" + }, "newLoginNudgeTitle": { "message": "Ušetrite čas s automatickým vypĺňaním" }, diff --git a/apps/desktop/src/locales/sl/messages.json b/apps/desktop/src/locales/sl/messages.json index e81fa844b9b..6cc9e6fc197 100644 --- a/apps/desktop/src/locales/sl/messages.json +++ b/apps/desktop/src/locales/sl/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Dodaj nov element" }, - "addNewFolder": { - "message": "Dodaj novo mapo" - }, "view": { "message": "Pogled" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "OPOZORILO", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/sr/messages.json b/apps/desktop/src/locales/sr/messages.json index 1684d188905..7509870b0a0 100644 --- a/apps/desktop/src/locales/sr/messages.json +++ b/apps/desktop/src/locales/sr/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Додај нову ставку" }, - "addNewFolder": { - "message": "Додај нову фасциклу" - }, "view": { "message": "Приказ" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Унете лозинке се не подударају." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Учитај колачић приступачности" - }, - "registerAccessibilityUser": { - "message": "Региструјте се као корисник приступачности на", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Копирајте и испод налепите линк који је послат на адресу ваше е-поште" - }, - "enterhCaptchaUrl": { - "message": "Упишите адресу како би се учитао колачић приступачности за hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha адреса је неопходна", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Неисправна адреса" - }, "done": { "message": "Готово" }, - "accessibilityCookieSaved": { - "message": "Колачић приступачности сачуван!" - }, - "noAccessibilityCookieSaved": { - "message": "Нема сачуваног колачића приступачности" - }, "warning": { "message": "УПОЗОРЕЊЕ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Биометријско откључавање није доступно из непознатог разлога." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Ауторизуј" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Премести" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Уштедите време са ауто-пуњењем" }, diff --git a/apps/desktop/src/locales/sv/messages.json b/apps/desktop/src/locales/sv/messages.json index a9a1e9b3a03..eb0d2dcd547 100644 --- a/apps/desktop/src/locales/sv/messages.json +++ b/apps/desktop/src/locales/sv/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Nytt objekt" }, - "addNewFolder": { - "message": "Ny mapp" - }, "view": { "message": "Visa" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha-URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Ladda tillgänglighets-cookie" - }, - "registerAccessibilityUser": { - "message": "Registrera som en tillgänglighetsanvändare på", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Kopiera och klistra in länken som skickats till din e-post nedan" - }, - "enterhCaptchaUrl": { - "message": "Ange URL för att ladda tillgänglighets-cookie för hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha-URL krävs", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Ogiltig URL" - }, "done": { "message": "Klar" }, - "accessibilityCookieSaved": { - "message": "Tillgänglighets-cookie sparad!" - }, - "noAccessibilityCookieSaved": { - "message": "Ingen tillgänglighets-cookie sparad" - }, "warning": { "message": "VARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/te/messages.json b/apps/desktop/src/locales/te/messages.json index a74f71752af..471d7235945 100644 --- a/apps/desktop/src/locales/te/messages.json +++ b/apps/desktop/src/locales/te/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "New item" }, - "addNewFolder": { - "message": "New folder" - }, "view": { "message": "View" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Invalid Url" - }, "done": { "message": "Done" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "WARNING", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/th/messages.json b/apps/desktop/src/locales/th/messages.json index 62979e4290f..43aaa697a8a 100644 --- a/apps/desktop/src/locales/th/messages.json +++ b/apps/desktop/src/locales/th/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "เพิ่มรายการใหม่" }, - "addNewFolder": { - "message": "เพิ่มโฟลเดอร์ใหม่" - }, "view": { "message": "แสดง" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“File password” and “Confirm file password“ do not match." }, - "hCaptchaUrl": { - "message": "hCaptcha Url", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Load accessibility cookie" - }, - "registerAccessibilityUser": { - "message": "Register as an accessibility user at", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Copy and paste the link sent to your email below" - }, - "enterhCaptchaUrl": { - "message": "Enter URL to load accessibility cookie for hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha Url is required", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Url ไม่ถูกต้อง" - }, "done": { "message": "เสร็จสิ้น" }, - "accessibilityCookieSaved": { - "message": "Accessibility cookie saved!" - }, - "noAccessibilityCookieSaved": { - "message": "No accessibility cookie saved" - }, "warning": { "message": "คำเตือน", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/tr/messages.json b/apps/desktop/src/locales/tr/messages.json index 2927ef81f5c..c6a59afda23 100644 --- a/apps/desktop/src/locales/tr/messages.json +++ b/apps/desktop/src/locales/tr/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Yeni kayıt" }, - "addNewFolder": { - "message": "Yeni klasör" - }, "view": { "message": "Görüntüle" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "\"Dosya parolası\" ile \"Dosya parolasını onaylayın\" eşleşmiyor." }, - "hCaptchaUrl": { - "message": "hCaptcha adresi", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Erişilebilirlik çerezini yükle" - }, - "registerAccessibilityUser": { - "message": "Erişilebilirlik kullanıcısı olarak kaydolun:", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "E-postanıza gönderilen bağlantıyı kopyalayıp aşağıya yapıştırın" - }, - "enterhCaptchaUrl": { - "message": "hCaptcha erişilebilirlik çerezini yüklemek için adresi yazın", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha adresi gereklidir", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Geçersiz adres" - }, "done": { "message": "Tamam" }, - "accessibilityCookieSaved": { - "message": "Erişilebilirlik çerezi kaydedildi." - }, - "noAccessibilityCookieSaved": { - "message": "Erişilebilirlik çerezi kaydedilmedi" - }, "warning": { "message": "UYARI", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Kayıt ayrıntıları" + }, + "itemName": { + "message": "Kayıt adı" + }, + "loginCredentials": { + "message": "Hesap bilgileri" + }, + "additionalOptions": { + "message": "Ek seçenekler" + }, + "itemHistory": { + "message": "Kayıt geçmişi" + }, + "lastEdited": { + "message": "Son düzenlenme" + }, + "upload": { + "message": "Yükle" + }, "authorize": { "message": "Yetkilendir" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Taşı" }, + "newFolder": { + "message": "Yeni klasör" + }, + "folderName": { + "message": "Klasör adı" + }, + "folderHintText": { + "message": "Üst klasörün adının sonuna “/” ekleyerek klasörleri iç içe koyabilirsiniz. Örnek: Sosyal/Forumlar" + }, "newLoginNudgeTitle": { "message": "Otomatik doldurmayla zaman kazanın" }, diff --git a/apps/desktop/src/locales/uk/messages.json b/apps/desktop/src/locales/uk/messages.json index aa75d37f54a..156c8610ba2 100644 --- a/apps/desktop/src/locales/uk/messages.json +++ b/apps/desktop/src/locales/uk/messages.json @@ -446,10 +446,10 @@ "message": "Додати поле" }, "editField": { - "message": "Edit field" + "message": "Редагувати поле" }, "permanentlyDeleteAttachmentConfirmation": { - "message": "Are you sure you want to permanently delete this attachment?" + "message": "Ви дійсно хочете остаточно видалити це вкладення?" }, "fieldType": { "message": "Тип поля" @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Новий запис" }, - "addNewFolder": { - "message": "Нова тека" - }, "view": { "message": "Переглянути" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "Пароль файлу та підтвердження пароля відрізняються." }, - "hCaptchaUrl": { - "message": "URL-адреса hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Завантажити cookie спеціальних можливостей" - }, - "registerAccessibilityUser": { - "message": "Реєстрація користувача зі спеціальними можливостями", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Вставте нижче код, надісланий на вашу е-пошту" - }, - "enterhCaptchaUrl": { - "message": "Введіть URL-адресу для завантаження cookie спеціальних можливостей для hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Необхідно ввести URL-адресу hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Недійсна URL-адреса" - }, "done": { "message": "Виконано" }, - "accessibilityCookieSaved": { - "message": "Cookie спеціальних можливостей збережено!" - }, - "noAccessibilityCookieSaved": { - "message": "Немає збережених cookie особливих можливостей" - }, "warning": { "message": "ПОПЕРЕДЖЕННЯ", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Біометричне розблокування зараз недоступне з невідомої причини." }, + "itemDetails": { + "message": "Подробиці запису" + }, + "itemName": { + "message": "Назва запису" + }, + "loginCredentials": { + "message": "Облікові дані для входу" + }, + "additionalOptions": { + "message": "Додаткові налаштування" + }, + "itemHistory": { + "message": "Історія запису" + }, + "lastEdited": { + "message": "Востаннє редаговано" + }, + "upload": { + "message": "Вивантажити" + }, "authorize": { "message": "Авторизувати" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Перемістити" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Заощаджуйте час з автозаповненням" }, diff --git a/apps/desktop/src/locales/vi/messages.json b/apps/desktop/src/locales/vi/messages.json index 826b0033aa2..2fd354ed08b 100644 --- a/apps/desktop/src/locales/vi/messages.json +++ b/apps/desktop/src/locales/vi/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "Mục mới" }, - "addNewFolder": { - "message": "Thư mục mới" - }, "view": { "message": "Xem" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "“Mật khẩu tập tin” và “Nhập lại mật khẩu tập tin” không khớp." }, - "hCaptchaUrl": { - "message": "Địa chỉ hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "Tải cookie trợ năng" - }, - "registerAccessibilityUser": { - "message": "Đăng ký như người dùng trợ năng tại", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "Sao chép và dán liên kết được gửi tới email của bạn bên dưới" - }, - "enterhCaptchaUrl": { - "message": "Nhập địa chỉ để tải cookie trợ năng cho hCaptcha", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "Địa chỉ hCaptcha là bắt buộc", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "Địa chỉ không hợp lệ" - }, "done": { "message": "Xong" }, - "accessibilityCookieSaved": { - "message": "Đã lưu cookie trợ năng!" - }, - "noAccessibilityCookieSaved": { - "message": "Không có cookie trợ năng nào được lưu" - }, "warning": { "message": "CẢNH BÁO", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "Biometric unlock is currently unavailable for an unknown reason." }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "Authorize" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/locales/zh_CN/messages.json b/apps/desktop/src/locales/zh_CN/messages.json index 703680440d8..90cdb33fde5 100644 --- a/apps/desktop/src/locales/zh_CN/messages.json +++ b/apps/desktop/src/locales/zh_CN/messages.json @@ -446,10 +446,10 @@ "message": "添加字段" }, "editField": { - "message": "Edit field" + "message": "编辑字段" }, "permanentlyDeleteAttachmentConfirmation": { - "message": "Are you sure you want to permanently delete this attachment?" + "message": "确定要永久删除此附件吗?" }, "fieldType": { "message": "字段类型" @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "新增项目" }, - "addNewFolder": { - "message": "新增文件夹" - }, "view": { "message": "查看" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "「文件密码」与「确认文件密码」不一致。" }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "加载无障碍 Cookie" - }, - "registerAccessibilityUser": { - "message": "注册为无障碍用户到", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "复制发送到您电子邮箱的链接然后粘贴在下方" - }, - "enterhCaptchaUrl": { - "message": "输入 URL 以加载 hCaptcha 的无障碍 Cookie", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha URL 必填", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "无效的 URL" - }, "done": { "message": "完成" }, - "accessibilityCookieSaved": { - "message": "无障碍 Cookie 已保存!" - }, - "noAccessibilityCookieSaved": { - "message": "未保存任何无障碍 Cookie!" - }, "warning": { "message": "警告", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "由于某个未知的原因,生物识别解锁当前不可用。" }, + "itemDetails": { + "message": "项目详细信息" + }, + "itemName": { + "message": "项目名称" + }, + "loginCredentials": { + "message": "登录凭据" + }, + "additionalOptions": { + "message": "附加选项" + }, + "itemHistory": { + "message": "项目历史记录" + }, + "lastEdited": { + "message": "最后编辑于" + }, + "upload": { + "message": "上传" + }, "authorize": { "message": "批准" }, @@ -3719,6 +3706,15 @@ "move": { "message": "移动" }, + "newFolder": { + "message": "新增文件夹" + }, + "folderName": { + "message": "文件夹名称" + }, + "folderHintText": { + "message": "通过在父文件夹名后面添加「/」来嵌套文件夹。示例:Social/Forums" + }, "newLoginNudgeTitle": { "message": "使用自动填充节省时间" }, diff --git a/apps/desktop/src/locales/zh_TW/messages.json b/apps/desktop/src/locales/zh_TW/messages.json index 0f99d4a3151..eeeaf9b152e 100644 --- a/apps/desktop/src/locales/zh_TW/messages.json +++ b/apps/desktop/src/locales/zh_TW/messages.json @@ -1103,9 +1103,6 @@ "addNewItem": { "message": "新增項目" }, - "addNewFolder": { - "message": "新增資料夾" - }, "view": { "message": "檢視" }, @@ -1725,40 +1722,9 @@ "filePasswordAndConfirmFilePasswordDoNotMatch": { "message": "「檔案密碼」與「確認檔案密碼」不一致。" }, - "hCaptchaUrl": { - "message": "hCaptcha URL", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "loadAccessibilityCookie": { - "message": "載入無障礙 Cookie" - }, - "registerAccessibilityUser": { - "message": "以無障礙使用者,在下述位置註冊:", - "description": "ex. Register as an accessibility user at hcaptcha.com" - }, - "copyPasteLink": { - "message": "複製寄到您信箱的連結然後貼在下方" - }, - "enterhCaptchaUrl": { - "message": "輸入 URL 以載入 hCaptcha 的無障礙 Cookie", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "hCaptchaUrlRequired": { - "message": "hCaptcha URL 為必填", - "description": "hCaptcha is the name of a website, should not be translated" - }, - "invalidUrl": { - "message": "無效的 URL" - }, "done": { "message": "完成" }, - "accessibilityCookieSaved": { - "message": "已儲存無障礙 Cookie!" - }, - "noAccessibilityCookieSaved": { - "message": "未儲存無障礙 Cookie" - }, "warning": { "message": "警告", "description": "WARNING (should stay in capitalized letters if the language permits)" @@ -3647,6 +3613,27 @@ "biometricsStatusHelptextUnavailableReasonUnknown": { "message": "基於不明原因,生物辨識解鎖無法使用。" }, + "itemDetails": { + "message": "Item details" + }, + "itemName": { + "message": "Item name" + }, + "loginCredentials": { + "message": "Login credentials" + }, + "additionalOptions": { + "message": "Additional options" + }, + "itemHistory": { + "message": "Item history" + }, + "lastEdited": { + "message": "Last edited" + }, + "upload": { + "message": "Upload" + }, "authorize": { "message": "授權" }, @@ -3719,6 +3706,15 @@ "move": { "message": "Move" }, + "newFolder": { + "message": "New folder" + }, + "folderName": { + "message": "Folder Name" + }, + "folderHintText": { + "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + }, "newLoginNudgeTitle": { "message": "Save time with autofill" }, diff --git a/apps/desktop/src/main/window.main.ts b/apps/desktop/src/main/window.main.ts index 1c396b09b21..f1a55866079 100644 --- a/apps/desktop/src/main/window.main.ts +++ b/apps/desktop/src/main/window.main.ts @@ -32,7 +32,7 @@ export class WindowMain { session: Electron.Session; readonly defaultWidth = 950; - readonly defaultHeight = 600; + readonly defaultHeight = 790; constructor( private biometricStateService: BiometricStateService, diff --git a/apps/desktop/src/platform/main/clipboard.main.ts b/apps/desktop/src/platform/main/clipboard.main.ts index 5ca6aa29529..3fdbca45822 100644 --- a/apps/desktop/src/platform/main/clipboard.main.ts +++ b/apps/desktop/src/platform/main/clipboard.main.ts @@ -1,16 +1,30 @@ -import { ipcMain } from "electron"; +import { app, ipcMain } from "electron"; import { clipboards } from "@bitwarden/desktop-napi"; import { ClipboardWriteMessage } from "../types/clipboard"; export class ClipboardMain { + lastSavedValue: string | null = null; + init() { + app.on("before-quit", async () => { + if (this.lastSavedValue == null) { + return; + } + + const clipboardNow = await clipboards.read(); + if (clipboardNow == this.lastSavedValue) { + await clipboards.write("", false); + } + }); + ipcMain.handle("clipboard.read", async (_event: any, _message: any) => { return await clipboards.read(); }); ipcMain.handle("clipboard.write", async (_event: any, message: ClipboardWriteMessage) => { + this.lastSavedValue = message.text; return await clipboards.write(message.text, message.password ?? false); }); } diff --git a/apps/web/src/app/admin-console/organizations/manage/groups.component.html b/apps/web/src/app/admin-console/organizations/manage/groups.component.html index 4518513ba7d..caae23f500d 100644 --- a/apps/web/src/app/admin-console/organizations/manage/groups.component.html +++ b/apps/web/src/app/admin-console/organizations/manage/groups.component.html @@ -22,7 +22,7 @@

{{ "noGroupsInList" | i18n }}

- + diff --git a/apps/web/src/app/admin-console/organizations/members/members.component.html b/apps/web/src/app/admin-console/organizations/members/members.component.html index 690e7aaa855..2162e33081f 100644 --- a/apps/web/src/app/admin-console/organizations/members/members.component.html +++ b/apps/web/src/app/admin-console/organizations/members/members.component.html @@ -67,7 +67,7 @@ - + diff --git a/apps/web/src/app/admin-console/organizations/members/members.module.ts b/apps/web/src/app/admin-console/organizations/members/members.module.ts index 98431758d2f..81697f8c845 100644 --- a/apps/web/src/app/admin-console/organizations/members/members.module.ts +++ b/apps/web/src/app/admin-console/organizations/members/members.module.ts @@ -3,7 +3,6 @@ import { NgModule } from "@angular/core"; import { PasswordStrengthV2Component } from "@bitwarden/angular/tools/password-strength/password-strength-v2.component"; import { PasswordCalloutComponent } from "@bitwarden/auth/angular"; -import { ScrollLayoutDirective } from "@bitwarden/components"; import { LooseComponentsModule } from "../../../shared"; import { SharedOrganizationModule } from "../shared"; @@ -28,7 +27,6 @@ import { MembersComponent } from "./members.component"; PasswordCalloutComponent, ScrollingModule, PasswordStrengthV2Component, - ScrollLayoutDirective, ], declarations: [ BulkConfirmDialogComponent, diff --git a/apps/web/src/app/admin-console/organizations/organization.module.ts b/apps/web/src/app/admin-console/organizations/organization.module.ts index 687361760c9..459948d0f13 100644 --- a/apps/web/src/app/admin-console/organizations/organization.module.ts +++ b/apps/web/src/app/admin-console/organizations/organization.module.ts @@ -1,8 +1,6 @@ import { ScrollingModule } from "@angular/cdk/scrolling"; import { NgModule } from "@angular/core"; -import { ScrollLayoutDirective } from "@bitwarden/components"; - import { LooseComponentsModule } from "../../shared"; import { CoreOrganizationModule } from "./core"; @@ -20,7 +18,6 @@ import { AccessSelectorModule } from "./shared/components/access-selector"; OrganizationsRoutingModule, LooseComponentsModule, ScrollingModule, - ScrollLayoutDirective, ], declarations: [GroupsComponent, GroupAddEditComponent], }) diff --git a/apps/web/src/app/admin-console/organizations/settings/two-factor-setup.component.ts b/apps/web/src/app/admin-console/organizations/settings/two-factor-setup.component.ts index d14e912f83e..020a16dd932 100644 --- a/apps/web/src/app/admin-console/organizations/settings/two-factor-setup.component.ts +++ b/apps/web/src/app/admin-console/organizations/settings/two-factor-setup.component.ts @@ -119,7 +119,7 @@ export class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent impleme return this.apiService.getTwoFactorOrganizationProviders(this.organizationId); } - protected filterProvider(type: TwoFactorProviderType) { + protected filterProvider(type: TwoFactorProviderType): boolean { return type !== TwoFactorProviderType.OrganizationDuo; } } diff --git a/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts b/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts index 9806f99d90e..07bff3aba64 100644 --- a/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts +++ b/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts @@ -613,5 +613,5 @@ export function openCollectionDialog( dialogService: DialogService, config: DialogConfig>, ) { - return dialogService.open(CollectionDialogComponent, config); + return dialogService.open(CollectionDialogComponent, config); } diff --git a/apps/web/src/app/auth/core/services/change-password/index.ts b/apps/web/src/app/auth/core/services/change-password/index.ts new file mode 100644 index 00000000000..9b2aa1c0143 --- /dev/null +++ b/apps/web/src/app/auth/core/services/change-password/index.ts @@ -0,0 +1 @@ +export * from "./web-change-password.service"; diff --git a/apps/web/src/app/auth/core/services/change-password/web-change-password.service.spec.ts b/apps/web/src/app/auth/core/services/change-password/web-change-password.service.spec.ts new file mode 100644 index 00000000000..45abfe4720a --- /dev/null +++ b/apps/web/src/app/auth/core/services/change-password/web-change-password.service.spec.ts @@ -0,0 +1,63 @@ +import { mock, MockProxy } from "jest-mock-extended"; + +import { ChangePasswordService } from "@bitwarden/auth/angular"; +import { Account } from "@bitwarden/common/auth/abstractions/account.service"; +import { MasterPasswordApiService } from "@bitwarden/common/auth/abstractions/master-password-api.service.abstraction"; +import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction"; +import { UserId } from "@bitwarden/common/types/guid"; +import { KeyService } from "@bitwarden/key-management"; +import { UserKeyRotationService } from "@bitwarden/web-vault/app/key-management/key-rotation/user-key-rotation.service"; + +import { WebChangePasswordService } from "./web-change-password.service"; + +describe("WebChangePasswordService", () => { + let keyService: MockProxy; + let masterPasswordApiService: MockProxy; + let masterPasswordService: MockProxy; + let userKeyRotationService: MockProxy; + + let sut: ChangePasswordService; + + const userId = "userId" as UserId; + const user: Account = { + id: userId, + email: "email", + emailVerified: false, + name: "name", + }; + + const currentPassword = "currentPassword"; + const newPassword = "newPassword"; + const newPasswordHint = "newPasswordHint"; + + beforeEach(() => { + keyService = mock(); + masterPasswordApiService = mock(); + masterPasswordService = mock(); + userKeyRotationService = mock(); + + sut = new WebChangePasswordService( + keyService, + masterPasswordApiService, + masterPasswordService, + userKeyRotationService, + ); + }); + + describe("rotateUserKeyMasterPasswordAndEncryptedData()", () => { + it("should call the method with the same name on the UserKeyRotationService with the correct arguments", async () => { + // Arrange & Act + await sut.rotateUserKeyMasterPasswordAndEncryptedData( + currentPassword, + newPassword, + user, + newPasswordHint, + ); + + // Assert + expect( + userKeyRotationService.rotateUserKeyMasterPasswordAndEncryptedData, + ).toHaveBeenCalledWith(currentPassword, newPassword, user, newPasswordHint); + }); + }); +}); diff --git a/apps/web/src/app/auth/core/services/change-password/web-change-password.service.ts b/apps/web/src/app/auth/core/services/change-password/web-change-password.service.ts new file mode 100644 index 00000000000..b75aef0f1fc --- /dev/null +++ b/apps/web/src/app/auth/core/services/change-password/web-change-password.service.ts @@ -0,0 +1,34 @@ +import { ChangePasswordService, DefaultChangePasswordService } from "@bitwarden/auth/angular"; +import { Account } from "@bitwarden/common/auth/abstractions/account.service"; +import { MasterPasswordApiService } from "@bitwarden/common/auth/abstractions/master-password-api.service.abstraction"; +import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction"; +import { KeyService } from "@bitwarden/key-management"; +import { UserKeyRotationService } from "@bitwarden/web-vault/app/key-management/key-rotation/user-key-rotation.service"; + +export class WebChangePasswordService + extends DefaultChangePasswordService + implements ChangePasswordService +{ + constructor( + protected keyService: KeyService, + protected masterPasswordApiService: MasterPasswordApiService, + protected masterPasswordService: InternalMasterPasswordServiceAbstraction, + private userKeyRotationService: UserKeyRotationService, + ) { + super(keyService, masterPasswordApiService, masterPasswordService); + } + + override async rotateUserKeyMasterPasswordAndEncryptedData( + currentPassword: string, + newPassword: string, + user: Account, + newPasswordHint: string, + ): Promise { + await this.userKeyRotationService.rotateUserKeyMasterPasswordAndEncryptedData( + currentPassword, + newPassword, + user, + newPasswordHint, + ); + } +} diff --git a/apps/web/src/app/auth/core/services/index.ts b/apps/web/src/app/auth/core/services/index.ts index 11c8dd98872..5539e3b76ea 100644 --- a/apps/web/src/app/auth/core/services/index.ts +++ b/apps/web/src/app/auth/core/services/index.ts @@ -1,3 +1,4 @@ +export * from "./change-password"; export * from "./login"; export * from "./login-decryption-options"; export * from "./webauthn-login"; diff --git a/apps/web/src/app/auth/core/services/registration/web-registration-finish.service.spec.ts b/apps/web/src/app/auth/core/services/registration/web-registration-finish.service.spec.ts index edce551342e..fe3b0837aa8 100644 --- a/apps/web/src/app/auth/core/services/registration/web-registration-finish.service.spec.ts +++ b/apps/web/src/app/auth/core/services/registration/web-registration-finish.service.spec.ts @@ -185,11 +185,11 @@ describe("WebRegistrationFinishService", () => { emailVerificationToken = "emailVerificationToken"; masterKey = new SymmetricCryptoKey(new Uint8Array(64).buffer as CsprngArray) as MasterKey; passwordInputResult = { - masterKey: masterKey, - serverMasterKeyHash: "serverMasterKeyHash", - localMasterKeyHash: "localMasterKeyHash", + newMasterKey: masterKey, + newServerMasterKeyHash: "newServerMasterKeyHash", + newLocalMasterKeyHash: "newLocalMasterKeyHash", kdfConfig: DEFAULT_KDF_CONFIG, - hint: "hint", + newPasswordHint: "newPasswordHint", newPassword: "newPassword", }; @@ -231,8 +231,8 @@ describe("WebRegistrationFinishService", () => { expect.objectContaining({ email, emailVerificationToken: emailVerificationToken, - masterPasswordHash: passwordInputResult.serverMasterKeyHash, - masterPasswordHint: passwordInputResult.hint, + masterPasswordHash: passwordInputResult.newServerMasterKeyHash, + masterPasswordHint: passwordInputResult.newPasswordHint, userSymmetricKey: userKeyEncString.encryptedString, userAsymmetricKeys: { publicKey: userKeyPair[0], @@ -267,8 +267,8 @@ describe("WebRegistrationFinishService", () => { expect.objectContaining({ email, emailVerificationToken: undefined, - masterPasswordHash: passwordInputResult.serverMasterKeyHash, - masterPasswordHint: passwordInputResult.hint, + masterPasswordHash: passwordInputResult.newServerMasterKeyHash, + masterPasswordHint: passwordInputResult.newPasswordHint, userSymmetricKey: userKeyEncString.encryptedString, userAsymmetricKeys: { publicKey: userKeyPair[0], @@ -308,8 +308,8 @@ describe("WebRegistrationFinishService", () => { expect.objectContaining({ email, emailVerificationToken: undefined, - masterPasswordHash: passwordInputResult.serverMasterKeyHash, - masterPasswordHint: passwordInputResult.hint, + masterPasswordHash: passwordInputResult.newServerMasterKeyHash, + masterPasswordHint: passwordInputResult.newPasswordHint, userSymmetricKey: userKeyEncString.encryptedString, userAsymmetricKeys: { publicKey: userKeyPair[0], @@ -351,8 +351,8 @@ describe("WebRegistrationFinishService", () => { expect.objectContaining({ email, emailVerificationToken: undefined, - masterPasswordHash: passwordInputResult.serverMasterKeyHash, - masterPasswordHint: passwordInputResult.hint, + masterPasswordHash: passwordInputResult.newServerMasterKeyHash, + masterPasswordHint: passwordInputResult.newPasswordHint, userSymmetricKey: userKeyEncString.encryptedString, userAsymmetricKeys: { publicKey: userKeyPair[0], @@ -396,8 +396,8 @@ describe("WebRegistrationFinishService", () => { expect.objectContaining({ email, emailVerificationToken: undefined, - masterPasswordHash: passwordInputResult.serverMasterKeyHash, - masterPasswordHint: passwordInputResult.hint, + masterPasswordHash: passwordInputResult.newServerMasterKeyHash, + masterPasswordHint: passwordInputResult.newPasswordHint, userSymmetricKey: userKeyEncString.encryptedString, userAsymmetricKeys: { publicKey: userKeyPair[0], diff --git a/apps/web/src/app/auth/settings/change-password.component.ts b/apps/web/src/app/auth/settings/change-password.component.ts index f1ba9281f69..1d95a498694 100644 --- a/apps/web/src/app/auth/settings/change-password.component.ts +++ b/apps/web/src/app/auth/settings/change-password.component.ts @@ -29,6 +29,9 @@ import { KdfConfigService, KeyService } from "@bitwarden/key-management"; import { UserKeyRotationService } from "../../key-management/key-rotation/user-key-rotation.service"; +/** + * @deprecated use the auth `PasswordSettingsComponent` instead + */ @Component({ selector: "app-change-password", templateUrl: "change-password.component.html", @@ -132,7 +135,7 @@ export class ChangePasswordComponent content: this.i18nService.t("updateEncryptionKeyWarning") + " " + - this.i18nService.t("updateEncryptionKeyExportWarning") + + this.i18nService.t("updateEncryptionKeyAccountExportWarning") + " " + this.i18nService.t("rotateEncKeyConfirmation"), type: "warning", diff --git a/apps/web/src/app/auth/settings/security/device-management.component.spec.ts b/apps/web/src/app/auth/settings/security/device-management.component.spec.ts index d86123f52be..84c1dfcb63b 100644 --- a/apps/web/src/app/auth/settings/security/device-management.component.spec.ts +++ b/apps/web/src/app/auth/settings/security/device-management.component.spec.ts @@ -9,13 +9,7 @@ import { DeviceType } from "@bitwarden/common/enums"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { ValidationService } from "@bitwarden/common/platform/abstractions/validation.service"; import { MessageListener } from "@bitwarden/common/platform/messaging"; -import { - DialogService, - ToastService, - TableModule, - PopoverModule, - LayoutComponent, -} from "@bitwarden/components"; +import { DialogService, ToastService, TableModule, PopoverModule } from "@bitwarden/components"; import { SharedModule } from "../../../shared"; import { VaultBannersService } from "../../../vault/individual-vault/vault-banners/services/vault-banners.service"; @@ -121,12 +115,6 @@ describe("DeviceManagementComponent", () => { showError: jest.fn(), }, }, - { - provide: LayoutComponent, - useValue: { - mainContent: jest.fn(), - }, - }, ], }).compileComponents(); diff --git a/apps/web/src/app/auth/settings/security/password-settings/password-settings.component.html b/apps/web/src/app/auth/settings/security/password-settings/password-settings.component.html new file mode 100644 index 00000000000..94cf08b5871 --- /dev/null +++ b/apps/web/src/app/auth/settings/security/password-settings/password-settings.component.html @@ -0,0 +1,10 @@ +
+

{{ "changeMasterPassword" | i18n }}

+
+ +
+ {{ "loggedOutWarning" | i18n }} + +
+ + diff --git a/apps/web/src/app/auth/settings/security/password-settings/password-settings.component.ts b/apps/web/src/app/auth/settings/security/password-settings/password-settings.component.ts new file mode 100644 index 00000000000..ee30543fba2 --- /dev/null +++ b/apps/web/src/app/auth/settings/security/password-settings/password-settings.component.ts @@ -0,0 +1,35 @@ +import { Component, OnInit } from "@angular/core"; +import { Router } from "@angular/router"; +import { firstValueFrom } from "rxjs"; + +import { ChangePasswordComponent, InputPasswordFlow } from "@bitwarden/auth/angular"; +import { UserDecryptionOptionsServiceAbstraction } from "@bitwarden/auth/common"; +import { CalloutModule } from "@bitwarden/components"; +import { I18nPipe } from "@bitwarden/ui-common"; + +import { WebauthnLoginSettingsModule } from "../../webauthn-login-settings"; + +@Component({ + standalone: true, + selector: "app-password-settings", + templateUrl: "password-settings.component.html", + imports: [CalloutModule, ChangePasswordComponent, I18nPipe, WebauthnLoginSettingsModule], +}) +export class PasswordSettingsComponent implements OnInit { + inputPasswordFlow = InputPasswordFlow.ChangePasswordWithOptionalUserKeyRotation; + + constructor( + private router: Router, + private userDecryptionOptionsService: UserDecryptionOptionsServiceAbstraction, + ) {} + + async ngOnInit() { + const userHasMasterPassword = await firstValueFrom( + this.userDecryptionOptionsService.hasMasterPassword$, + ); + if (!userHasMasterPassword) { + await this.router.navigate(["/settings/security/two-factor"]); + return; + } + } +} diff --git a/apps/web/src/app/auth/settings/security/security-routing.module.ts b/apps/web/src/app/auth/settings/security/security-routing.module.ts index 6ed21605184..14d4aab8a36 100644 --- a/apps/web/src/app/auth/settings/security/security-routing.module.ts +++ b/apps/web/src/app/auth/settings/security/security-routing.module.ts @@ -1,10 +1,14 @@ import { NgModule } from "@angular/core"; import { RouterModule, Routes } from "@angular/router"; +import { canAccessFeature } from "@bitwarden/angular/platform/guard/feature-flag.guard"; +import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; + import { ChangePasswordComponent } from "../change-password.component"; import { TwoFactorSetupComponent } from "../two-factor/two-factor-setup.component"; import { DeviceManagementComponent } from "./device-management.component"; +import { PasswordSettingsComponent } from "./password-settings/password-settings.component"; import { SecurityKeysComponent } from "./security-keys.component"; import { SecurityComponent } from "./security.component"; @@ -14,10 +18,31 @@ const routes: Routes = [ component: SecurityComponent, data: { titleId: "security" }, children: [ - { path: "", pathMatch: "full", redirectTo: "change-password" }, + { path: "", pathMatch: "full", redirectTo: "password" }, { path: "change-password", component: ChangePasswordComponent, + canActivate: [ + canAccessFeature( + FeatureFlag.PM16117_ChangeExistingPasswordRefactor, + false, + "/settings/security/password", + false, + ), + ], + data: { titleId: "masterPassword" }, + }, + { + path: "password", + component: PasswordSettingsComponent, + canActivate: [ + canAccessFeature( + FeatureFlag.PM16117_ChangeExistingPasswordRefactor, + true, + "/settings/security/change-password", + false, + ), + ], data: { titleId: "masterPassword" }, }, { diff --git a/apps/web/src/app/auth/settings/security/security.component.html b/apps/web/src/app/auth/settings/security/security.component.html index 6bd7c1daf36..355a33d4427 100644 --- a/apps/web/src/app/auth/settings/security/security.component.html +++ b/apps/web/src/app/auth/settings/security/security.component.html @@ -1,7 +1,7 @@ - {{ "masterPassword" | i18n }} + {{ "masterPassword" | i18n }} {{ "twoStepLogin" | i18n }} {{ "devices" | i18n }} diff --git a/apps/web/src/app/auth/settings/security/security.component.ts b/apps/web/src/app/auth/settings/security/security.component.ts index 4f70a19e378..41b1af17abb 100644 --- a/apps/web/src/app/auth/settings/security/security.component.ts +++ b/apps/web/src/app/auth/settings/security/security.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from "@angular/core"; import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction"; +import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; @Component({ @@ -10,6 +11,7 @@ import { ConfigService } from "@bitwarden/common/platform/abstractions/config/co }) export class SecurityComponent implements OnInit { showChangePassword = true; + changePasswordRoute = "change-password"; constructor( private userVerificationService: UserVerificationService, @@ -18,5 +20,12 @@ export class SecurityComponent implements OnInit { async ngOnInit() { this.showChangePassword = await this.userVerificationService.hasMasterPassword(); + + const changePasswordRefreshFlag = await this.configService.getFeatureFlag( + FeatureFlag.PM16117_ChangeExistingPasswordRefactor, + ); + if (changePasswordRefreshFlag) { + this.changePasswordRoute = "password"; + } } } diff --git a/apps/web/src/app/auth/settings/two-factor/two-factor-setup.component.ts b/apps/web/src/app/auth/settings/two-factor/two-factor-setup.component.ts index d240dc467ae..88c9eea2cb0 100644 --- a/apps/web/src/app/auth/settings/two-factor/two-factor-setup.component.ts +++ b/apps/web/src/app/auth/settings/two-factor/two-factor-setup.component.ts @@ -273,7 +273,7 @@ export class TwoFactorSetupComponent implements OnInit, OnDestroy { return this.apiService.getTwoFactorProviders(); } - protected filterProvider(type: TwoFactorProviderType) { + protected filterProvider(type: TwoFactorProviderType): boolean { return type === TwoFactorProviderType.OrganizationDuo; } diff --git a/apps/web/src/app/billing/members/add-sponsorship-dialog.component.ts b/apps/web/src/app/billing/members/add-sponsorship-dialog.component.ts index d0eb065b74b..7e6c0d464c3 100644 --- a/apps/web/src/app/billing/members/add-sponsorship-dialog.component.ts +++ b/apps/web/src/app/billing/members/add-sponsorship-dialog.component.ts @@ -1,3 +1,4 @@ +import { DIALOG_DATA, DialogConfig, DialogRef } from "@angular/cdk/dialog"; import { Component, Inject } from "@angular/core"; import { AbstractControl, @@ -18,10 +19,7 @@ import { EncryptService } from "@bitwarden/common/key-management/crypto/abstract import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { OrgKey } from "@bitwarden/common/types/key"; import { - DialogRef, ButtonModule, - DialogConfig, - DIALOG_DATA, DialogModule, DialogService, FormFieldModule, diff --git a/apps/web/src/app/billing/members/free-bitwarden-families.component.ts b/apps/web/src/app/billing/members/free-bitwarden-families.component.ts index dddc730168c..5b249683b57 100644 --- a/apps/web/src/app/billing/members/free-bitwarden-families.component.ts +++ b/apps/web/src/app/billing/members/free-bitwarden-families.component.ts @@ -1,3 +1,4 @@ +import { DialogRef } from "@angular/cdk/dialog"; import { formatDate } from "@angular/common"; import { Component, OnInit, signal } from "@angular/core"; import { takeUntilDestroyed } from "@angular/core/rxjs-interop"; @@ -15,7 +16,7 @@ import { EncString } from "@bitwarden/common/platform/models/domain/enc-string"; import { StateProvider } from "@bitwarden/common/platform/state"; import { OrganizationId, UserId } from "@bitwarden/common/types/guid"; import { OrgKey } from "@bitwarden/common/types/key"; -import { DialogRef, DialogService, ToastService } from "@bitwarden/components"; +import { DialogService, ToastService } from "@bitwarden/components"; import { KeyService } from "@bitwarden/key-management"; import { AddSponsorshipDialogComponent } from "./add-sponsorship-dialog.component"; @@ -179,7 +180,10 @@ export class FreeBitwardenFamiliesComponent implements OnInit { return; } - await this.organizationSponsorshipApiService.deleteRevokeSponsorship(this.organizationId, true); + await this.organizationSponsorshipApiService.deleteAdminInitiatedRevokeSponsorship( + this.organizationId, + sponsorship.friendlyName, + ); this.toastService.showToast({ variant: "success", diff --git a/apps/web/src/app/billing/shared/payment/payment.component.ts b/apps/web/src/app/billing/shared/payment/payment.component.ts index 5911e377869..75db7779a04 100644 --- a/apps/web/src/app/billing/shared/payment/payment.component.ts +++ b/apps/web/src/app/billing/shared/payment/payment.component.ts @@ -101,6 +101,15 @@ export class PaymentComponent implements OnInit, OnDestroy { this.submitted.emit(type); }; + validate = () => { + if (!this.usingBankAccount) { + return true; + } + + this.formGroup.controls.bankInformation.markAllAsTouched(); + return this.formGroup.controls.bankInformation.valid; + }; + /** * Tokenize the payment method information entered by the user against one of our payment providers. * diff --git a/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.html b/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.html index 078c926891a..7f093842b6a 100644 --- a/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.html +++ b/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.html @@ -1,89 +1,100 @@ -
- -
- + + + + + + + +
+} diff --git a/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.ts b/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.ts index 93f2bc021cd..215035a0d16 100644 --- a/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.ts +++ b/apps/web/src/app/billing/trial-initiation/complete-trial-initiation/complete-trial-initiation.component.ts @@ -52,7 +52,8 @@ export type InitiationPath = export class CompleteTrialInitiationComponent implements OnInit, OnDestroy { @ViewChild("stepper", { static: false }) verticalStepper: VerticalStepperComponent; - InputPasswordFlow = InputPasswordFlow; + inputPasswordFlow = InputPasswordFlow.AccountRegistration; + initializing = true; /** Password Manager or Secrets Manager */ product: ProductType; @@ -203,6 +204,8 @@ export class CompleteTrialInitiationComponent implements OnInit, OnDestroy { .subscribe(() => { this.orgInfoFormGroup.controls.name.markAsTouched(); }); + + this.initializing = false; } ngOnDestroy(): void { diff --git a/apps/web/src/app/components/environment-selector/environment-selector.component.ts b/apps/web/src/app/components/environment-selector/environment-selector.component.ts index 3f71a0d719a..ba0f5097b5b 100644 --- a/apps/web/src/app/components/environment-selector/environment-selector.component.ts +++ b/apps/web/src/app/components/environment-selector/environment-selector.component.ts @@ -10,10 +10,13 @@ import { import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { Utils } from "@bitwarden/common/platform/misc/utils"; +import { SharedModule } from "../../shared"; + @Component({ selector: "environment-selector", templateUrl: "environment-selector.component.html", - standalone: false, + standalone: true, + imports: [SharedModule], }) export class EnvironmentSelectorComponent implements OnInit { constructor( diff --git a/apps/web/src/app/components/environment-selector/environment-selector.module.ts b/apps/web/src/app/components/environment-selector/environment-selector.module.ts deleted file mode 100644 index 1326d4c9cae..00000000000 --- a/apps/web/src/app/components/environment-selector/environment-selector.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { NgModule } from "@angular/core"; - -import { SharedModule } from "../../../app/shared"; - -import { EnvironmentSelectorComponent } from "./environment-selector.component"; - -@NgModule({ - imports: [SharedModule], - declarations: [EnvironmentSelectorComponent], - exports: [EnvironmentSelectorComponent], -}) -export class EnvironmentSelectorModule {} diff --git a/apps/web/src/app/core/core.module.ts b/apps/web/src/app/core/core.module.ts index 30d43afc9a4..bcc0f03bcbf 100644 --- a/apps/web/src/app/core/core.module.ts +++ b/apps/web/src/app/core/core.module.ts @@ -34,6 +34,7 @@ import { LoginDecryptionOptionsService, TwoFactorAuthComponentService, TwoFactorAuthDuoComponentService, + ChangePasswordService, } from "@bitwarden/auth/angular"; import { InternalUserDecryptionOptionsServiceAbstraction, @@ -114,6 +115,7 @@ import { DefaultSshImportPromptService, SshImportPromptService } from "@bitwarde import { flagEnabled } from "../../utils/flags"; import { PolicyListService } from "../admin-console/core/policy-list.service"; import { + WebChangePasswordService, WebSetPasswordJitService, WebRegistrationFinishService, WebLoginComponentService, @@ -127,6 +129,7 @@ import { AcceptOrganizationInviteService } from "../auth/organization-invite/acc import { HtmlStorageService } from "../core/html-storage.service"; import { I18nService } from "../core/i18n.service"; import { WebFileDownloadService } from "../core/web-file-download.service"; +import { UserKeyRotationService } from "../key-management/key-rotation/user-key-rotation.service"; import { WebLockComponentService } from "../key-management/lock/services/web-lock-component.service"; import { WebProcessReloadService } from "../key-management/services/web-process-reload.service"; import { WebBiometricsService } from "../key-management/web-biometric.service"; @@ -387,6 +390,16 @@ const safeProviders: SafeProvider[] = [ useClass: DefaultSshImportPromptService, deps: [DialogService, ToastService, PlatformUtilsService, I18nServiceAbstraction], }), + safeProvider({ + provide: ChangePasswordService, + useClass: WebChangePasswordService, + deps: [ + KeyServiceAbstraction, + MasterPasswordApiService, + InternalMasterPasswordServiceAbstraction, + UserKeyRotationService, + ], + }), ]; @NgModule({ diff --git a/apps/web/src/app/layouts/frontend-layout.component.ts b/apps/web/src/app/layouts/frontend-layout.component.ts index 9e22ab6d43e..5ccb39b1dc9 100644 --- a/apps/web/src/app/layouts/frontend-layout.component.ts +++ b/apps/web/src/app/layouts/frontend-layout.component.ts @@ -4,10 +4,14 @@ import { Component, OnDestroy, OnInit } from "@angular/core"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; +import { EnvironmentSelectorComponent } from "../components/environment-selector/environment-selector.component"; +import { SharedModule } from "../shared"; + @Component({ selector: "app-frontend-layout", templateUrl: "frontend-layout.component.html", - standalone: false, + standalone: true, + imports: [SharedModule, EnvironmentSelectorComponent], }) export class FrontendLayoutComponent implements OnInit, OnDestroy { version: string; diff --git a/apps/web/src/app/layouts/web-layout.component.ts b/apps/web/src/app/layouts/web-layout.component.ts index 840beaa2179..aa4de4cfee5 100644 --- a/apps/web/src/app/layouts/web-layout.component.ts +++ b/apps/web/src/app/layouts/web-layout.component.ts @@ -4,13 +4,12 @@ import { Component } from "@angular/core"; import { LayoutComponent } from "@bitwarden/components"; import { ProductSwitcherModule } from "./product-switcher/product-switcher.module"; -import { ToggleWidthComponent } from "./toggle-width.component"; @Component({ selector: "app-layout", templateUrl: "web-layout.component.html", standalone: true, - imports: [CommonModule, LayoutComponent, ProductSwitcherModule, ToggleWidthComponent], + imports: [CommonModule, LayoutComponent, ProductSwitcherModule], }) export class WebLayoutComponent { constructor() {} diff --git a/apps/web/src/app/settings/domain-rules.component.ts b/apps/web/src/app/settings/domain-rules.component.ts index 2d570f4aeb4..7656222cfd2 100644 --- a/apps/web/src/app/settings/domain-rules.component.ts +++ b/apps/web/src/app/settings/domain-rules.component.ts @@ -9,10 +9,14 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; +import { HeaderModule } from "../layouts/header/header.module"; +import { SharedModule } from "../shared"; + @Component({ selector: "app-domain-rules", templateUrl: "domain-rules.component.html", - standalone: false, + standalone: true, + imports: [SharedModule, HeaderModule], }) export class DomainRulesComponent implements OnInit { loading = true; diff --git a/apps/web/src/app/settings/preferences.component.ts b/apps/web/src/app/settings/preferences.component.ts index 9ab23c76795..c9efd059271 100644 --- a/apps/web/src/app/settings/preferences.component.ts +++ b/apps/web/src/app/settings/preferences.component.ts @@ -14,6 +14,7 @@ import { tap, } from "rxjs"; +import { VaultTimeoutInputComponent } from "@bitwarden/auth/angular"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { PolicyType } from "@bitwarden/common/admin-console/enums"; import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service"; @@ -34,10 +35,14 @@ import { Utils } from "@bitwarden/common/platform/misc/utils"; import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service"; import { DialogService } from "@bitwarden/components"; +import { HeaderModule } from "../layouts/header/header.module"; +import { SharedModule } from "../shared"; + @Component({ selector: "app-preferences", templateUrl: "preferences.component.html", - standalone: false, + standalone: true, + imports: [SharedModule, HeaderModule, VaultTimeoutInputComponent], }) export class PreferencesComponent implements OnInit, OnDestroy { // For use in template diff --git a/apps/web/src/app/shared/loose-components.module.ts b/apps/web/src/app/shared/loose-components.module.ts index ab6c6cc5d72..e59633ee499 100644 --- a/apps/web/src/app/shared/loose-components.module.ts +++ b/apps/web/src/app/shared/loose-components.module.ts @@ -40,20 +40,18 @@ import { VerifyRecoverDeleteComponent } from "../auth/verify-recover-delete.comp import { SponsoredFamiliesComponent } from "../billing/settings/sponsored-families.component"; import { SponsoringOrgRowComponent } from "../billing/settings/sponsoring-org-row.component"; import { DynamicAvatarComponent } from "../components/dynamic-avatar.component"; +// eslint-disable-next-line no-restricted-imports -- Temporarily disabled until DIRT refactors these out of this module import { ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent } from "../dirt/reports/pages/organizations/exposed-passwords-report.component"; +// eslint-disable-next-line no-restricted-imports -- Temporarily disabled until DIRT refactors these out of this module import { InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent } from "../dirt/reports/pages/organizations/inactive-two-factor-report.component"; +// eslint-disable-next-line no-restricted-imports -- Temporarily disabled until DIRT refactors these out of this module import { ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent } from "../dirt/reports/pages/organizations/reused-passwords-report.component"; +// eslint-disable-next-line no-restricted-imports -- Temporarily disabled until DIRT refactors these out of this module import { UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent } from "../dirt/reports/pages/organizations/unsecured-websites-report.component"; +// eslint-disable-next-line no-restricted-imports -- Temporarily disabled until DIRT refactors these out of this module import { WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent } from "../dirt/reports/pages/organizations/weak-passwords-report.component"; import { RemovePasswordComponent } from "../key-management/key-connector/remove-password.component"; -import { FrontendLayoutComponent } from "../layouts/frontend-layout.component"; import { HeaderModule } from "../layouts/header/header.module"; -import { ProductSwitcherModule } from "../layouts/product-switcher/product-switcher.module"; -import { UserLayoutComponent } from "../layouts/user-layout.component"; -import { DomainRulesComponent } from "../settings/domain-rules.component"; -import { PreferencesComponent } from "../settings/preferences.component"; -/* eslint no-restricted-imports: "off" -- Temporarily disabled until Tools refactors these out of this module */ -/* eslint no-restricted-imports: "error" */ import { PremiumBadgeComponent } from "../vault/components/premium-badge.component"; import { FolderAddEditComponent } from "../vault/individual-vault/folder-add-edit.component"; import { OrganizationBadgeModule } from "../vault/individual-vault/organization-badge/organization-badge.module"; @@ -61,7 +59,6 @@ import { PipesModule } from "../vault/individual-vault/pipes/pipes.module"; import { PurgeVaultComponent } from "../vault/settings/purge-vault.component"; import { FreeBitwardenFamiliesComponent } from "./../billing/members/free-bitwarden-families.component"; -import { EnvironmentSelectorModule } from "./../components/environment-selector/environment-selector.module"; import { AccountFingerprintComponent } from "./components/account-fingerprint/account-fingerprint.component"; import { SharedModule } from "./shared.module"; @@ -70,11 +67,9 @@ import { SharedModule } from "./shared.module"; @NgModule({ imports: [ SharedModule, - ProductSwitcherModule, UserVerificationModule, ChangeKdfModule, DynamicAvatarComponent, - EnvironmentSelectorModule, AccountFingerprintComponent, OrganizationBadgeModule, PipesModule, @@ -85,7 +80,6 @@ import { SharedModule } from "./shared.module"; NavigationModule, HeaderModule, OrganizationLayoutComponent, - UserLayoutComponent, VerifyRecoverDeleteOrgComponent, VaultTimeoutInputComponent, ], @@ -96,14 +90,12 @@ import { SharedModule } from "./shared.module"; ChangeEmailComponent, DeauthorizeSessionsComponent, DeleteAccountDialogComponent, - DomainRulesComponent, EmergencyAccessAddEditComponent, EmergencyAccessComponent, EmergencyAccessConfirmComponent, EmergencyAccessTakeoverComponent, EmergencyAccessViewComponent, FolderAddEditComponent, - FrontendLayoutComponent, OrgEventsComponent, OrgExposedPasswordsReportComponent, OrgInactiveTwoFactorReportComponent, @@ -111,7 +103,6 @@ import { SharedModule } from "./shared.module"; OrgUnsecuredWebsitesReportComponent, OrgUserConfirmComponent, OrgWeakPasswordsReportComponent, - PreferencesComponent, PremiumBadgeComponent, ProfileComponent, ChangeAvatarDialogComponent, @@ -139,7 +130,6 @@ import { SharedModule } from "./shared.module"; ChangeEmailComponent, DeauthorizeSessionsComponent, DeleteAccountDialogComponent, - DomainRulesComponent, DynamicAvatarComponent, EmergencyAccessAddEditComponent, EmergencyAccessComponent, @@ -147,7 +137,6 @@ import { SharedModule } from "./shared.module"; EmergencyAccessTakeoverComponent, EmergencyAccessViewComponent, FolderAddEditComponent, - FrontendLayoutComponent, OrganizationLayoutComponent, OrgEventsComponent, OrgExposedPasswordsReportComponent, @@ -156,7 +145,6 @@ import { SharedModule } from "./shared.module"; OrgUnsecuredWebsitesReportComponent, OrgUserConfirmComponent, OrgWeakPasswordsReportComponent, - PreferencesComponent, PremiumBadgeComponent, ProfileComponent, ChangeAvatarDialogComponent, @@ -173,7 +161,6 @@ import { SharedModule } from "./shared.module"; SponsoringOrgRowComponent, UpdateTempPasswordComponent, UpdatePasswordComponent, - UserLayoutComponent, VerifyEmailTokenComponent, VerifyRecoverDeleteComponent, HeaderModule, diff --git a/apps/web/src/app/vault/components/vault-items/vault-items.component.html b/apps/web/src/app/vault/components/vault-items/vault-items.component.html index 7f3cc387122..f1f50beb582 100644 --- a/apps/web/src/app/vault/components/vault-items/vault-items.component.html +++ b/apps/web/src/app/vault/components/vault-items/vault-items.component.html @@ -1,4 +1,4 @@ - + diff --git a/apps/web/src/app/vault/components/vault-items/vault-items.module.ts b/apps/web/src/app/vault/components/vault-items/vault-items.module.ts index ab4f8bddb16..e54a9c1141f 100644 --- a/apps/web/src/app/vault/components/vault-items/vault-items.module.ts +++ b/apps/web/src/app/vault/components/vault-items/vault-items.module.ts @@ -3,7 +3,7 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; import { RouterModule } from "@angular/router"; -import { ScrollLayoutDirective, TableModule } from "@bitwarden/components"; +import { TableModule } from "@bitwarden/components"; import { CollectionNameBadgeComponent } from "../../../admin-console/organizations/collections"; import { GroupBadgeModule } from "../../../admin-console/organizations/collections/group-badge/group-badge.module"; @@ -26,7 +26,6 @@ import { VaultItemsComponent } from "./vault-items.component"; CollectionNameBadgeComponent, GroupBadgeModule, PipesModule, - ScrollLayoutDirective, ], declarations: [VaultItemsComponent, VaultCipherRowComponent, VaultCollectionRowComponent], exports: [VaultItemsComponent], diff --git a/apps/web/src/app/vault/components/vault-items/vault-items.stories.ts b/apps/web/src/app/vault/components/vault-items/vault-items.stories.ts index 02c845ac944..55807ed855f 100644 --- a/apps/web/src/app/vault/components/vault-items/vault-items.stories.ts +++ b/apps/web/src/app/vault/components/vault-items/vault-items.stories.ts @@ -2,13 +2,7 @@ // @ts-strict-ignore import { importProvidersFrom } from "@angular/core"; import { RouterModule } from "@angular/router"; -import { - applicationConfig, - componentWrapperDecorator, - Meta, - moduleMetadata, - StoryObj, -} from "@storybook/angular"; +import { applicationConfig, Meta, moduleMetadata, StoryObj } from "@storybook/angular"; import { BehaviorSubject, of } from "rxjs"; import { @@ -35,7 +29,6 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; import { CipherAuthorizationService } from "@bitwarden/common/vault/services/cipher-authorization.service"; -import { LayoutComponent } from "@bitwarden/components"; import { GroupView } from "../../../admin-console/organizations/core"; import { PreloadedEnglishI18nModule } from "../../../core/tests"; @@ -55,9 +48,8 @@ export default { title: "Web/Vault/Items", component: VaultItemsComponent, decorators: [ - componentWrapperDecorator((story) => `${story}`), moduleMetadata({ - imports: [VaultItemsModule, RouterModule, LayoutComponent], + imports: [VaultItemsModule, RouterModule], providers: [ { provide: EnvironmentService, diff --git a/apps/web/src/locales/af/messages.json b/apps/web/src/locales/af/messages.json index 24171cff411..152eb51d7d1 100644 --- a/apps/web/src/locales/af/messages.json +++ b/apps/web/src/locales/af/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Enige geënkripteerde uitsture wat u bewaar het word ook ongeldig." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Intekening" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ar/messages.json b/apps/web/src/locales/ar/messages.json index 4c1218a5e6d..c84858fce08 100644 --- a/apps/web/src/locales/ar/messages.json +++ b/apps/web/src/locales/ar/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "تطبيق" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "إجمالي الأعضاء" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/az/messages.json b/apps/web/src/locales/az/messages.json index 3857fd936aa..3518898335e 100644 --- a/apps/web/src/locales/az/messages.json +++ b/apps/web/src/locales/az/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Tətbiqi kritik olaraq işarələ" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Kritik olaraq işarələnmiş tətbiqlər" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Bu üzvlər, tətbiqlərə zəif, ifşa olunmuş və ya təkrar istifadə olunan parollarla giriş edir." }, + "atRiskMembersDescriptionNone": { + "message": "Tətbiqlərə zəif, ifşa olunmuş və ya təkrar istifadə olunan parollarla giriş edən üzv yoxdur." + }, "atRiskApplicationsDescription": { "message": "Bu tətbiqlər zəif, ifşa olunmuş və ya təkrar istifadə edilmiş parollara sahibdir." }, + "atRiskApplicationsDescriptionNone": { + "message": "Zəif, ifşa olunmuş və ya təkrar istifadə edilmiş parollara sahib tətbiq yoxdur." + }, "atRiskMembersDescriptionWithApp": { "message": "Bu üzvlər, $APPNAME$ tətbiqinə zəif, ifşa olunmuş və ya təkrar istifadə olunan parollarla giriş edir.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "$APPNAME$ üçün risk altında olan üzv yoxdur.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Cəmi üzv" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Şifrələmə açarını güncəllədikdən sonra, hazırda istifadə etdiyiniz (mobil tətbiq və ya brauzer uzantıları kimi) bütün Bitwarden tətbiqlərində çıxış edib yenidən giriş etməlisiniz. Çıxış edib təkrar giriş etməmək (yeni şifrələmə açarının endirilməsi prosesi) dataların zədələnməsi ilə nəticələnə bilər. Avtomatik olaraq çıxış etməyə çalışacağıq, bu gecikə bilər." }, - "updateEncryptionKeyExportWarning": { - "message": "Saxladığınız bütün şifrələmə ixracları da yararsız olacaq." + "updateEncryptionKeyAccountExportWarning": { + "message": "Məhdudiyyətli hesablara aid saxladığınız xaricə köçürmələr yararsız olacaq." }, "subscription": { "message": "Abunəlik" @@ -9414,19 +9429,19 @@ "message": "Fakturanı \"Provayder Portalı\"ndan idarə et" }, "continueSettingUp": { - "message": "Continue setting up Bitwarden" + "message": "Bitwarden-i qurmağa davam edin" }, "continueSettingUpFreeTrial": { "message": "Ödənişsiz Bitwarden sınağınızı qurmağa davam edin" }, "continueSettingUpPasswordManager": { - "message": "Continue setting up Bitwarden Password Manager" + "message": "\"Bitwarden Parol Meneceri\"ni qurmağa davam edin" }, "continueSettingUpFreeTrialPasswordManager": { "message": "Ödənişsiz Bitwarden Parol Meneceri sınağınızı qurmağa davam edin" }, "continueSettingUpSecretsManager": { - "message": "Continue setting up Bitwarden Secrets Manager" + "message": "\"Bitwarden Sirr Meneceri\"ni qurmağa davam edin" }, "continueSettingUpFreeTrialSecretsManager": { "message": "Ödənişsiz Bitwarden Sirr Meneceri sınağınızı qurmağa davam edin" @@ -10545,17 +10560,17 @@ "message": "Avto-doldurma ilə vaxta qənaət edin" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "Bir veb sayt", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "daxil edin ki,", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "so this login appears as an autofill suggestion.", + "message": "bu giriş məlumatları avto-doldurma təklifi kimi görünsün.", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -10581,12 +10596,12 @@ "message": "Gəlişdirici dostu SSH müraciəti" }, "newSshNudgeBodyOne": { - "message": "Store your keys and connect with the SSH agent for fast, encrypted authentication.", + "message": "Açarlarınızı saxlayın və sürətli, şifrələnmiş kimlik doğrulama üçün SSH agentinə bağlayın.", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "newSshNudgeBodyTwo": { - "message": "Learn more about SSH agent", + "message": "SSH agenti barədə daha ətraflı", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Bank hesabı ilə ödəniş, yalnız Amerika Birləşmiş Ştatlarındakı müştərilər üçün əlçatandır. Bank hesabınızı doğrulamağınız tələb olunacaq. Növbəti 1-2 iş günü ərzində mikro depozit qoyacağıq. Bank hesabını doğrulamaq üçün bu depozitdəki çıxarış deskriptor kodunu təşkilatın abunəlik səhifəsində daxil edin. Bank hesabı doğrulanmadıqda ödəniş buraxılacaq və abunəliyiniz dayandırılacaq." + }, + "clickPayWithPayPal": { + "message": "Ödəniş üsulunuzu əlavə etmək üçün lütfən Paypal ilə ödəniş et düyməsinə klikləyin." } } diff --git a/apps/web/src/locales/be/messages.json b/apps/web/src/locales/be/messages.json index 5591fb571d2..789f292aeaf 100644 --- a/apps/web/src/locales/be/messages.json +++ b/apps/web/src/locales/be/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Пазначыць праграму як крытычную" }, - "appsMarkedAsCritical": { - "message": "Праграмы пазначаныя як крытычныя" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Праграма" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Гэтыя ўдзельнікі ўваходзяць у праграму з ненадзейнымі, скампраметаванымі або паўторна выкарыстанымі паролямі." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Гэтыя праграмы маюць ненадзейныя, скампраметаваныя або паўторна выкарыстаныя паролі." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Гэтыя ўдзельнікі ўваходзяць у праграму $APPNAME$ з ненадзейнымі, скампраметаванымі або паўторна выкарыстанымі паролямі.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Усяго ўдзельнікаў" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Пасля абнаўлення вашага ключа шыфравання вам неабходна выйсці з сістэмы, а потым выканаць паўторны ўваход ва ўсе праграмы Bitwarden, якія вы зараз выкарыстоўваеце (напрыклад, мабільныя праграмы або пашырэнні для браўзераў). Збой пры выхадзе і паўторным уваходзе (пры гэтым спампоўваецца ваш новы ключ шыфравання) можа стаць прычынай пашкоджання даных. Мы паспрабуем аўтаматычна ажыццявіць завяршэнне ўсіх вашых сеансаў, але гэта можа адбывацца з затрымкай." }, - "updateEncryptionKeyExportWarning": { - "message": "Любыя зашыфраваныя экспартаванні, якія вы захавалі, таксама стануць памылковымі." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Падпіска" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/bg/messages.json b/apps/web/src/locales/bg/messages.json index 968adf2ac72..b26d6a21578 100644 --- a/apps/web/src/locales/bg/messages.json +++ b/apps/web/src/locales/bg/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Отбелязване на приложението като важно" }, - "appsMarkedAsCritical": { - "message": "Приложения, отбелязани като важни" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Приложение" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Тези членове се вписват в приложенията със слаби, преизползвани или разобличени пароли." }, + "atRiskMembersDescriptionNone": { + "message": "Няма членове, които се вписват в приложенията със слаби, преизползвани или разобличени пароли." + }, "atRiskApplicationsDescription": { "message": "Тези приложения имат слаби, преизползвани или разобличени пароли." }, + "atRiskApplicationsDescriptionNone": { + "message": "Няма приложения със слаби, преизползвани или разобличени пароли." + }, "atRiskMembersDescriptionWithApp": { "message": "Тези членове се вписват в $APPNAME$ със слаби, преизползвани или разобличени пароли.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Няма членове в риск за $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Общо членове" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "След смяната на ключа за шифриране ще трябва да се отпишете и след това да се впишете в регистрацията си във всички приложения на Битуорден, които ползвате (като мобилното приложение и разширенията за браузъри). Ако не се отпишете и впишете повторно (за да получите достъп до новия ключ), рискувате да повредите записите си. Сега ще се пробва да бъдете отписани автоматично, това обаче може да се забави." }, - "updateEncryptionKeyExportWarning": { - "message": "Всички шифрирани вече изнесени данни ще станат безполезни." + "updateEncryptionKeyAccountExportWarning": { + "message": "Всички изнасяния ограничени от акаунта, които сте запазили, ще станат невалидни." }, "subscription": { "message": "Абонамент" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Плащането чрез банкова сметка е налично само за клиенти от САЩ. Ще трябва да потвърдите банковата си сметка. В следващите 1-2 работни дни ще направим малък депозит. Въведете кода от описанието на трансакцията в страницата за абонаменти на доставчика, за да потвърдите банковата сметка. Ако не потвърдите банковата сметка, може да пропуснете плащането и абонаментът Ви да бъде спрян." + }, + "clickPayWithPayPal": { + "message": "Моля, натиснете бутона за плащане с PayPal, за да добавите платежния си метод." } } diff --git a/apps/web/src/locales/bn/messages.json b/apps/web/src/locales/bn/messages.json index 2d2e7d580d2..bb71e44f09d 100644 --- a/apps/web/src/locales/bn/messages.json +++ b/apps/web/src/locales/bn/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/bs/messages.json b/apps/web/src/locales/bs/messages.json index e1a180724fb..a05e84245e8 100644 --- a/apps/web/src/locales/bs/messages.json +++ b/apps/web/src/locales/bs/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ca/messages.json b/apps/web/src/locales/ca/messages.json index 41d6841f117..f24353d69b3 100644 --- a/apps/web/src/locales/ca/messages.json +++ b/apps/web/src/locales/ca/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Aplicació" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Nombre total de membres" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Després d'actualitzar la vostra clau de xifratge, heu de tancar la sessió i tornar a entrar a totes les aplicacions de Bitwarden que esteu utilitzant actualment (com ara l'aplicació mòbil o les extensions del navegador). Si no es tanca i torna a iniciar la sessió (la qual descarrega la vostra nova clau de xifratge) pot provocar corrupció en les dades. Intentarem registrar-vos automàticament, però, es pot retardar." }, - "updateEncryptionKeyExportWarning": { - "message": "Totes les exportacions xifrades que hàgeu desat també seran no vàlides." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscripció" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/cs/messages.json b/apps/web/src/locales/cs/messages.json index f0173e369af..4ba5a9c3fea 100644 --- a/apps/web/src/locales/cs/messages.json +++ b/apps/web/src/locales/cs/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Označit aplikaci jako kritickou" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Aplikace označené jako kritické" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Tito členové se přihlašují do aplikací se slabými, odhalenými nebo znovu použitými hesly." }, + "atRiskMembersDescriptionNone": { + "message": "Žádní členové se nepřihlašují do aplikací se slabými, odhalenými nebo znovu použitými hesly." + }, "atRiskApplicationsDescription": { "message": "Tyto aplikace mají slabá, odhalená nebo opakovaně používaná hesla." }, + "atRiskApplicationsDescriptionNone": { + "message": "Žádné aplikace, které mají slabá, odhalená nebo opakovaně používaná hesla." + }, "atRiskMembersDescriptionWithApp": { "message": "Tito členové se přihlašují do $APPNAME$ se slabými, odhalenými nebo znovu použitými hesly.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Žádní ohrožení členové pro $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Celkem členů" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Po aktualizace šifrovacího klíče dojde k odhlášení a budete se muset opětovně přihlásit do všech aplikací Bitwardenu, které aktuálně používáte (např. mobilní aplikace či rozšíření pro prohlížeč). Nezdaří-li se odhlášení a opětovné přihlášení (během něhož bude stažen nový šifrovací klíč), může dojít k poškození dat. Pokusíme se Vás automaticky odhlásit, nicméně, může to chvíli trvat." }, - "updateEncryptionKeyExportWarning": { - "message": "Jakékoli šifrované exporty, které jste uložili, budou také neplatné." + "updateEncryptionKeyAccountExportWarning": { + "message": "Všechny uložené exporty s omezením účtu se stanou neplatnými." }, "subscription": { "message": "Předplatné" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Platba bankovním účtem je dostupná jen pro zákazníky ve Spojených státech. Budete požádáni o ověření svého bankovního účtu. Mikrovklad provedeme během následujících 1-2 pracovních dnů. Pro ověření bankovního účtu zadejte kód popisu výpisu z této zálohy na stránce předplatného poskytovatele. Pokud bankovní účet neověříte, bude to mít za následek zmeškání platby a pozastavení předplatného." + }, + "clickPayWithPayPal": { + "message": "Pro přidání způsobu platby klepněte na tlačítko \"Pay with PayPal\"." } } diff --git a/apps/web/src/locales/cy/messages.json b/apps/web/src/locales/cy/messages.json index fc21c28d333..f91dc727a84 100644 --- a/apps/web/src/locales/cy/messages.json +++ b/apps/web/src/locales/cy/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/da/messages.json b/apps/web/src/locales/da/messages.json index 8c2d2837572..f40daec488f 100644 --- a/apps/web/src/locales/da/messages.json +++ b/apps/web/src/locales/da/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Markér app som kritisk" }, - "appsMarkedAsCritical": { - "message": "Apps markeret som kritiske" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Applikation" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Disse medlemmer logger ind på programmer med svage, udsatte eller genbrugte adgangskoder." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Disse applikationer har svage, udsatte eller genbrugte adgangskoder." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Disse medlemmer logger ind på $APPNAME$ med svage, udsatte eller genbrugte adgangskoder.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Medlemmer i alt" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Efter opdatering af din krypteringsnøgle skal du logge ud og ind igen i alle Bitwarden-programmer, du bruger i øjeblikket (f.eks. mobilapp eller browserudvidelser). Hvis du ikke logger ud og ind (som downloader din nye krypteringsnøgle), kan det resultere i data korruption. Vi vil forsøge at logge dig ud automatisk, men det kan blive forsinket." }, - "updateEncryptionKeyExportWarning": { - "message": "Enhver krypteret eksport du har gemt, vil også blive utilgængelig." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Abonnement" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/de/messages.json b/apps/web/src/locales/de/messages.json index 0c3d29f602b..f39bb85a082 100644 --- a/apps/web/src/locales/de/messages.json +++ b/apps/web/src/locales/de/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Anwendung als kritisch markieren" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Als kritisch markierte Anwendungen" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Diese Mitglieder melden sich bei Anwendungen mit schwachen, kompromittierten oder wiederverwendeten Passwörtern an." }, + "atRiskMembersDescriptionNone": { + "message": "Dies sind keine Mitglieder, die sich in Anwendungen mit schwachen, kompromittierten oder wiederverwendeten Passwörtern anmelden." + }, "atRiskApplicationsDescription": { "message": "Diese Anwendungen haben schwache, kompromittierte oder wiederverwendete Passwörter." }, + "atRiskApplicationsDescriptionNone": { + "message": "Dies sind keine Anwendungen mit schwachen, kompromittierten oder wiederverwendeten Passwörtern." + }, "atRiskMembersDescriptionWithApp": { "message": "Diese Mitglieder melden sich bei $APPNAME$ mit schwachen, kompromittierten oder wiederverwendeten Passwörtern an.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Es gibt keine gefährdeten Mitglieder für $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Mitglieder insgesamt" }, @@ -519,7 +534,7 @@ "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Standard Übereinstimmungserkennung", + "message": "Standard-Übereinstimmungserkennung", "description": "Default URI match detection for auto-fill." }, "never": { @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Nach der Aktualisierung Ihres Verschlüsselungsschlüssels musst du dich bei allen Bitwarden-Anwendungen, die du momentan benutzt, erneut anmelden (wie z.B. die mobile App oder die Browser-Erweiterungen). Fehler bei Ab- und Anmeldung (die deinen neuen Verschlüsselungsschlüssel herunterlädt) könnte zu einer Beschädigung der Daten führen. Wir werden versuchen dich automatisch abzumelden, was jedoch verzögert geschehen kann." }, - "updateEncryptionKeyExportWarning": { - "message": "Alle verschlüsselten Exporte, die du gespeichert hast, werden ebenfalls ungültig." + "updateEncryptionKeyAccountExportWarning": { + "message": "Alle von dir gespeicherten Exporte mit Konto-Beschränkungen werden ungültig." }, "subscription": { "message": "Abo" @@ -9414,19 +9429,19 @@ "message": "Rechnungen über das Anbieter-Portal verwalten" }, "continueSettingUp": { - "message": "Setze die Einrichtung von Bitwarden fort" + "message": "Die Einrichtung von Bitwarden fortsetzen" }, "continueSettingUpFreeTrial": { "message": "Setze die Einrichtung deiner kostenlosen Testversion von Bitwarden fort" }, "continueSettingUpPasswordManager": { - "message": "Setze die Einrichtung des Bitwarden Passwort Managers fort" + "message": "Die Einrichtung des Bitwarden Passwort-Managers fortsetzen" }, "continueSettingUpFreeTrialPasswordManager": { "message": "Setze die Einrichtung deiner kostenlosen Testversion des Bitwarden Passwort Managers fort" }, "continueSettingUpSecretsManager": { - "message": "Setze die Einrichtung des Bitwarden Secrets Managers fort" + "message": "Die Einrichtung des Bitwarden Secrets-Managers fortsetzen" }, "continueSettingUpFreeTrialSecretsManager": { "message": "Setze die Einrichtung deiner kostenlosen Testversion des Bitwarden Secrets Managers fort" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Die Zahlung mit einem Bankkonto ist nur für Kunden in den Vereinigten Staaten möglich. Du musst dein Bankkonto verifizieren. Wir werden innerhalb der nächsten 1-2 Werktage eine Mikro-Einzahlung vornehmen. Gib den Code aus der Beschreibung dieser Einzahlung auf der Abonnementseite des Anbieters ein, um das Bankkonto zu verifizieren. Schlägt die Verifizierung des Bankkontos fehl, wird dies als versäumte Zahlung gewertet und dein Abonnement gesperrt." + }, + "clickPayWithPayPal": { + "message": "Bitte klicke auf den Mit PayPal bezahlen Button, um deine Zahlungsmethode hinzuzufügen." } } diff --git a/apps/web/src/locales/el/messages.json b/apps/web/src/locales/el/messages.json index 5c4bd9603cb..24de28d39be 100644 --- a/apps/web/src/locales/el/messages.json +++ b/apps/web/src/locales/el/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Εφαρμογή" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Σύνολο μελών" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Μετά την ενημέρωση του κλειδιού κρυπτογράφησης, πρέπει να αποσυνδεθείτε και να επιστρέψετε σε όλες τις εφαρμογές Bitwarden που χρησιμοποιείτε αυτήν τη στιγμή (όπως η εφαρμογή για κινητά ή οι επεκτάσεις του προγράμματος περιήγησης). Η αποτυχία αποσύνδεσης και επαναφοράς (στην οποία γίνεται λήψη του νέου κλειδιού κρυπτογράφησης) ενδέχεται να προκαλέσει καταστροφή δεδομένων. Θα προσπαθήσουμε να αποσυνδεθείτε αυτόματα, ωστόσο αυτό μπορεί να καθυστερήσει." }, - "updateEncryptionKeyExportWarning": { - "message": "Οποιεσδήποτε κρυπτογραφημένες εξαγωγές που έχετε αποθηκεύσει θα είναι επίσης άκυρες." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Συνδρομή" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index cf2174cc1db..38019b96dd7 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -4549,8 +4549,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10611,5 +10611,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/en_GB/messages.json b/apps/web/src/locales/en_GB/messages.json index d3ba58adc9c..d6a1b01f1d5 100644 --- a/apps/web/src/locales/en_GB/messages.json +++ b/apps/web/src/locales/en_GB/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, although this may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/en_IN/messages.json b/apps/web/src/locales/en_IN/messages.json index f94da24ae4b..a0e9f4de149 100644 --- a/apps/web/src/locales/en_IN/messages.json +++ b/apps/web/src/locales/en_IN/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, although this may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/eo/messages.json b/apps/web/src/locales/eo/messages.json index 8cb350ca8d7..5b5e1f21582 100644 --- a/apps/web/src/locales/eo/messages.json +++ b/apps/web/src/locales/eo/messages.json @@ -33,7 +33,7 @@ } }, "notifiedMembers": { - "message": "Notified members" + "message": "Sciigitaj membroj" }, "revokeMembers": { "message": "Revoke members" @@ -54,7 +54,7 @@ } }, "createNewLoginItem": { - "message": "Create new login item" + "message": "Krei novan salutan eron" }, "criticalApplicationsWithCount": { "message": "Critical applications ($COUNT$)", @@ -66,7 +66,7 @@ } }, "notifiedMembersWithCount": { - "message": "Notified members ($COUNT$)", + "message": "Sciigitaj membroj ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -93,16 +93,16 @@ "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, "markCriticalApps": { - "message": "Mark critical apps" + "message": "Marki kritikajn apojn" }, "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { - "message": "Application" + "message": "Aplikaĵo" }, "atRiskPasswords": { "message": "At-risk passwords" @@ -114,7 +114,7 @@ "message": "Total passwords" }, "searchApps": { - "message": "Search applications" + "message": "Serĉi aplikaĵojn" }, "atRiskMembers": { "message": "At-risk members" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -205,10 +220,10 @@ "message": "Notoj" }, "privateNote": { - "message": "Private note" + "message": "Privata noto" }, "note": { - "message": "Note" + "message": "Noto" }, "customFields": { "message": "Tekstujoj Uzantfaritaj" @@ -226,10 +241,10 @@ "message": "Identification" }, "contactInfo": { - "message": "Contact info" + "message": "Kontakta informo" }, "cardDetails": { - "message": "Card details" + "message": "Detaloj de la karto" }, "cardBrandDetails": { "message": "$BRAND$ details", @@ -250,10 +265,10 @@ "message": "Autofill options" }, "websiteUri": { - "message": "Website (URI)" + "message": "Retejo (URI)" }, "websiteUriCount": { - "message": "Website (URI) $COUNT$", + "message": "Retejo (URI) $COUNT$", "description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.", "placeholders": { "count": { @@ -263,16 +278,16 @@ } }, "websiteAdded": { - "message": "Website added" + "message": "Retejo aldoniĝis" }, "addWebsite": { - "message": "Add website" + "message": "Aldoni retejon" }, "deleteWebsite": { - "message": "Delete website" + "message": "Forigi la retejon" }, "defaultLabel": { - "message": "Default ($VALUE$)", + "message": "Implicita ($VALUE$)", "description": "A label that indicates the default value for a field with the current default value in parentheses.", "placeholders": { "value": { @@ -282,7 +297,7 @@ } }, "showMatchDetection": { - "message": "Show match detection $WEBSITE$", + "message": "Montri la eltrovon en akordo al $WEBSITE$", "placeholders": { "website": { "content": "$1", @@ -342,7 +357,7 @@ "message": "Januaro" }, "february": { - "message": "februaro" + "message": "Februaro" }, "march": { "message": "Marto" @@ -432,7 +447,7 @@ "message": "Kaŝita" }, "cfTypeBoolean": { - "message": "Bulea" + "message": "Duvalora" }, "cfTypeCheckbox": { "message": "Checkbox" @@ -442,10 +457,10 @@ "description": "This describes a field that is 'linked' (related) to another field." }, "fieldType": { - "message": "Field type" + "message": "Kampa tipo" }, "fieldLabel": { - "message": "Field label" + "message": "Kampa labelo" }, "remove": { "message": "Forigi" @@ -465,10 +480,10 @@ "message": "Aldoni dosierujon" }, "editFolder": { - "message": "Redakti dosierujon" + "message": "Redakti la dosierujon" }, "editWithName": { - "message": "Edit $ITEM$: $NAME$", + "message": "Redakti $ITEM$: $NAME$", "placeholders": { "item": { "content": "$1", @@ -481,7 +496,7 @@ } }, "newFolder": { - "message": "New folder" + "message": "Nova desierujo" }, "folderName": { "message": "Folder name" @@ -490,7 +505,7 @@ "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" }, "deleteFolderPermanently": { - "message": "Are you sure you want to permanently delete this folder?" + "message": "Ĉu vi certas, ke vi volas poreterne forigi tiun dosierujon?" }, "baseDomain": { "message": "Baza domajno", @@ -515,11 +530,11 @@ "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Eltrovado de kongruo", + "message": "Eltrovo en akordo", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Implicita eltrovado de kongruo", + "message": "Implicita eltrovo en akordo", "description": "Default URI match detection for auto-fill." }, "never": { @@ -536,7 +551,7 @@ "message": "Generi pasvorton" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Generi pasfrazon" }, "checkPassword": { "message": "Kontrolu ĉu pasvorto estis elmontrita." @@ -569,7 +584,7 @@ "message": "Forviŝi" }, "favorite": { - "message": "Preferaĵo" + "message": "Favorato" }, "unfavorite": { "message": "Forigi de preferaĵo" @@ -578,50 +593,50 @@ "message": "Redakti" }, "searchCollection": { - "message": "Serĉi Kolekton" + "message": "Traserĉi la kolekton" }, "searchFolder": { - "message": "Serĉi dosierujon" + "message": "Traserĉi la dosierujon" }, "searchFavorites": { - "message": "Serĉi Favoratojn" + "message": "Serĉi favoratojn" }, "searchLogin": { - "message": "Search logins", + "message": "Serĉi salutilojn", "description": "Search Login type" }, "searchCard": { - "message": "Search cards", + "message": "Serĉi kartojn", "description": "Search Card type" }, "searchIdentity": { - "message": "Search identities", + "message": "Serĉi identecojn", "description": "Search Identity type" }, "searchSecureNote": { - "message": "Search secure notes", + "message": "Serĉi sekurajn notojn", "description": "Search Secure Note type" }, "searchVault": { - "message": "Traserĉu Trezorejon" + "message": "Traserĉi la trezorejon" }, "searchMyVault": { - "message": "Search my vault" + "message": "Traserĉi mian trezorejon" }, "searchOrganization": { - "message": "Search organization" + "message": "Serĉi organizon" }, "searchMembers": { - "message": "Search members" + "message": "Serĉi membrojn" }, "searchGroups": { - "message": "Search groups" + "message": "Serĉi grupojn" }, "allItems": { - "message": "Ĉiuj Eroj" + "message": "Ĉiuj eroj" }, "favorites": { - "message": "Ŝatataj" + "message": "Favoratoj" }, "types": { "message": "Tipoj" @@ -669,7 +684,7 @@ "message": "Lasta nomo" }, "fullName": { - "message": "Plena Nomo" + "message": "Tuta nomo" }, "address": { "message": "Adreso" @@ -684,7 +699,7 @@ "message": "Adreso 3" }, "cityTown": { - "message": "Urbo / Urbo" + "message": "Urbo / Urbeto" }, "stateProvince": { "message": "Ŝtato / Provinco" @@ -696,7 +711,7 @@ "message": "Lando" }, "shared": { - "message": "Kunhavigita" + "message": "Kundividita" }, "attachments": { "message": "Aldonaĵoj" @@ -705,19 +720,19 @@ "message": "Elektu" }, "newItem": { - "message": "New item" + "message": "Nova ero" }, "addItem": { "message": "Aldoni Artikolon" }, "editItem": { - "message": "Redakti Artikolon" + "message": "Redakti la eron" }, "viewItem": { - "message": "Vidigi Artikolon" + "message": "Vidi la eron" }, "newItemHeader": { - "message": "New $TYPE$", + "message": "Nova $TYPE$", "placeholders": { "type": { "content": "$1", @@ -726,7 +741,7 @@ } }, "editItemHeader": { - "message": "Edit $TYPE$", + "message": "Redakti $TYPE$", "placeholders": { "type": { "content": "$1", @@ -735,7 +750,7 @@ } }, "viewItemType": { - "message": "View $ITEMTYPE$", + "message": "Vidi $ITEMTYPE$", "placeholders": { "itemtype": { "content": "$1", @@ -748,13 +763,13 @@ "description": "for adding new items" }, "item": { - "message": "Item" + "message": "Ero" }, "itemDetails": { - "message": "Item details" + "message": "Detaloj de la ero" }, "itemName": { - "message": "Item name" + "message": "Nomo de la ero" }, "ex": { "message": "ekz.", @@ -764,13 +779,13 @@ "message": "Aliaj" }, "share": { - "message": "Kunhavigi" + "message": "Kundividi" }, "moveToOrganization": { - "message": "Movu al Organizo" + "message": "Movi al organizo" }, "valueCopied": { - "message": "$VALUE$ kopiita", + "message": "$VALUE$ kopiiĝis", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -780,41 +795,41 @@ } }, "copySuccessful": { - "message": "Copy Successful" + "message": "Kopiado sukcesiĝis" }, "copyValue": { - "message": "Kopii valoron", + "message": "Kopii la valoron", "description": "Copy value to clipboard" }, "copyPassword": { - "message": "Kopii pasvorton", + "message": "Kopii la pasvorton", "description": "Copy password to clipboard" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "Kopii la pasfrazon", "description": "Copy passphrase to clipboard" }, "passwordCopied": { - "message": "Password copied" + "message": "La pasvorto kopiiĝis" }, "copyUsername": { - "message": "Kopii uzantnomon", + "message": "Kopii la uzantnomon", "description": "Copy username to clipboard" }, "copyNumber": { - "message": "Kopii Numeron", + "message": "Kopii la numeron", "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Kopiu Sekureckodon", + "message": "Kopii sekurigan kodon", "description": "Copy credit card security code (CVV)" }, "copyUri": { - "message": "Kopii URI", + "message": "Kopii URI-n", "description": "Copy URI to clipboard" }, "copyCustomField": { - "message": "Copy $FIELD$", + "message": "Kopii la $FIELD$", "placeholders": { "field": { "content": "$1", @@ -823,34 +838,34 @@ } }, "copyWebsite": { - "message": "Copy website" + "message": "Kopii la retejon" }, "copyNotes": { - "message": "Copy notes" + "message": "Kopii la notojn" }, "copyAddress": { - "message": "Copy address" + "message": "Kopii la adreson" }, "copyPhone": { - "message": "Copy phone" + "message": "Kopii la frazon" }, "copyEmail": { - "message": "Copy email" + "message": "Kopii la retpoŝton" }, "copyCompany": { - "message": "Copy company" + "message": "Kopii la kompanion" }, "copySSN": { - "message": "Copy Social Security number" + "message": "Kopii la numeron de Socia Sekureco" }, "copyPassportNumber": { - "message": "Copy passport number" + "message": "Kopii la numeron de pasporto" }, "copyLicenseNumber": { - "message": "Copy license number" + "message": "Kopii la numeron de permesilo" }, "copyName": { - "message": "Copy name" + "message": "Kopii la nomon" }, "me": { "message": "Mi" @@ -859,7 +874,7 @@ "message": "Mia Trezorejo" }, "allVaults": { - "message": "Ĉiuj Trezorejoj" + "message": "Ĉiuj trezorejoj" }, "vault": { "message": "Trezorejo" @@ -871,13 +886,13 @@ "message": "Trezorejaj Eroj" }, "filter": { - "message": "Filter" + "message": "Filtri" }, "deleteSelected": { "message": "Forigi Elektitajn" }, "moveSelected": { - "message": "Movu Elektitaĵojn" + "message": "Movi la elektaĵojn" }, "selectAll": { "message": "Elekti ĉiujn" @@ -889,7 +904,7 @@ "message": "Lanĉo" }, "newAttachment": { - "message": "Aldoni Novan Aldonaĵon" + "message": "Aldoni novan aldonaĵon" }, "deletedAttachment": { "message": "Forigita aldonaĵo" @@ -898,7 +913,7 @@ "message": "Ĉu vi certe volas forigi ĉi tiun aldonaĵon?" }, "attachmentSaved": { - "message": "La aldonaĵo estas konservita." + "message": "La aldonaĵo konserviĝis" }, "file": { "message": "Dosiero" @@ -910,13 +925,13 @@ "message": "Maksimuma dosiergrandeco estas 500 MB." }, "addedItem": { - "message": "Aldonita ero" + "message": "Ero aldoniĝis" }, "editedItem": { - "message": "Redaktita ero" + "message": "Ero redaktiĝis" }, "movedItemToOrg": { - "message": "$ITEMNAME$ moved to $ORGNAME$", + "message": "$ITEMNAME$ moviĝis al $ORGNAME$", "placeholders": { "itemname": { "content": "$1", @@ -929,7 +944,7 @@ } }, "itemsMovedToOrg": { - "message": "Items moved to $ORGNAME$", + "message": "Eroj moviĝis al $ORGNAME$", "placeholders": { "orgname": { "content": "$1", @@ -938,7 +953,7 @@ } }, "itemMovedToOrg": { - "message": "Item moved to $ORGNAME$", + "message": "Ero moviĝis al $ORGNAME$", "placeholders": { "orgname": { "content": "$1", @@ -947,22 +962,22 @@ } }, "deleteItem": { - "message": "Forigi Artikolon" + "message": "Forigi la eron" }, "deleteFolder": { - "message": "Forigi dosierujon" + "message": "Forigi la dosierujon" }, "deleteAttachment": { - "message": "Forigi Aldonaĵon" + "message": "Forigi la aldonaĵon" }, "deleteItemConfirmation": { "message": "Ĉu vi vere volas sendi al la rubujo?" }, "deletedItem": { - "message": "Artikolo sendita al rubujo" + "message": "La ero sendiĝis al la rubujo" }, "deletedItems": { - "message": "Eroj senditaj al rubujo" + "message": "La eroj sendiĝis al la rubujo" }, "movedItems": { "message": "Movitaj eroj" @@ -971,10 +986,10 @@ "message": "Ĉu vi certe volas anstataŭigi la nunan pasvorton?" }, "editedFolder": { - "message": "Redaktita dosierujo" + "message": "`Dosierujo konserviĝis" }, "addedFolder": { - "message": "Aldonita dosierujo" + "message": "Dosierujo aldoniĝis" }, "deleteFolderConfirmation": { "message": "Ĉu vi certe volas forigi ĉi tiun dosierujon?" @@ -983,37 +998,37 @@ "message": "Forigita dosierujo" }, "editInfo": { - "message": "Edit info" + "message": "Redakti informon" }, "access": { - "message": "Access" + "message": "Aliro" }, "accessLevel": { - "message": "Access level" + "message": "Alira nivelo" }, "accessing": { - "message": "Accessing" + "message": "En alirado" }, "loggedOut": { - "message": "Adiaŭita" + "message": "Adiaŭinta" }, "loggedOutDesc": { - "message": "You have been logged out of your account." + "message": "Vi estas adiaŭita el via konto." }, "loginExpired": { - "message": "Via seanco eksvalidiĝis." + "message": "Via salutajo eksvalidiĝis." }, "restartRegistration": { - "message": "Restart registration" + "message": "Relanĉi registradon" }, "expiredLink": { "message": "Expired link" }, "pleaseRestartRegistrationOrTryLoggingIn": { - "message": "Please restart registration or try logging in." + "message": "Bonvole relanĉu registradon aŭ provu saluti" }, "youMayAlreadyHaveAnAccount": { - "message": "You may already have an account" + "message": "Mi eble jam havas konton." }, "logOutConfirmation": { "message": "Ĉu vi certas ke vi volas adiaŭi?" @@ -1031,67 +1046,67 @@ "message": "Ne" }, "location": { - "message": "Location" + "message": "Loko" }, "loginOrCreateNewAccount": { - "message": "Ensalutu aŭ kreu novan konton por aliri vian sekuran trezorejon." + "message": "Saluti aŭ krei novan konton por aliri vian sekuran trezorejon" }, "loginWithDevice": { - "message": "Saluti kun la aparato" + "message": "Saluti per aparato" }, "loginWithDeviceEnabledNote": { "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?" }, "needAnotherOptionV1": { - "message": "Need another option?" + "message": "Bezonas alian elekteblon?" }, "loginWithMasterPassword": { - "message": "Saluti kun la ĉefpasvorto" + "message": "Saluti per la ĉefa pasvorto" }, "readingPasskeyLoading": { - "message": "Reading passkey..." + "message": "En legado de pasŝlosilo..." }, "readingPasskeyLoadingInfo": { "message": "Keep this window open and follow prompts from your browser." }, "useADifferentLogInMethod": { - "message": "Use a different log in method" + "message": "Uzi diferentan motodon salutan" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Saluti per pasŝlosilo" }, "useSingleSignOn": { "message": "Use single sign-on" }, "welcomeBack": { - "message": "Welcome back" + "message": "Bonrevenon" }, "invalidPasskeyPleaseTryAgain": { - "message": "Invalid Passkey. Please try again." + "message": "Malvalida pasŝlosilo. Bonvolu provi denove." }, "twoFactorForPasskeysNotSupportedOnClientUpdateToLogIn": { - "message": "2FA for passkeys is not supported. Update the app to log in." + "message": "2FA por pasŝlosilo estas ne disponebla. Ĝisdatigu la apon por saluti." }, "loginWithPasskeyInfo": { - "message": "Use a generated passkey that will automatically log you in without a password. Biometrics, like facial recognition or fingerprint, or another FIDO2 security method will verify your identity." + "message": "Uzi generitan pasŝlosilon, kio ebligos al vi aŭtomatan salutadon sen pasvorto. Biometrio, kiel vizaĝa rekognado aŭ fingropremaĵo, aŭ alia sekuriga metodo de FIDO2 aŭtentigos vian identecon." }, "newPasskey": { - "message": "New passkey" + "message": "Nova pasŝlosilo" }, "learnMoreAboutPasswordless": { "message": "Learn more about passwordless" }, "creatingPasskeyLoading": { - "message": "Creating passkey..." + "message": "En kreado de pasŝlosilo..." }, "creatingPasskeyLoadingInfo": { "message": "Keep this window open and follow prompts from your browser." }, "errorCreatingPasskey": { - "message": "Error creating passkey" + "message": "Eraro krei pasŝlosilon" }, "errorCreatingPasskeyInfo": { - "message": "There was a problem creating your passkey." + "message": "Estis problemo krei vian pasŝlosilon." }, "passkeySuccessfullyCreated": { "message": "Passkey successfully created!" @@ -1112,7 +1127,7 @@ "message": "Encryption not supported" }, "enablePasskeyEncryption": { - "message": "Set up encryption" + "message": "Kunmeti ĉifradon" }, "usedForEncryption": { "message": "Used for encryption" @@ -1121,7 +1136,7 @@ "message": "Log in with passkey turned on" }, "passkeySaved": { - "message": "$NAME$ saved", + "message": "$NAME$ konserviĝis", "placeholders": { "name": { "content": "$1", @@ -1130,34 +1145,34 @@ } }, "passkeyRemoved": { - "message": "Passkey removed" + "message": "La pasŝlosilo foriĝis" }, "removePasskey": { - "message": "Remove passkey" + "message": "Forigi la pasŝlosilon" }, "removePasskeyInfo": { - "message": "If all passkeys are removed, you will be unable to log into new devices without your master password." + "message": "Se ĉiuj pasŝlosiloj estus forigitaj, estos al vi neeble saluti en novajn aparatojn sen via ĉefa pasvorto." }, "passkeyLimitReachedInfo": { "message": "Passkey limit reached. Remove a passkey to add another." }, "tryAgain": { - "message": "Try again" + "message": "Provu denove" }, "createAccount": { "message": "Krei konton" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Nova al Bitwarden?" }, "setAStrongPassword": { - "message": "Set a strong password" + "message": "Ŝargu fortan pasvorton" }, "finishCreatingYourAccountBySettingAPassword": { - "message": "Finish creating your account by setting a password" + "message": "Finu krei vian konton ŝarginte pasvorton" }, "newAroundHere": { - "message": "New around here?" + "message": "Nova ĉirkaŭ ĉi tie?" }, "startTrial": { "message": "Komencu Provperiodon" @@ -1169,13 +1184,13 @@ "message": "Ensaluti en Bitwarden" }, "enterTheCodeSentToYourEmail": { - "message": "Enter the code sent to your email" + "message": "Enmetu la kodon senditan al via retpoŝto" }, "enterTheCodeFromYourAuthenticatorApp": { - "message": "Enter the code from your authenticator app" + "message": "Enmetu la kodon el via aŭtentiga apo" }, "pressYourYubiKeyToAuthenticate": { - "message": "Press your YubiKey to authenticate" + "message": "Premu vian YubiKey por aŭtentigi" }, "authenticationTimeout": { "message": "Authentication timeout" @@ -1190,19 +1205,19 @@ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "Daŭrigi salutadon" }, "whatIsADevice": { - "message": "What is a device?" + "message": "Kio estas aparato?" }, "aDeviceIs": { - "message": "A device is a unique installation of the Bitwarden app where you have logged in. Reinstalling, clearing app data, or clearing your cookies could result in a device appearing multiple times." + "message": "Aparato estas unika instalaĵo de la Bitwarden'a apo, kie vi havas salutaĵon. Reinstali, forviŝi datumon de la apo, aŭ forviŝi viajn kuketojn povus rezultigi aparaton plurfoje aperantan." }, "logInInitiated": { "message": "Log in initiated" }, "logInRequestSent": { - "message": "Request sent" + "message": "Peto sendiĝis" }, "submit": { "message": "Sendu" @@ -1217,7 +1232,7 @@ "message": "Kiel ni nomu vin?" }, "masterPass": { - "message": "Ĉefpasvorto" + "message": "Ĉefa pasvorto" }, "masterPassDesc": { "message": "La ĉefa pasvorto estas la pasvorto, kiun vi uzas por aliri vian trezorejon. Tre gravas, ke vi ne forgesu vian ĉefan pasvorton. Ne eblas retrovi la pasvorton, se vi forgesos ĝin." @@ -1235,13 +1250,13 @@ "message": "Majstra Pasvorta Konsilo (nedeviga)" }, "newMasterPassHint": { - "message": "New master password hint (optional)" + "message": "Aludo de la nova ĉefa pasvorto (elektebla)" }, "masterPassHintLabel": { - "message": "Majstra Pasvorta Konsilo" + "message": "Aludo de la ĉefa pasvorto" }, "masterPassHintText": { - "message": "If you forget your password, the password hint can be sent to your email. $CURRENT$/$MAXIMUM$ character maximum.", + "message": "Se vi forgesus vian pasvorton, la aludo de la pasvorto povus esti sendita al via retpoŝto; maksimume $CURRENT$/$MAXIMUM$ literoj.", "placeholders": { "current": { "content": "$1", @@ -1257,34 +1272,34 @@ "message": "Agordoj" }, "accountEmail": { - "message": "Account email" + "message": "Retpoŝto de la konto" }, "requestHint": { - "message": "Request hint" + "message": "Peti aludon" }, "requestPasswordHint": { "message": "Request password hint" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Enter your account email address and your password hint will be sent to you" + "message": "Enmeti la retpoŝtadreson de via konto, kaj sendiĝos la aludo de via pasvorto" }, "getMasterPasswordHint": { - "message": "Akiru ĉefan pasvortan sugeston" + "message": "Preni aludon de la ĉefa pasvorto" }, "emailRequired": { - "message": "Retpoŝta adreso estas bezonata." + "message": "Retpoŝtadreso estas bezonata." }, "invalidEmail": { "message": "Nevalida retpoŝta adreso." }, "masterPasswordRequired": { - "message": "Ĉefpasvorto estas nepra." + "message": "Ĉefa pasvorto estas bezonata." }, "confirmMasterPasswordRequired": { "message": "Reentajpado de ĉefpasvorto estas nepra." }, "masterPasswordMinlength": { - "message": "Master password must be at least $VALUE$ characters long.", + "message": "Ĉefa pasvorto devas esti apenaŭ $VALUE$ literojn longa.", "description": "The Master Password must be at least a specific number of characters long.", "placeholders": { "value": { @@ -1300,13 +1315,13 @@ "message": "Via nova konto kreiĝis! Vi nun povas ensaluti." }, "newAccountCreated2": { - "message": "Your new account has been created!" + "message": "Via nova konto estas kreita!" }, "youHaveBeenLoggedIn": { - "message": "You have been logged in!" + "message": "Vi jam salutis!" }, "trialAccountCreated": { - "message": "Account created successfully." + "message": "Konto kreiĝis sukcese." }, "masterPassSent": { "message": "Ni sendis al vi retpoŝton kun via ĉefa pasvorta sugesto." @@ -1349,13 +1364,13 @@ "message": "Nevalida majstra pasvorto" }, "invalidFilePassword": { - "message": "Invalid file password, please use the password you entered when you created the export file." + "message": "Nevalida pasvorto de la dosiero, bonvolu uzi la pasvorton, kiun vi enmetis kiam vi kreis la elportan dosieron." }, "lockNow": { - "message": "Ŝlosi Nun" + "message": "Ŝlosi nun" }, "noItemsInList": { - "message": "Ne estas listigendaj eroj." + "message": "Estas neniu ero por listi" }, "noPermissionToViewAllCollectionItems": { "message": "You do not have permission to view all items in this collection." @@ -1364,34 +1379,34 @@ "message": "You do not have permissions to this collection" }, "noCollectionsInList": { - "message": "Estas neniuj kolektoj listigeblaj." + "message": "Estas neniu kolekto por listi." }, "noGroupsInList": { - "message": "Estas neniuj grupoj listigeblaj." + "message": "Estas neniu grupo por listi." }, "noUsersInList": { - "message": "Estas neniuj uzantoj listigeblaj." + "message": "Estas neniu uzanto por listi." }, "noMembersInList": { - "message": "There are no members to list." + "message": "Estas neniu membro por listi." }, "noEventsInList": { - "message": "Ne estas eventoj listigeblaj." + "message": "Estas neniu evento por listi." }, "newOrganization": { - "message": "Nova Organizo" + "message": "Nova organizo" }, "noOrganizationsList": { - "message": "Vi ne apartenas al iuj organizoj. Organizoj permesas al vi sekure dividi erojn kun aliaj uzantoj." + "message": "Vi ne apartenas al iu ajn organizo. La organizoj permesas al vi sekure kundividi erojn kun aliaj uzantoj." }, "notificationSentDevice": { - "message": "A notification has been sent to your device." + "message": "Sciigo estas sendita al via aparato." }, "notificationSentDevicePart1": { - "message": "Unlock Bitwarden on your device or on the " + "message": "Malŝlosu Bitwarden'on en via aparato aŭ en la " }, "areYouTryingToAccessYourAccount": { - "message": "Are you trying to access your account?" + "message": "Ĉu vi provadas aliri vian konton?" }, "accessAttemptBy": { "message": "Access attempt by $EMAIL$", @@ -1403,13 +1418,13 @@ } }, "confirmAccess": { - "message": "Confirm access" + "message": "Konfirmi aliron" }, "denyAccess": { - "message": "Deny access" + "message": "Malkonfirmi aliron" }, "notificationSentDeviceAnchor": { - "message": "web app" + "message": "Reteja apo" }, "notificationSentDevicePart2": { "message": "Make sure the Fingerprint phrase matches the one below before approving." @@ -1439,20 +1454,20 @@ } }, "dontAskAgainOnThisDeviceFor30Days": { - "message": "Don't ask again on this device for 30 days" + "message": "Ne demandu doneve en tiu ĉi aparato por 30 tagoj" }, "selectAnotherMethod": { - "message": "Select another method", + "message": "Elekti alian metodon", "description": "Select another two-step login method" }, "useYourRecoveryCode": { - "message": "Use your recovery code" + "message": "Uzi vian rehavigan kodon" }, "insertU2f": { - "message": "Enmetu vian sekurecan ŝlosilon en la USB-havenon de via komputilo. Se ĝi havas butonon, tuŝu ĝin." + "message": "Enŝovu vian sekurigan ŝlosilon en la USB-konektilon de via komputilo. Se ĝi havas butonon, tuŝu ĝin." }, "loginUnavailable": { - "message": "Saluto ne disponebla" + "message": "Saluto ne disponeblas" }, "noTwoStepProviders": { "message": "Ĉi tiu konto havas du-paŝan ensaluton ebligita, tamen neniu el la agorditaj du-paŝaj provizantoj estas subtenata de ĉi tiu retumilo." @@ -1461,10 +1476,10 @@ "message": "Bonvolu uzi subtenatan tTT-legilon (kiel Chrome) kaj / aŭ aldoni pliajn provizantojn pli bone subtenatajn tra tTT-legiloj (kiel aŭtentikiga programo)." }, "twoStepOptions": { - "message": "Elektebloj de la du-ŝtupa saluto" + "message": "Elektebloj pri la duŝtupa salutado" }, "selectTwoStepLoginMethod": { - "message": "Select two-step login method" + "message": "Elekti dupaŝan salutan metodon" }, "recoveryCodeDesc": { "message": "Ĉu vi perdis aliron al ĉiuj viaj du-faktoraj provizantoj? Uzu vian reakiran kodon por malŝalti ĉiujn du-faktorajn provizantojn de via konto." @@ -1476,7 +1491,7 @@ "message": "Aŭtentiga Programo" }, "authenticatorAppDescV2": { - "message": "Enter a code generated by an authenticator app like Bitwarden Authenticator.", + "message": "Enmetu kodon generitan de aŭtentiga apo kiel Bitwarden Authenticator.", "description": "'Bitwarden Authenticator' is a product name and should not be translated." }, "yubiKeyTitleV2": { @@ -1486,7 +1501,7 @@ "message": "Uzu YubiKey por aliri vian konton. Funkcias kun YubiKey 4-serio, 5-serio kaj NEO-aparatoj." }, "duoDescV2": { - "message": "Enter a code generated by Duo Security.", + "message": "Enmetu kodon generitan de Duo Security.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { @@ -1509,13 +1524,13 @@ "message": "(Migrated from FIDO)" }, "openInNewTab": { - "message": "Open in new tab" + "message": "Malfermi en nova langeto" }, "emailTitle": { "message": "Retpoŝto" }, "emailDescV2": { - "message": "Enter a code sent to your email." + "message": "Enmetu kodon senditan al via retpoŝto." }, "continue": { "message": "Daŭrigi" @@ -1551,7 +1566,7 @@ } }, "deleteSelectedConfirmation": { - "message": "Are you sure you want to continue?" + "message": "Ĉu vi certas ke vi volas daŭrigi?" }, "moveSelectedItemsDesc": { "message": "Choose a folder that you would like to add the $COUNT$ selected item(s) to.", @@ -1569,10 +1584,10 @@ "message": "Kopii Konfirman Kodon" }, "copyUuid": { - "message": "Copy UUID" + "message": "Kopii UUID-n" }, "errorRefreshingAccessToken": { - "message": "Access Token Refresh Error" + "message": "Eraro en Refreŝigo de Alira Peto" }, "errorRefreshingAccessTokenDesc": { "message": "No refresh token or API keys found. Please try logging out and logging back in." @@ -1581,16 +1596,16 @@ "message": "Averto" }, "confirmVaultExport": { - "message": "Konfirmu Eksportadon de Trezorejo" + "message": "Konfirmu elporton de la trezorejo" }, "confirmSecretsExport": { - "message": "Confirm secrets export" + "message": "Konfirmu elporton de la sekretoj" }, "exportWarningDesc": { "message": "Ĉi tiu eksportado enhavas viajn volbajn datumojn en neĉifrita formato. Vi ne devas stoki aŭ sendi la eksportitan dosieron per nesekuraj kanaloj (kiel retpoŝto). Forigu ĝin tuj post kiam vi finuzos ĝin." }, "exportSecretsWarningDesc": { - "message": "This export contains your secrets data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." + "message": "Tiu ĉi elporto enhavas viajn sekretajn datumojn en neĉifrita formato. Vi devus ne stapli aŭ sendi la elportotan dosieron tra nesekuraj kanaloj (kiel retpoŝto). Forigu ĝin tuj kiam vi finos uzi ĝin." }, "encExportKeyWarningDesc": { "message": "Ĉi tiu eksporto ĉifras viajn datumojn per la ĉifra ŝlosilo de via konto. Se vi iam turnos la ĉifran ŝlosilon de via konto, vi devas eksporti denove, ĉar vi ne povos deĉifri ĉi tiun eksportan dosieron." @@ -1599,64 +1614,64 @@ "message": "Kontaj ĉifraj ŝlosiloj estas unikaj por ĉiu Bitwarden-uzanto-konto, do vi ne povas importi ĉifritan eksportadon en alian konton." }, "export": { - "message": "Export" + "message": "Elporti" }, "exportFrom": { - "message": "Export from" + "message": "Elporti el" }, "exportVault": { - "message": "Eksportu Trezorejon" + "message": "Elporti la trezorejon" }, "exportSecrets": { - "message": "Export secrets" + "message": "Elporti la sekretojn" }, "fileFormat": { "message": "Dosierformato" }, "fileEncryptedExportWarningDesc": { - "message": "This file export will be password protected and require the file password to decrypt." + "message": "Tiu dosieriga elporto estos pasvorte protektita kaj bezonos la pasvorton de la dosiero por deĉifri " }, "exportPasswordDescription": { - "message": "This password will be used to export and import this file" + "message": "Tiu pasvorto estos uzata por elporti kaj enporti ĉi tiun dosieron" }, "confirmMasterPassword": { "message": "Konfirmi la ĉefpasvorton" }, "confirmFormat": { - "message": "Confirm format" + "message": "Konfirmu formaton" }, "filePassword": { - "message": "File password" + "message": "Pasvorto de la dosiero" }, "confirmFilePassword": { - "message": "Confirm file password" + "message": "Konfirmu la pasvorton de la dosiero" }, "accountRestrictedOptionDescription": { - "message": "Use your account encryption key, derived from your account's username and Master Password, to encrypt the export and restrict import to only the current Bitwarden account." + "message": "Uzu vian ŝlosilon de konta ĉifrado, derivitan el la uzantnomo kaj ĉefa pasvorto de via konto, por ĉifri la elporton kaj limigi enporton nur al la nuna konto ĉe Bitwarden." }, "passwordProtectedOptionDescription": { - "message": "Set a file password to encrypt the export and import it to any Bitwarden account using the password for decryption." + "message": "Ŝargu pasvorton de la dosiero por ĉifri la elporton, kaj ĝin enportu al ajna konto ĉe Bitwarden uzante la pasvorton por deĉifrado." }, "exportTypeHeading": { - "message": "Export type" + "message": "Elporta tipo" }, "accountRestricted": { "message": "Account restricted" }, "passwordProtected": { - "message": "Password protected" + "message": "La pasvorto protektiĝis" }, "filePasswordAndConfirmFilePasswordDoNotMatch": { - "message": "“File password” and “Confirm file password“ do not match." + "message": "Ne akordas la «Pasvorto de la dosiero» kaj la «Konfirmu la pasvorton de la dosiero»." }, "confirmVaultImport": { - "message": "Confirm vault import" + "message": "Konfirmu enporton de trezorejo" }, "confirmVaultImportDesc": { - "message": "This file is password-protected. Please enter the file password to import data." + "message": "Tiu dosiero estas pasvorte protektata. Bonvolu enmeti la pasvorton de la dosiero por enporti datumon." }, "exportSuccess": { - "message": "Viaj volbaj datumoj estis eksportitaj." + "message": "Datumo de la trezorejo elportiĝis" }, "passwordGenerator": { "message": "Pasvorta Generilo" @@ -1683,10 +1698,10 @@ "message": "Longo" }, "passwordMinLength": { - "message": "Minimum password length" + "message": "Minimuma longo de pasvorto" }, "uppercase": { - "message": "Uppercase (A-Z)", + "message": "Majusklo (A-Z)", "description": "deprecated. Use uppercaseLabel instead." }, "lowercase": { @@ -1701,7 +1716,7 @@ "message": "Signoj Specialaj (!@#$%^&*)" }, "numWords": { - "message": "Nombro de Vortoj" + "message": "Nombro de vortoj" }, "wordSeparator": { "message": "Vortdisigilo" @@ -1730,26 +1745,26 @@ "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?" }, "noPasswordsInList": { - "message": "Ne estas listigitaj pasvortoj." + "message": "Estas neniu pasvorto por listi" }, "clearHistory": { "message": "Clear history" }, "nothingToShow": { - "message": "Nothing to show" + "message": "Neniu por montri" }, "nothingGeneratedRecently": { "message": "You haven't generated anything recently" }, "clear": { - "message": "Malplenigi", + "message": "Forviŝi", "description": "To clear something out. Example: To clear browser history." }, "accountUpdated": { "message": "Konto ĝisdatigita" }, "changeEmail": { - "message": "Ŝanĝi retpoŝton" + "message": "Ŝanĝi la retpoŝton" }, "changeEmailTwoFactorWarning": { "message": "Proceeding will change your account email address. It will not change the email address used for two-step login authentication. You can change this email address in the two-step login settings." @@ -1773,7 +1788,7 @@ "message": "Prilabori vian adiaŭadon de la nuna seanco, necesigos vin saluti denove. La seancoj aktivaj sur aliaj aparatoj povas resti aktivaj ankoraŭ unu horon." }, "emailChanged": { - "message": "Retpoŝto Ŝanĝis" + "message": "La retpoŝto konserviĝis" }, "logBackIn": { "message": "Bonvolu saluti refoje." @@ -1797,13 +1812,13 @@ "message": "Nuna Majstra Pasvorto" }, "newMasterPass": { - "message": "Nova Majstra Pasvorto" + "message": "Nova ĉefa pasvorto" }, "confirmNewMasterPass": { "message": "Konfirmi Novan Majstran Pasvorton" }, "encKeySettings": { - "message": "Agordoj de Ĉifroklavo" + "message": "Agordoj pri ĉifra ŝlosilo" }, "kdfAlgorithm": { "message": "KDF-Algoritmo" @@ -1849,7 +1864,7 @@ "message": "Ŝanĝaj Ŝlosilaj Agordoj Ŝanĝiĝis" }, "dangerZone": { - "message": "Danĝera Zono" + "message": "Danĝera zono" }, "deauthorizeSessions": { "message": "Senrajtigi Sesiojn" @@ -1861,7 +1876,7 @@ "message": "Se vi daŭrigos vian adiaŭadon de la nuna seanco, necesos vin saluti denove. Oni ankaŭ demandos de vi du-faktoran aŭtentigon, se tiu elekteblo estas ebligita. La seancoj aktivaj sur aliaj aparatoj povas resti daŭre aktivaj ankoraŭ unu horon." }, "newDeviceLoginProtection": { - "message": "New device login" + "message": "Saluto per nova aparato" }, "turnOffNewDeviceLoginProtection": { "message": "Turn off new device login protection" @@ -1882,7 +1897,7 @@ "message": "New device login protection changes saved" }, "sessionsDeauthorized": { - "message": "Ĉiuj Sesioj Neaŭtorizitaj" + "message": "Ĉiuj salutaĵoj malaŭtoritatiĝis" }, "accountIsOwnedMessage": { "message": "This account is owned by $ORGANIZATIONNAME$", @@ -1946,7 +1961,7 @@ "description": "This will be part of a larger sentence, that will read like this: If you don't have any data to import, you can create a new item instead. (Optional second half: You may need to wait until your administrator confirms your organization membership.)" }, "onboardingImportDataDetailsLink": { - "message": "new item", + "message": "nova ero", "description": "This will be part of a larger sentence, that will read like this: If you don't have any data to import, you can create a new item instead. (Optional second half: You may need to wait until your administrator confirms your organization membership.)" }, "onboardingImportDataDetailsLoginLink": { @@ -1983,7 +1998,7 @@ "message": "Data successfully exported" }, "importWarning": { - "message": "Vi importas datumojn al $ORGANIZATION$. Viaj datumoj povas esti dividitaj kun membroj de ĉi tiu organizo. Ĉu vi volas daŭrigi?", + "message": "Vi nun enportas datumojn al $ORGANIZATION$. Viaj datumoj povas esti kundividitaj kun membroj de ĉi tiu organizo. Ĉu vi volas procedi?", "placeholders": { "organization": { "content": "$1", @@ -2032,7 +2047,7 @@ "message": "Elektu la importan dosieron" }, "chooseFile": { - "message": "Choose File" + "message": "Elekti dosieron" }, "noFileChosen": { "message": "No file chosen" @@ -2054,10 +2069,10 @@ "message": "Elektebloj" }, "preferences": { - "message": "Preferences" + "message": "Agordoj" }, "preferencesDesc": { - "message": "Customize your web vault experience." + "message": "Personecigi vian sperton de la reteja trezorejo" }, "preferencesUpdated": { "message": "Preferences saved" @@ -2075,7 +2090,7 @@ "message": "Show a recognizable image next to each login." }, "default": { - "message": "Apriora" + "message": "Implicita" }, "domainRules": { "message": "Regaj Reguloj" @@ -2090,7 +2105,7 @@ "message": "Propraj Ekvivalentaj Domajnoj" }, "exclude": { - "message": "Ekskludi" + "message": "Ekskluzivi" }, "include": { "message": "Inkluzivi" @@ -2117,7 +2132,7 @@ "message": "Domajnoj ĝisdatigitaj" }, "twoStepLogin": { - "message": "Du-ŝtupa saluto" + "message": "Duŝtupa salutado" }, "twoStepLoginEnforcement": { "message": "Two-step Login Enforcement" @@ -2148,7 +2163,7 @@ "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." }, "viewRecoveryCode": { - "message": "Rigardi Rekuperan Kodon" + "message": "Vidi rehavigan kodon" }, "providers": { "message": "Provizantoj", @@ -2158,10 +2173,10 @@ "message": "Ebligi" }, "enabled": { - "message": "Enŝaltita" + "message": "Ŝaltita" }, "restoreAccess": { - "message": "Restarigu Aliron" + "message": "Rehavigi aliron" }, "premium": { "message": "Premium", @@ -2192,16 +2207,16 @@ "message": "View items" }, "viewItemsHidePass": { - "message": "View items, hidden passwords" + "message": "Vidi erojn, kaŝitajn pasvortojn" }, "editItems": { - "message": "Edit items" + "message": "Redakti erojn" }, "editItemsHidePass": { "message": "Edit items, hidden passwords" }, "disable": { - "message": "Neebligi" + "message": "Malŝalti" }, "revokeAccess": { "message": "Revoke access" @@ -2216,7 +2231,7 @@ "message": "Enigu vian ĉefan pasvorton por modifi du-paŝajn ensalutajn agordojn." }, "twoStepAuthenticatorInstructionPrefix": { - "message": "Download an authenticator app such as" + "message": "Elŝutu aŭtentigan apon kiel" }, "twoStepAuthenticatorInstructionInfix1": { "message": "," @@ -2255,7 +2270,7 @@ "message": "Konigilo" }, "twoStepAuthenticatorEnterCodeV2": { - "message": "Verification code" + "message": "Aŭtentiga kodo" }, "twoStepAuthenticatorReaddDesc": { "message": "Se vi bezonas aldoni ĝin al alia aparato, sube estas la QR-kodo (aŭ ŝlosilo) postulita de via aŭtentikiga programo." @@ -2264,10 +2279,10 @@ "message": "Ĉu vi certas, ke vi volas malŝalti ĉi tiun du-paŝan ensalutan provizanton?" }, "twoStepDisabled": { - "message": "Du-ŝtupa ensaluta provizanto malŝaltita." + "message": "Malŝaltiĝis provizanto de duŝtupa salutado," }, "twoFactorYubikeyAdd": { - "message": "Aldoni novan YubiKey al via konto" + "message": "Aldoni novan YubiKey-n al via konto" }, "twoFactorYubikeyPlugIn": { "message": "Enŝovu la YubiKey en la USB-havenon de via komputilo." @@ -2327,13 +2342,13 @@ "message": "Se unu el viaj YubiKeys subtenas NFC (kiel YubiKey NEO), vi estos instigita per poŝtelefonoj kiam ajn NFC-havebleco estas detektita." }, "yubikeysUpdated": { - "message": "YubiKeys ĝisdatigis" + "message": "YubiKeys ĝisdatiĝis" }, "disableAllKeys": { - "message": "Neebligi ĉiujn ŝlosilojn" + "message": "Malŝalti ĉiujn ŝlosilojn" }, "twoFactorDuoDesc": { - "message": "Enmetu la informojn pri Bitwarden-aplikaĵo de via panelo de Duo Admin." + "message": "Enmetu la informojn pri Bitwarden-aplikaĵo el la panelo de via Duo Admin." }, "twoFactorDuoClientId": { "message": "Client Id" @@ -2357,13 +2372,13 @@ "message": "Sendi retpoŝton" }, "twoFactorU2fAdd": { - "message": "Aldonu sekurecan ŝlosilon FIDO U2F al via konto" + "message": "Aldoni al via konto sekurigan ŝlosilon de FIDO U2F" }, "removeU2fConfirmation": { "message": "Ĉu vi certe volas forigi ĉi tiun sekurecan ŝlosilon?" }, "twoFactorWebAuthnAdd": { - "message": "Add a WebAuthn security key to your account" + "message": "Aldoni al via konto sekurigan ŝlosilon de WebAuthn" }, "readKey": { "message": "Legi Ŝlosilon" @@ -2372,13 +2387,13 @@ "message": "Ŝlosilo estas kompromitita." }, "twoFactorU2fGiveName": { - "message": "Donu al la sekureca ŝlosilo amikan nomon por identigi ĝin." + "message": "Donu al la sekuriga ŝlosilo amikecan nomon por ĝin identigi." }, "twoFactorU2fPlugInReadKey": { "message": "Enŝovu la sekurecan ŝlosilon en la USB-havenon de via komputilo kaj alklaku la butonon \" Legu Ŝlosilon \"." }, "twoFactorU2fTouchButton": { - "message": "Se la sekureca ŝlosilo havas butonon, tuŝu ĝin." + "message": "Se la sekuriga ŝlosilo havas butonon, tuŝu ĝin." }, "twoFactorU2fSaveForm": { "message": "Konservu la formularon." @@ -2387,7 +2402,7 @@ "message": "Pro platformaj limigoj, FIDO U2F ne povas esti uzata en ĉiuj Bitwarden-aplikaĵoj. Vi rajtigu alian du-paŝan ensalutan provizanton, por ke vi povu aliri vian konton kiam FIDO U2F ne povas esti uzata. Subtenitaj platformoj:" }, "twoFactorU2fSupportWeb": { - "message": "Reta volbo kaj retumilaj etendaĵoj sur labortablo / tekkomputilo kun U2F-ebligita retumilo (Chrome, Opera, Vivaldi aŭ Firefox kun FIDO U2F ebligita)." + "message": "Reteja trezorejo kaj retumilaj etendaĵoj sur labortablo / klapkomputilo kun U2F-disponebla retumilo (Chrome, Opera, Vivaldi aŭ Firefox kun FIDO U2F ŝaltita)." }, "twoFactorU2fWaiting": { "message": "Atendante, ke vi tuŝu la butonon de via sekureca ŝlosilo" @@ -2451,10 +2466,10 @@ "message": "Raporto 2FA neaktiva" }, "inactive2faReportDesc": { - "message": "Dufakta aŭtentokontrolo (2FA) estas grava sekureca agordo, kiu helpas sekurigi viajn kontojn. Se la retejo ofertas ĝin, vi devas ĉiam ebligi dufakturan aŭtentikigon." + "message": "La duŝtupa salutado aldonas tavolon protekti viajn kontojn. Instalu duŝtupan salutadon uzantante Bitwarden-aŭtentigilon por tiuj kontoj, aŭ uzu alternativan metodon." }, "inactive2faFound": { - "message": "Ensalutoj Sen 2FA Trovitaj" + "message": "Troviĝis salutoj sen duŝtupa salutado" }, "inactive2faFoundReportDesc": { "message": "We found $COUNT$ website(s) in your $VAULT$ that may not be configured with two-step login (according to 2fa.directory). To further protect these accounts, you should set up two-step login.", @@ -2516,7 +2531,7 @@ } }, "weakPasswordsReport": { - "message": "Raporto pri Malfortaj Pasvortoj" + "message": "Malfortaj pasvortoj" }, "weakPasswordsReportDesc": { "message": "Malfortaj pasvortoj facile diveneblas per retpiratoj kaj aŭtomataj iloj, kiuj estas uzataj por rompi pasvortojn. La Bitwarden-pasvorta generatoro povas helpi vin krei fortajn pasvortojn." @@ -2550,7 +2565,7 @@ "message": "Se servo, kiun vi uzas, estas kompromitita, reuzi la saman pasvorton aliloke povas permesi al retpiratoj facile aliri al pli da viaj retaj kontoj. Vi devas uzi unikan pasvorton por ĉiu konto aŭ servo." }, "reusedPasswordsFound": { - "message": "Reuzitaj Pasvortoj Trovitaj" + "message": "Troviĝis reuzitaj pasvortoj" }, "reusedPasswordsFoundReportDesc": { "message": "We found $COUNT$ passwords that are being reused in your $VAULT$. You should change them to a unique value.", @@ -2657,7 +2672,7 @@ "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "Aldoni Krediton", + "message": "Aldoni krediton", "description": "Add more credit to your account's balance." }, "amount": { @@ -2678,10 +2693,10 @@ "description": "Another way of saying \"Get a Premium membership\"" }, "premiumUpdated": { - "message": "Vi ĝisdatigis al premio." + "message": "Vi ĝisdatigis al Premium." }, "premiumUpgradeUnlockFeatures": { - "message": "Altgradigu vian konton al supera membreco kaj malŝlosu iujn bonegajn aldonajn funkciojn." + "message": "Altgradigu vian konton al Premium-membreco kaj malŝlosu iom da bonegaj aldonaj funkcioj." }, "premiumSignUpStorage": { "message": "1 GB ĉifrita stokado por dosieraj aldonaĵoj." @@ -2730,7 +2745,7 @@ "message": "Bitwarden Families plan." }, "addons": { - "message": "Aldonaĵoj" + "message": "Etendaĵoj" }, "premiumAccess": { "message": "Altkvalita Aliro" @@ -2752,7 +2767,7 @@ "message": "Aldona Stokado (GB)" }, "additionalStorageGbDesc": { - "message": "Nombro da pliaj GB" + "message": "# da pliaj GB" }, "additionalStorageIntervalDesc": { "message": "Via plano venas kun $SIZE$ da ĉifrita dosier-stokado. Vi povas aldoni plian stokadon kontraŭ $PRICE$ po GB / $INTERVAL$.", @@ -2824,7 +2839,7 @@ "message": "Alklaku la butonon PayPal por ensaluti vian konton PayPal, poste alklaku la butonon Sendu sube por daŭrigi." }, "cancelSubscription": { - "message": "Nuligi Abonon" + "message": "Nuligi la abonon" }, "subscriptionExpiration": { "message": "Subscription expiration" @@ -2851,10 +2866,10 @@ "message": "Ĉu vi certas, ke vi volas nuligi? Vi perdos aliron al ĉiuj funkcioj de ĉi tiu abono fine de ĉi tiu faktura ciklo." }, "canceledSubscription": { - "message": "La abono estis nuligita." + "message": "Abono nuliĝis" }, "neverExpires": { - "message": "Never expires" + "message": "Neniam eksvalidiĝis" }, "status": { "message": "Stato" @@ -2909,10 +2924,10 @@ "message": "Neniu pagmaniero registrita." }, "addPaymentMethod": { - "message": "Aldoni Pagmanieron" + "message": "Aldoni pagan metodon" }, "changePaymentMethod": { - "message": "Ŝanĝi Pagmanieron" + "message": "Ŝanĝi la pagan metodon" }, "invoices": { "message": "Fakturoj" @@ -2928,7 +2943,7 @@ "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "unpaid": { - "message": "Sensalajra", + "message": "Nepagita", "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "transactions": { @@ -2986,7 +3001,7 @@ "message": "Ĝisdatigita pagmaniero." }, "purchasePremium": { - "message": "Aĉetu Superpagon" + "message": "Aĉetu Premium'on" }, "licenseFile": { "message": "Permesila Dosiero" @@ -3034,13 +3049,13 @@ "message": "Uzantoj" }, "userSeats": { - "message": "Uzantaj Sidlokoj" + "message": "Uzanto-sidejoj" }, "additionalUserSeats": { "message": "Pliaj Uzaj Lokoj" }, "userSeatsDesc": { - "message": "Nombro de uzantaj lokoj" + "message": "# de uzanto-sidejoj" }, "userSeatsAdditionalDesc": { "message": "Via plano venas kun $BASE_SEATS$ uzanto-seĝoj. Vi povas aldoni pliajn uzantojn kontraŭ $SEAT_PRICE$ po uzanto / monato.", @@ -3189,7 +3204,7 @@ } }, "trialThankYou": { - "message": "Thanks for signing up for Bitwarden for $PLAN$!", + "message": "Dankon pro la registriĝo al Bitwarden por $PLAN$!", "placeholders": { "plan": { "content": "$1", @@ -3231,7 +3246,7 @@ "message": "Baza Prezo" }, "organizationCreated": { - "message": "Organizo kreita" + "message": "Organizo kreiĝis" }, "organizationReadyToGo": { "message": "Via nova organizo pretas!" @@ -3249,22 +3264,22 @@ "message": "Vi forlasis la organizon." }, "defaultCollection": { - "message": "Apriora Kolekto" + "message": "Implicita kolekto" }, "getHelp": { - "message": "Akiri Helpon" + "message": "Akiri helpon" }, "getApps": { - "message": "Akiru la Programojn" + "message": "Akiri la programojn" }, "loggedInAs": { "message": "Ensalutinta kiel" }, "eventLogs": { - "message": "Eventaj Registroj" + "message": "Eventa ĵurnalo" }, "people": { - "message": "Homoj" + "message": "Personoj" }, "policies": { "message": "Politikoj" @@ -3333,13 +3348,13 @@ "message": "Nurlegebla" }, "newCollection": { - "message": "Nova Kolekto" + "message": "Nova kolekto" }, "addCollection": { - "message": "Aldoni Kolekton" + "message": "Aldoni kolekton" }, "editCollection": { - "message": "Redakti Kolekton" + "message": "Redakti kolekton" }, "collectionInfo": { "message": "Collection info" @@ -3405,7 +3420,7 @@ "message": "Administranto" }, "adminDesc": { - "message": "Administrantoj povas aliri kaj administri ĉiujn erojn, kolektojn kaj uzantojn en via organizo." + "message": "Administri la aliron al organizo, ĉiujn kolektojn, membrojn, raportadojn, kaj sekurecajn agordojn" }, "user": { "message": "Uzanto" @@ -3420,7 +3435,7 @@ "message": "Add Access" }, "addAccessFilter": { - "message": "Add Access Filter" + "message": "Aldoni Aliran Filtrilon" }, "refresh": { "message": "Refreŝigi" @@ -3462,7 +3477,7 @@ "message": "Bitwarden Secrets Manager" }, "loggedIn": { - "message": "Ensalutinta." + "message": "Salutinta" }, "changedPassword": { "message": "Ŝanĝis pasvorton de konto." @@ -3471,7 +3486,7 @@ "message": "Ebligita / ĝisdatigita du-ŝtupa ensaluto." }, "disabled2fa": { - "message": "Neebligita du-ŝtupa saluto." + "message": "Duŝtupa saluto malŝaltiĝis" }, "recovered2fa": { "message": "Konto senpaneigita el du-ŝtupa saluto." @@ -3496,16 +3511,16 @@ "description": "PIN code. Ex. The short code (often numeric) that you use to unlock a device." }, "exportedVault": { - "message": "Eksportiĝis trezorejo." + "message": "La trezorejo elportiĝis" }, "exportedOrganizationVault": { "message": "Eksportiĝis trezorejo de organizo." }, "editedOrgSettings": { - "message": "Redaktitaj organizaj agordoj." + "message": "Redaktiĝis organizaj agordoj." }, "createdItemId": { - "message": "Kreita ero $ID$.", + "message": "Kreiĝis ero $ID$.", "placeholders": { "id": { "content": "$1", @@ -3532,7 +3547,7 @@ } }, "movedItemIdToOrg": { - "message": "Moved item $ID$ to an organization.", + "message": "Movigis la eron $ID$ al organizo", "placeholders": { "id": { "content": "$1", @@ -3721,7 +3736,7 @@ } }, "removedUserId": { - "message": "Removed user $ID$.", + "message": "Foriĝis uzanto $ID$.", "placeholders": { "id": { "content": "$1", @@ -3859,7 +3874,7 @@ } }, "removedOrganizationId": { - "message": "Forviŝiĝis organizo $ID$.", + "message": "Foriĝis organizo $ID$.", "placeholders": { "id": { "content": "$1", @@ -3910,7 +3925,7 @@ "message": "IP Address" }, "confirmLogIn": { - "message": "Confirm login" + "message": "Konfirmu salutadon" }, "denyLogIn": { "message": "Deny login" @@ -3971,7 +3986,7 @@ "message": "to edit your email address." }, "view": { - "message": "Vidigi" + "message": "Vidi" }, "invalidDateRange": { "message": "Nevalida datintervalo." @@ -3980,10 +3995,10 @@ "message": "Eraro okazis." }, "userAccess": { - "message": "Uzanto-Aliro" + "message": "Uzanto-aliro" }, "userType": { - "message": "Uzanto-Tipo" + "message": "Uzanto-tipo" }, "groupAccess": { "message": "Grupaliro" @@ -4128,7 +4143,7 @@ "message": "Click here to add a payment method." }, "joinOrganization": { - "message": "Aliĝi al Organizo" + "message": "Aliĝi al organizo" }, "joinOrganizationName": { "message": "Join $ORGANIZATIONNAME$", @@ -4167,7 +4182,7 @@ } }, "rememberEmail": { - "message": "Memoru retpoŝton" + "message": "Rememorigi la retpoŝton" }, "recoverAccountTwoStepDesc": { "message": "Se vi ne povas aliri vian konton per viaj normalaj du-ŝtupaj ensalutaj metodoj, vi povas uzi vian du-ŝtupan ensalutan rekuperan kodon por malŝalti ĉiujn du-ŝtupajn provizantojn en via konto." @@ -4176,10 +4191,10 @@ "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." }, "recoverAccountTwoStep": { - "message": "Senpaneigi la du-faktoran aŭtentigon de la konto" + "message": "Restarigi la dufaktoran aŭtentigon de la konto" }, "twoStepRecoverDisabled": { - "message": "Du-faktora aŭtentigo estas neebligita en via konto." + "message": "Dufaktora aŭtentigo estas malŝaltita en via konto." }, "learnMore": { "message": "Lernu pli" @@ -4227,13 +4242,13 @@ } }, "organizationDeleted": { - "message": "Organizo Forigita" + "message": "Organizo foriĝis" }, "organizationDeletedDesc": { "message": "La organizo kaj ĉiuj rilataj datumoj estis forigitaj." }, "organizationUpdated": { - "message": "Organizo ĝisdatigita" + "message": "Organizo konserviĝis" }, "taxInformation": { "message": "Impostaj Informoj" @@ -4443,10 +4458,10 @@ } }, "seatsToAdd": { - "message": "Aldonaj Seĝoj" + "message": "Sidejoj por aldoni" }, "seatsToRemove": { - "message": "Forigeblaj Seĝoj" + "message": "Sidejo por forigi" }, "seatsAddNote": { "message": "Aldoni uzantajn seĝojn rezultigos ĝustigojn al viaj fakturaj sumoj kaj tuj ŝargos vian pagmanieron en dosiero. La unua ŝarĝo estos proporciigita por la resto de la aktuala faktura ciklo." @@ -4522,7 +4537,7 @@ "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, "keyUpdated": { - "message": "Ŝlosilo ĝisdatigita" + "message": "Ŝlosilo ĝisdatiĝis" }, "updateEncryptionKey": { "message": "Ĝisdatigi Ĉifran Ŝlosilon" @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Post ĝisdatigi vian ĉifradan ŝlosilon, vi devas elsaluti kaj reeniri al ĉiuj Bitwarden-aplikaĵoj, kiujn vi nun uzas (kiel la poŝtelefona programo aŭ retumila etendaĵoj). Malsukceso elsaluti kaj reeniri (kiu elŝutas via nova ĉifra ŝlosilo) povas rezultigi korupton de datumoj. Ni provos elsaluti vin aŭtomate, tamen ĝi eble prokrastos. " }, - "updateEncryptionKeyExportWarning": { - "message": "Ĉiuj ĉifritaj eksportaĵoj, kiujn vi konservis, ankaŭ malvalidiĝos." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Abono" @@ -4546,13 +4561,13 @@ "message": "Ĝisdatigi" }, "upgradeOrganization": { - "message": "Altgradiga Organizo" + "message": "Altgradigi organizon" }, "upgradeOrganizationDesc": { "message": "Ĉi tiu funkcio ne haveblas por senpagaj organizoj. Ŝanĝu al pagita plano por malŝlosi pli da funkcioj." }, "createOrganizationStep1": { - "message": "Krei Organizon: Paŝo 1" + "message": "Krei organizon: Ŝtupo 1" }, "createOrganizationCreatePersonalAccount": { "message": "Antaŭ ol krei vian organizon, vi unue devas krei senpagan personan konton." @@ -4561,7 +4576,7 @@ "message": "Repagita" }, "nothingSelected": { - "message": "Vi elektis nenion." + "message": "Vi elektis neniun." }, "receiveMarketingEmailsV2": { "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox." @@ -4631,7 +4646,7 @@ "description": "ex. Date this item was updated" }, "dateCreated": { - "message": "Created", + "message": "Kreita", "description": "ex. Date this item was created" }, "datePasswordUpdated": { @@ -4639,7 +4654,7 @@ "description": "ex. Date this password was updated" }, "organizationIsDisabled": { - "message": "Organizo estas malŝaltita." + "message": "La organizo suspendiĝis" }, "secretsAccessSuspended": { "message": "Suspended organizations cannot be accessed. Please contact your organization owner for assistance." @@ -4863,7 +4878,7 @@ "description": "Name of the password generator policy that overrides the user's password/passphrase selection." }, "userPreference": { - "message": "Uzanta Prefero" + "message": "Prefero de la uzanto" }, "vaultTimeoutAction": { "message": "Volta Tempolima Ago" @@ -4872,7 +4887,7 @@ "message": "Ŝlosita trezorejo postulas, ke vi reenmetu vian ĉefan pasvorton por aliri ĝin denove." }, "vaultTimeoutActionLogOutDesc": { - "message": "Ensalutita volbo postulas, ke vi denove aŭtentikigu por aliri ĝin denove." + "message": "Reaŭtentigo estas postulata por denove aliri al vian trezorejo." }, "lock": { "message": "Ŝlosi", @@ -4883,7 +4898,7 @@ "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" }, "searchTrash": { - "message": "Serĉi rubujon" + "message": "Traserĉi la rubujon" }, "permanentlyDelete": { "message": "Konstante Forigi" @@ -4922,16 +4937,16 @@ } }, "restore": { - "message": "Restarigi" + "message": "Rehavigi" }, "restoreSelected": { - "message": "Restarigi elektitajn" + "message": "Rehavigi elektitajn" }, "restoredItem": { - "message": "Restarigita elemento" + "message": "Ero rehaviĝis" }, "restoredItems": { - "message": "Restarigitaj Eroj" + "message": "Eroj rehaviĝis" }, "restoredItemId": { "message": "Restariĝis ero $ID$.", @@ -5034,7 +5049,7 @@ "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Provide this ID to your members to login with SSO. To bypass this step, set up Domain verification'" }, "unlinkSso": { - "message": "Malkonekti SSO" + "message": "Malkonekti SSO-n" }, "unlinkSsoConfirmation": { "message": "Are you sure you want to unlink SSO for this organization?" @@ -5134,11 +5149,11 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendPermanentConfirmation": { - "message": "Are you sure you want to permanently delete this Send?", + "message": "Ĉu vi certas, ke vi volas poreterne forviŝi ĉi tiun Send?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Dato de Forigo" + "message": "Foriĝa dato" }, "deletionDateDescV2": { "message": "The Send will be permanently deleted on this date.", @@ -5155,13 +5170,13 @@ "message": "Maksimuma Aliro-Kalkulo" }, "disabled": { - "message": "Neebligita" + "message": "Malebligita" }, "revoked": { "message": "Revoked" }, "sendLink": { - "message": "Sendi ligon", + "message": "Sendi ligilon", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copyLink": { @@ -5336,7 +5351,7 @@ } }, "approve": { - "message": "Aprovi" + "message": "Aprobi" }, "reject": { "message": "Malakcepti" @@ -5400,11 +5415,11 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendOptions": { - "message": "Send options", + "message": "Sendi elekteblojn", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendOptionsPolicyDesc": { - "message": "Set options for creating and editing Sends.", + "message": "Ŝargi elekteblojn por krei kaj redakti Sends.", "description": "'Sends' is a plural noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendOptionsExemption": { @@ -5436,7 +5451,7 @@ "message": "Permesas pli detalan kontrolon de uzaj permesoj por progresintaj agordoj." }, "customDescNonEnterpriseStart": { - "message": "Custom roles is an ", + "message": "Propra rolo estas ", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Custom roles is an enterprise feature. Contact our support team to upgrade your subscription'" }, "customDescNonEnterpriseLink": { @@ -5481,16 +5496,16 @@ "message": "Delete any collection" }, "manageGroups": { - "message": "Administri Grupojn" + "message": "Administri la grupojn" }, "managePolicies": { - "message": "Administri Politikojn" + "message": "Administri la politikojn" }, "manageSso": { - "message": "Administri SSO" + "message": "Administri SSO-n" }, "manageUsers": { - "message": "Administri Uzantojn" + "message": "Administri uzantojn" }, "manageAccountRecovery": { "message": "Manage account recovery" @@ -5572,7 +5587,7 @@ "message": "Maintain tight control over machine and human access to secrets with SSO integrations, event logs, and access rotation." }, "tryItNow": { - "message": "Try it now" + "message": "Nun provu ĝin" }, "sendRequest": { "message": "Send request" @@ -5622,7 +5637,7 @@ "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send **or** sign up to try it today.'" }, "sendAccessTaglineSignUp": { - "message": "aliĝi", + "message": "registriĝi", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more about Bitwarden Send or **sign up** to try it today.'" }, "sendAccessTaglineTryToday": { @@ -6029,13 +6044,13 @@ "message": "Are you sure you want to detach this organization? The organization will continue to exist but will no longer be managed by the Provider." }, "add": { - "message": "Aldonu" + "message": "Aldoni" }, "updatedMasterPassword": { "message": "Ĉefpasvorto Estas Aktualigita" }, "updateMasterPassword": { - "message": "Aktualigu Ĉefpasvorton" + "message": "Ĝisdatigi la ĉefan pasvorton" }, "updateMasterPasswordWarning": { "message": "Your master password was recently changed by an administrator in your organization. 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." @@ -6438,13 +6453,13 @@ "message": "URL de la Key Connector" }, "sendVerificationCode": { - "message": "Send a verification code to your email" + "message": "Sendi aŭtentigan kodon al via retpoŝto" }, "sendCode": { "message": "Sendu Kodon" }, "codeSent": { - "message": "Kodo Sendiĝis" + "message": "Kodo sendiĝis" }, "verificationCode": { "message": "Aŭtentiga Kodo" @@ -6528,10 +6543,10 @@ "message": "SSO turned on" }, "enabledKeyConnector": { - "message": "Aktivigita Key Connector" + "message": "Aktiviĝis Key Connector" }, "disabledKeyConnector": { - "message": "Neebligita Key Connector" + "message": "Key Connector deactivated" }, "keyConnectorWarning": { "message": "Once members begin using Key Connector, your organization cannot revert to master password decryption. Proceed only if you are comfortable deploying and managing a key server." @@ -6555,7 +6570,7 @@ "message": "Sponsoring organization" }, "keyConnectorTest": { - "message": "Testu" + "message": "Provi" }, "keyConnectorTestSuccess": { "message": "Success! Key Connector reached." @@ -6769,7 +6784,7 @@ "message": "Access denied. You do not have permission to view this page." }, "masterPassword": { - "message": "Ĉefpasvorto" + "message": "Ĉefa pasvorto" }, "security": { "message": "Sekureco" @@ -7111,7 +7126,7 @@ } }, "premiumSubcriptionRequired": { - "message": "Premium subscription required" + "message": "Necesas abonon de Premium" }, "scim": { "message": "SCIM provisioning", @@ -7178,7 +7193,7 @@ "message": "Enigo ne estas retpoŝta adreso." }, "inputMinLength": { - "message": "Input must be at least $COUNT$ characters long.", + "message": "La enmeto devas esti apenaŭ $COUNT$ signojn longa.", "placeholders": { "count": { "content": "$1", @@ -7274,7 +7289,7 @@ "message": "Launch Duo" }, "turnOn": { - "message": "Ŝaltu" + "message": "Ŝalti" }, "on": { "message": "Ŝaltita" @@ -7283,10 +7298,10 @@ "message": "Off" }, "members": { - "message": "Members" + "message": "Membroj" }, "reporting": { - "message": "Reporting" + "message": "En raportado" }, "numberOfUsers": { "message": "Nombro de uzantoj" @@ -7295,10 +7310,10 @@ "message": "Pick an avatar color" }, "customizeAvatar": { - "message": "Customize avatar" + "message": "Personecigi la rolfiguron" }, "avatarUpdated": { - "message": "Avatar updated" + "message": "La rolfiguro ĝisdatiĝis" }, "brightBlue": { "message": "Bright Blue" @@ -7350,11 +7365,11 @@ "description": "'Character count' describes a feature that displays a number next to each character of the password." }, "passwordCharacterCount": { - "message": "Password character count", + "message": "Nombrigo de pasvortaj signoj", "description": "'Character count' describes a feature that displays a number next to each character of the password." }, "hide": { - "message": "Hide" + "message": "Kaŝi" }, "projects": { "message": "Projects", @@ -7407,15 +7422,15 @@ "description": "Label for the search bar used to search projects." }, "project": { - "message": "Project", + "message": "Projekto", "description": "Similar to collections, projects can be used to group secrets." }, "editProject": { - "message": "Edit project", + "message": "Redatki la projekton", "description": "The action to modify an existing project." }, "viewProject": { - "message": "View project", + "message": "Vidi la projekton", "description": "The action to view details of a project." }, "deleteProject": { @@ -7427,19 +7442,19 @@ "description": "The action to delete multiple projects from the system." }, "secret": { - "message": "Secret", + "message": "Sekreto", "description": "Label for a secret (key/value pair)" }, "serviceAccount": { - "message": "Service account", + "message": "Servila konto", "description": "A machine user which can be used to automate processes and access secrets in the system." }, "serviceAccounts": { - "message": "Service accounts", + "message": "Servilaj kontoj", "description": "The title for the section that deals with service accounts." }, "secrets": { - "message": "Secrets", + "message": "Sekuretoj", "description": "The title for the section of the application that deals with secrets." }, "nameValuePair": { @@ -7455,15 +7470,15 @@ "description": "Notification for the successful creation of a secret." }, "newSecret": { - "message": "New secret", + "message": "Nova sekreto", "description": "Title for creating a new secret." }, "newServiceAccount": { - "message": "New service account", + "message": "Nova servila konto", "description": "Title for creating a new service account." }, "secretsNoItemsTitle": { - "message": "No secrets to show", + "message": "Neniu sekreto por montri", "description": "Empty state to indicate that there are no secrets to display." }, "secretsNoItemsMessage": { @@ -7486,7 +7501,7 @@ "description": "Placeholder text for searching secrets." }, "deleteServiceAccounts": { - "message": "Delete service accounts", + "message": "Forigi servilajn kontojn", "description": "Title for the action to delete one or multiple service accounts." }, "deleteServiceAccount": { @@ -7494,7 +7509,7 @@ "description": "Title for the action to delete a single service account." }, "viewServiceAccount": { - "message": "View service account", + "message": "Vidi servilan konton", "description": "Action to view the details of a service account." }, "deleteServiceAccountDialogMessage": { @@ -7533,27 +7548,27 @@ "description": "Title for editing a service account." }, "addProject": { - "message": "Add project", + "message": "Aldoni projekton", "description": "Title for creating a new project." }, "projectEdited": { - "message": "Project edited", + "message": "La projekto redaktiĝis", "description": "Notification for the successful editing of a project." }, "projectSaved": { - "message": "Project saved", + "message": "Projekto konserviĝis", "description": "Notification for the successful saving of a project." }, "projectCreated": { - "message": "Project created", + "message": "La projekto kreiĝis", "description": "Notification for the successful creation of a project." }, "projectName": { - "message": "Project name", + "message": "Nomo de projekto", "description": "Label for entering the name of a project." }, "newProject": { - "message": "New project", + "message": "Nova projekto", "description": "Title for creating a new project." }, "softDeleteSecretWarning": { @@ -7561,7 +7576,7 @@ "description": "Warns that deleting secrets can have consequences on integrations" }, "softDeletesSuccessToast": { - "message": "Secrets sent to trash", + "message": "La sekretoj sendiĝis al la rubujo", "description": "Notifies that the selected secrets have been moved to the trash" }, "hardDeleteSecretConfirmation": { @@ -7571,14 +7586,14 @@ "message": "Are you sure you want to permanently delete these secrets?" }, "hardDeletesSuccessToast": { - "message": "Secrets permanently deleted" + "message": "La sekretoj poreterne forviŝiĝis" }, "smAccess": { - "message": "Access", + "message": "Aliro", "description": "Title indicating what permissions a service account has" }, "projectCommaSecret": { - "message": "Project, Secret", + "message": "Projekto, Sekreto", "description": "" }, "serviceAccountName": { @@ -7594,19 +7609,19 @@ "description": "Notifies that a service account has been updated" }, "newSaSelectAccess": { - "message": "Type or select projects or secrets", + "message": "Entajpu aŭ elektu projektojn aŭ sekretojn", "description": "Instructions for selecting projects or secrets for a new service account" }, "newSaTypeToFilter": { - "message": "Type to filter", + "message": "Entajpu por filtri", "description": "Instructions for filtering a list of projects or secrets" }, "deleteProjectsToast": { - "message": "Projects deleted", + "message": "La projektoj forviŝiĝis", "description": "Notifies that the selected projects have been deleted" }, "deleteProjectToast": { - "message": "Project deleted", + "message": "La projekto forviŝiĝis", "description": "Notifies that a project has been deleted" }, "deleteProjectDialogMessage": { @@ -7630,7 +7645,7 @@ } }, "deleteProjectConfirmMessage": { - "message": "Delete $PROJECT$", + "message": "Forviŝi $PROJECT$", "description": "Confirmation prompt to delete a specific project, where '$PROJECT$' is a placeholder for the name of the project.", "placeholders": { "project": { @@ -7650,7 +7665,7 @@ } }, "deleteProjectsDialogMessage": { - "message": "Deleting projects is permanent and irreversible.", + "message": "Forviŝi projektojn estas poreterne kaj neinversigeble", "description": "This message is displayed in a dialog box as a warning before proceeding with project deletion." }, "projectsNoItemsTitle": { @@ -7681,7 +7696,7 @@ "description": "Title for the section displaying access tokens." }, "newAccessToken": { - "message": "New access token", + "message": "Nova alirilo", "description": "Button label for creating a new access token." }, "expires": { @@ -7689,7 +7704,7 @@ "description": "Label for the expiration date of an access token." }, "canRead": { - "message": "Can read", + "message": "Povas legi", "description": "Label for the access level of an access token (Read only)." }, "accessTokensNoItemsTitle": { @@ -7705,7 +7720,7 @@ "description": "Message to be displayed before closing an access token, reminding the user to download or copy it." }, "expiresOnAccessToken": { - "message": "Expires on:", + "message": "Ekvalidiĝas en:", "description": "Label for the expiration date of an access token." }, "accessTokenCallOutTitle": { @@ -7789,19 +7804,19 @@ "message": "Select collections" }, "role": { - "message": "Role" + "message": "Rolo" }, "removeMember": { - "message": "Remove member" + "message": "Forigi la membron" }, "collection": { "message": "Collection" }, "noCollection": { - "message": "No collection" + "message": "Neniu kolekto" }, "noCollectionsAdded": { - "message": "No collections added" + "message": "Neniu kolekto aldoniĝis" }, "noMembersAdded": { "message": "No members added" @@ -7810,7 +7825,7 @@ "message": "No groups added" }, "group": { - "message": "Group" + "message": "Grupo" }, "domainVerification": { "message": "Domain verification" @@ -7858,13 +7873,13 @@ } }, "domainNameTh": { - "message": "Name" + "message": "Nomo" }, "domainStatusTh": { - "message": "Status" + "message": "Stato" }, "lastChecked": { - "message": "Last checked" + "message": "Lastatempe kontrolita" }, "editDomain": { "message": "Edit domain" @@ -7894,10 +7909,10 @@ "message": "Verification required for this action. Set a PIN to continue." }, "setPin": { - "message": "Set PIN" + "message": "Ŝargi PIN-on" }, "verifyWithBiometrics": { - "message": "Verify with biometrics" + "message": "Aŭtentigi per biometriko" }, "awaitingConfirmation": { "message": "Awaiting confirmation" @@ -7906,34 +7921,34 @@ "message": "Could not complete biometrics." }, "needADifferentMethod": { - "message": "Need a different method?" + "message": "Ĉu vi bezonas diferentan metodon?" }, "useMasterPassword": { - "message": "Use master password" + "message": "Uzi la ĉefan pasvorton" }, "usePin": { - "message": "Use PIN" + "message": "Uzi PIN-on" }, "useBiometrics": { - "message": "Use biometrics" + "message": "Uzi biometrikon" }, "enterVerificationCodeSentToEmail": { "message": "Enter the verification code that was sent to your email." }, "resendCode": { - "message": "Resend code" + "message": "Resendi kodon" }, "memberColumnHeader": { - "message": "Member" + "message": "Membro" }, "groupSlashMemberColumnHeader": { - "message": "Group/Member" + "message": "Grupo/Membro" }, "selectGroupsAndMembers": { "message": "Select groups and members" }, "selectGroups": { - "message": "Select groups" + "message": "Elekti grupojn" }, "userPermissionOverrideHelperDesc": { "message": "Permissions set for a member will replace permissions set by that member's group." @@ -7942,7 +7957,7 @@ "message": "No members or groups added" }, "deleted": { - "message": "Deleted" + "message": "Forviŝita" }, "memberStatusFilter": { "message": "Member status filter" @@ -7954,13 +7969,13 @@ "message": "Add sponsorship" }, "needsConfirmation": { - "message": "Needs confirmation" + "message": "Necesas konfirmon" }, "memberRole": { "message": "Member role" }, "moreFromBitwarden": { - "message": "More from Bitwarden" + "message": "Pli el Bitwarden" }, "switchProducts": { "message": "Switch products" @@ -8020,13 +8035,13 @@ } }, "server": { - "message": "Server" + "message": "Servilo" }, "exportData": { - "message": "Export data" + "message": "Elporti datumon" }, "exportingOrganizationSecretDataTitle": { - "message": "Exporting Organization Secret Data" + "message": "En elportado de Sekretaj Datumoj de Organizo" }, "exportingOrganizationSecretDataDescription": { "message": "Only the Secrets Manager data associated with $ORGANIZATION$ will be exported. Items in other products or from other organizations will not be included.", @@ -8038,28 +8053,28 @@ } }, "fileUpload": { - "message": "File upload" + "message": "Alŝuto de dosieroj" }, "upload": { - "message": "Upload" + "message": "Alŝuti" }, "acceptedFormats": { "message": "Accepted Formats:" }, "copyPasteImportContents": { - "message": "Copy & paste import contents:" + "message": "Kopii & alglui la enhavojn de la enportoto:" }, "or": { - "message": "or" + "message": "aŭ" }, "unlockWithBiometrics": { - "message": "Unlock with biometrics" + "message": "Malŝlosi per biometriko" }, "unlockWithPin": { - "message": "Unlock with PIN" + "message": "Malŝlosi per PIN" }, "unlockWithMasterPassword": { - "message": "Unlock with master password" + "message": "Malŝlosi per la ĉefa pasvorto" }, "licenseAndBillingManagement": { "message": "License and billing management" @@ -8077,13 +8092,13 @@ "message": "Sync License" }, "licenseSyncSuccess": { - "message": "Successfully synced license" + "message": "Sukcese spegulis la permesilon" }, "licenseUploadSuccess": { "message": "Successfully uploaded license" }, "lastLicenseSync": { - "message": "Last license sync" + "message": "Lasta spegulado de permesilo" }, "billingSyncHelp": { "message": "Billing Sync help" @@ -8131,10 +8146,10 @@ "message": "Add projects to grant access" }, "canReadWrite": { - "message": "Can read, write" + "message": "Povas legi, enskribi" }, "groupSlashUser": { - "message": "Group/User" + "message": "Grupo/Uzanto" }, "lowKdfIterations": { "message": "Low KDF Iterations" @@ -8155,10 +8170,10 @@ "message": "This user can access Secrets Manager" }, "important": { - "message": "Important:" + "message": "Grave" }, "viewAll": { - "message": "View all" + "message": "Vidi ĉiujn" }, "showingPortionOfTotal": { "message": "Showing $PORTION$ of $TOTAL$", @@ -8177,13 +8192,13 @@ "message": "Resolve the errors below and try again." }, "description": { - "message": "Description" + "message": "Priskribo" }, "errorReadingImportFile": { "message": "An error occurred when trying to read the import file" }, "accessedSecret": { - "message": "Accessed secret $SECRET_ID$.", + "message": "Aliĝis al sekreto $SECRET_ID$.", "placeholders": { "secret_id": { "content": "$1", @@ -8196,26 +8211,26 @@ "description": "Software Development Kit" }, "createAnAccount": { - "message": "Create an account" + "message": "Krei konton" }, "createSecret": { - "message": "Create a secret" + "message": "Krei sekreton" }, "createProject": { - "message": "Create a project" + "message": "Krei projekton" }, "createServiceAccount": { - "message": "Create a service account" + "message": "Krei servilan konton" }, "downloadThe": { - "message": "Download the", + "message": "Elŝuti la", "description": "Link to a downloadable resource. This will be used as part of a larger phrase. Example: Download the Secrets Manager CLI" }, "smCLI": { "message": "Secrets Manager CLI" }, "importSecrets": { - "message": "Import secrets" + "message": "Enporti sekretojn" }, "getStarted": { "message": "Get started" @@ -8234,10 +8249,10 @@ } }, "restoreSecret": { - "message": "Restore secret" + "message": "Rehavigi sekreton" }, "restoreSecrets": { - "message": "Restore secrets" + "message": "Rehavigi sekretojn" }, "restoreSecretPrompt": { "message": "Are you sure you want to restore this secret?" @@ -8560,13 +8575,13 @@ } }, "next": { - "message": "Next" + "message": "Antaŭen" }, "ssoLoginIsRequired": { - "message": "SSO login is required" + "message": "SSO-salutado estas bezonata" }, "selectedRegionFlag": { - "message": "Selected region flag" + "message": "Elektis flagon de regiono" }, "accountSuccessfullyCreated": { "message": "Account successfully created!" @@ -8679,7 +8694,7 @@ } }, "collectionManagement": { - "message": "Collection management" + "message": "Administrado de kolekto" }, "collectionManagementDesc": { "message": "Manage the collection behavior for the organization" @@ -8706,10 +8721,10 @@ "message": "Secrets Manager plan price" }, "passwordManager": { - "message": "Password Manager" + "message": "Pasvorto-Administrilo" }, "freeOrganization": { - "message": "Free Organization" + "message": "Senpaga Organizo" }, "limitServiceAccounts": { "message": "Limit service accounts (optional)" @@ -8724,7 +8739,7 @@ "message": "Max potential service account cost" }, "loggedInExclamation": { - "message": "Logged in!" + "message": "Jam salutis!" }, "beta": { "message": "Beta" @@ -8755,13 +8770,13 @@ "message": "At least one member or group must have can manage permission." }, "typePasskey": { - "message": "Passkey" + "message": "Pasŝlosilo" }, "passkeyNotCopied": { - "message": "Passkey will not be copied" + "message": "Pasŝlosilo ne estos kopiita" }, "passkeyNotCopiedAlert": { - "message": "The passkey will not be copied to the cloned item. Do you want to continue cloning this item?" + "message": "La pasŝlosilo ne estos kopiita al la klonaĵo. Ĉu vi volas daŭrigi la klonadon de ĉi tiu ero?" }, "modifiedCollectionManagement": { "message": "Modified collection management setting $ID$.", @@ -8777,13 +8792,13 @@ "description": "This is followed a by a hyperlink to the help website." }, "installBrowserExtension": { - "message": "Install browser extension" + "message": "Instali la retumilan etendaĵon" }, "installBrowserExtensionDetails": { - "message": "Use the extension to quickly save logins and auto-fill forms without opening the web app." + "message": "Uzu la etendaĵon por rapide konservi salutilojn kaj aŭtomate plenigi la kampojn sen malfermo de la reteja apo." }, "projectAccessUpdated": { - "message": "Project access updated" + "message": "Projekto-alirebleco ĝisdatiĝis" }, "unexpectedErrorSend": { "message": "An unexpected error has occurred while loading this Send. Try again later." @@ -8798,7 +8813,7 @@ "message": "Seat limit has been reached. Contact your provider to purchase additional seats." }, "collectionAccessRestricted": { - "message": "Collection access is restricted" + "message": "La aliro al kolekto estas limigita" }, "readOnlyCollectionAccess": { "message": "You do not have access to manage this collection." @@ -8872,7 +8887,7 @@ "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "tooDifficultToUse": { - "message": "Too difficult to use", + "message": "Tro malfacila por uzi", "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "notUsingEnough": { @@ -9042,15 +9057,15 @@ "message": "Machine accounts cannot be created in suspended organizations. Please contact your organization owner for assistance." }, "machineAccount": { - "message": "Machine account", + "message": "Maŝina konto", "description": "A machine user which can be used to automate processes and access secrets in the system." }, "machineAccounts": { - "message": "Machine accounts", + "message": "Maŝinaj kontoj", "description": "The title for the section that deals with machine accounts." }, "newMachineAccount": { - "message": "New machine account", + "message": "Nova maŝina konto", "description": "Title for creating a new machine account." }, "machineAccountsNoItemsMessage": { @@ -9058,23 +9073,23 @@ "description": "Message to encourage the user to start creating machine accounts." }, "machineAccountsNoItemsTitle": { - "message": "Nothing to show yet", + "message": "Ankoraŭ neniu por montri", "description": "Title to indicate that there are no machine accounts to display." }, "deleteMachineAccounts": { - "message": "Delete machine accounts", + "message": "Forĵeti maŝinan konton", "description": "Title for the action to delete one or multiple machine accounts." }, "deleteMachineAccount": { - "message": "Delete machine account", + "message": "Forĵeti maŝinajn kontojn", "description": "Title for the action to delete a single machine account." }, "viewMachineAccount": { - "message": "View machine account", + "message": "Vidi maŝinan konton", "description": "Action to view the details of a machine account." }, "deleteMachineAccountDialogMessage": { - "message": "Deleting machine account $MACHINE_ACCOUNT$ is permanent and irreversible.", + "message": "Forĵeti la maŝinan konton $MACHINE_ACCOUNT$ estas poreterne kaj neinverseble.", "placeholders": { "machine_account": { "content": "$1", @@ -9136,7 +9151,7 @@ "message": "Assign projects to this machine account. " }, "createMachineAccount": { - "message": "Create a machine account" + "message": "Krei maŝinan konton" }, "maPeopleWarningMessage": { "message": "Removing people from a machine account does not remove the access tokens they created. For security best practice, it is recommended to revoke access tokens created by people removed from a machine account." @@ -9166,7 +9181,7 @@ } }, "additionalMachineAccounts": { - "message": "Additional machine accounts" + "message": "Aldonaj maŝinaj kontoj" }, "includedMachineAccounts": { "message": "Your plan comes with $COUNT$ machine accounts.", @@ -9229,7 +9244,7 @@ } }, "providerDeleted": { - "message": "Provider deleted" + "message": "La provizanto foriĝis" }, "providerDeletedDesc": { "message": "The Provider and all associated data has been deleted." @@ -9263,7 +9278,7 @@ "message": "Use Bitwarden Secrets Manager SDK in the following programming languages to build your own applications." }, "ssoDescStart": { - "message": "Configure", + "message": "Agordi", "description": "This represents the beginning of a sentence, broken up to include links. The full sentence will be 'Configure single sign-on for Bitwarden using the implementation guide for your Identity Provider." }, "ssoDescEnd": { @@ -9297,7 +9312,7 @@ "message": "Integrate Bitwarden event logs with your SIEM (system information and event management) system by using the implementation guide for your platform." }, "deviceManagement": { - "message": "Device management" + "message": "Administrado de la aparatoj" }, "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." @@ -9387,16 +9402,16 @@ "message": "month per member billed annually" }, "seats": { - "message": "Seats" + "message": "Sidejoj" }, "addOrganization": { - "message": "Add organization" + "message": "Aldoni organizon" }, "createdNewClient": { - "message": "Successfully created new client" + "message": "Sukcese kreiĝis nova kliento" }, "noAccess": { - "message": "No access" + "message": "Neniu aliro" }, "collectionAdminConsoleManaged": { "message": "This collection is only accessible from the admin console" @@ -9408,7 +9423,7 @@ "message": "Select vault item" }, "collectionItemSelect": { - "message": "Select collection item" + "message": "Elekti kolekteron" }, "manageBillingFromProviderPortalMessage": { "message": "Manage billing from the Provider Portal" @@ -9441,7 +9456,7 @@ "message": "Enter your Enterprise organization information" }, "viewItemsIn": { - "message": "View items in $NAME$", + "message": "Vidi la erojn en $NAME$", "description": "Button to view the contents of a folder or collection", "placeholders": { "name": { @@ -9451,7 +9466,7 @@ } }, "backTo": { - "message": "Back to $NAME$", + "message": "Reveni al $NAME$", "description": "Navigate back to a previous folder or collection", "placeholders": { "name": { @@ -9461,11 +9476,11 @@ } }, "back": { - "message": "Back", + "message": "Reveni", "description": "Button text to navigate back" }, "removeItem": { - "message": "Remove $NAME$", + "message": "Forigi $NAME$'n", "description": "Remove a selected option, such as a folder or collection", "placeholders": { "name": { @@ -9475,10 +9490,10 @@ } }, "viewInfo": { - "message": "View info" + "message": "Vidi informon" }, "viewAccess": { - "message": "View access" + "message": "Vidi aliron" }, "noCollectionsSelected": { "message": "You have not selected any collections." @@ -9514,7 +9529,7 @@ "message": "Low KDF iterations. Increase your iterations to improve the security of your account." }, "changeKDFSettings": { - "message": "Change KDF settings" + "message": "Ŝanĝi agordojn pri KDF" }, "secureYourInfrastructure": { "message": "Secure your infrastructure" @@ -9529,7 +9544,7 @@ "message": "Stay ahead of security vulnerabilities by upgrading to a paid plan for enhanced monitoring." }, "approveAllRequests": { - "message": "Approve all requests" + "message": "Aprobi ĉiujn petojn" }, "allLoginRequestsApproved": { "message": "All login requests approved" @@ -9556,16 +9571,16 @@ "message": "An error occurred while previewing the invoice. Please try again later." }, "unverified": { - "message": "Unverified" + "message": "Malkonfirmita" }, "verified": { - "message": "Verified" + "message": "Konfirmita" }, "viewSecret": { - "message": "View secret" + "message": "Vidi sekreton" }, "noClients": { - "message": "There are no clients to list" + "message": "Estas neniu kliento por listo" }, "providerBillingEmailHint": { "message": "This email address will receive all invoices pertaining to this provider", @@ -9578,10 +9593,10 @@ "message": "Quickly view member access across the organization by upgrading to an Enterprise plan." }, "date": { - "message": "Date" + "message": "Dato" }, "exportClientReport": { - "message": "Export client report" + "message": "Elporti klientan raporton" }, "memberAccessReport": { "message": "Member access" @@ -9602,16 +9617,16 @@ "message": "(No Group)" }, "memberAccessReportTwoFactorEnabledTrue": { - "message": "On" + "message": "Ŝaltita" }, "memberAccessReportTwoFactorEnabledFalse": { - "message": "Off" + "message": "Malŝaltita" }, "memberAccessReportAuthenticationEnabledTrue": { - "message": "On" + "message": "Ŝaltita" }, "memberAccessReportAuthenticationEnabledFalse": { - "message": "Off" + "message": "Malŝaltita" }, "higherKDFIterations": { "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker." @@ -9650,7 +9665,7 @@ "message": "Add machine accounts to grant access to this secret" }, "smAccessRemovalWarningSecretTitle": { - "message": "Remove access to this secret" + "message": "Forigi aliron al tiu ĉi sekreto" }, "smAccessRemovalSecretMessage": { "message": "This action will remove your access to this secret." @@ -9672,7 +9687,7 @@ "message": "Contact your provider admin to purchase additional seats." }, "open": { - "message": "Open", + "message": "Malfermi", "description": "The status of an invoice." }, "uncollectible": { @@ -9680,7 +9695,7 @@ "description": "The status of an invoice." }, "clientDetails": { - "message": "Client details" + "message": "Detajoj de la kriento" }, "downloadCSV": { "message": "Download CSV" @@ -9714,10 +9729,10 @@ "message": "After making updates in the Bitwarden cloud server, upload your license file to apply the most recent changes." }, "addToFolder": { - "message": "Add to folder" + "message": "Aldoni al dosierujo" }, "selectFolder": { - "message": "Select folder" + "message": "Elekti dosierujo" }, "personalItemTransferWarningSingular": { "message": "1 item will be permanently transferred to the selected organization. You will no longer own this item." @@ -9754,7 +9769,7 @@ } }, "data": { - "message": "Data" + "message": "Datumo" }, "purchasedSeatsRemoved": { "message": "purchased seats removed" @@ -9775,7 +9790,7 @@ "message": "The following projects can be accessed by this machine account." }, "config": { - "message": "Config" + "message": "Agordoj" }, "learnMoreAboutEmergencyAccess": { "message": "Learn more about emergency access" @@ -9832,7 +9847,7 @@ "message": "Text Sends" }, "includesXMembers": { - "message": "for $COUNT$ member", + "message": "por $COUNT$ membroj", "placeholders": { "count": { "content": "$1", @@ -9853,7 +9868,7 @@ "message": "Optional on-premises hosting" }, "upgradeFreeOrganization": { - "message": "Upgrade your $NAME$ organization ", + "message": "Altgradigi vian organizon %NAME% ", "placeholders": { "name": { "content": "$1", @@ -9862,7 +9877,7 @@ } }, "includeSsoAuthenticationMessage": { - "message": "SSO Authentication" + "message": "SSO-Aŭtentigo" }, "familiesPlanInvLimitReachedManageBilling": { "message": "Families organizations may have up to $SEATCOUNT$ members. Upgrade to a paid plan to invite more members.", @@ -9922,10 +9937,10 @@ "message": "Key algorithm" }, "sshPrivateKey": { - "message": "Private key" + "message": "Privata ŝlosilo" }, "sshPublicKey": { - "message": "Public key" + "message": "Publika ŝlosilo" }, "sshFingerprint": { "message": "Fingerprint" @@ -9934,7 +9949,7 @@ "message": "Fingerprint" }, "sshKeyPrivateKey": { - "message": "Private key" + "message": "Privata ŝlosilo" }, "sshKeyPublicKey": { "message": "Public key" @@ -9952,16 +9967,16 @@ "message": "RSA 4096-Bit" }, "premiumAccounts": { - "message": "6 premium accounts" + "message": "6 premium-kontoj" }, "unlimitedSharing": { - "message": "Unlimited sharing" + "message": "Senlimaj kundividoj" }, "unlimitedCollections": { - "message": "Unlimited collections" + "message": "Senlimaj kolektoj" }, "secureDataSharing": { - "message": "Secure data sharing" + "message": "Sekura kundivido de datumo" }, "eventLogMonitoring": { "message": "Event log monitoring" @@ -9982,7 +9997,7 @@ "message": "Unlimited secrets storage" }, "unlimitedUsers": { - "message": "Unlimited users" + "message": "Senlimaj uzantoj" }, "UpTo50MachineAccounts": { "message": "Up to 50 machine accounts" @@ -9991,32 +10006,32 @@ "message": "Up to 20 machine accounts" }, "current": { - "message": "Current" + "message": "Kuranta" }, "secretsManagerSubscriptionInfo": { "message": "Your Secrets Manager subscription will upgrade based on the plan selected" }, "bitwardenPasswordManager": { - "message": "Bitwarden Password Manager" + "message": "Pasvorto-Administrilo Bitwarden" }, "secretsManagerComplimentaryPasswordManager": { "message": "Your complimentary one year Password Manager subscription will upgrade to the selected plan. You will not be charged until the complimentary period is over." }, "fileSavedToDevice": { - "message": "File saved to device. Manage from your device downloads." + "message": "La dosiero konserviĝis en la aparato. Administri de via aparato la elŝutojn." }, "publicApi": { - "message": "Public API", + "message": "Publika API", "description": "The text, 'API', is an acronym and should not be translated." }, "showCharacterCount": { - "message": "Show character count" + "message": "Montri la nombron de signoj" }, "hideCharacterCount": { - "message": "Hide character count" + "message": "Kaŝi nombrigon de signoj" }, "editAccess": { - "message": "Edit access" + "message": "Redakti aliron" }, "textHelpText": { "message": "Use text fields for data like security questions" @@ -10034,7 +10049,7 @@ "message": "Enter the the field's html id, name, aria-label, or placeholder." }, "uppercaseDescription": { - "message": "Include uppercase characters", + "message": "Inkluzive la majusklajn literojn", "description": "Tooltip for the password generator uppercase character checkbox" }, "uppercaseLabel": { @@ -10042,7 +10057,7 @@ "description": "Label for the password generator uppercase character checkbox" }, "lowercaseDescription": { - "message": "Include lowercase characters", + "message": "Inkluzive minusklajn literojn", "description": "Full description for the password generator lowercase character checkbox" }, "lowercaseLabel": { @@ -10050,7 +10065,7 @@ "description": "Label for the password generator lowercase character checkbox" }, "numbersDescription": { - "message": "Include numbers", + "message": "Inkluzive la numerojn", "description": "Full description for the password generator numbers checkbox" }, "numbersLabel": { @@ -10058,14 +10073,14 @@ "description": "Label for the password generator numbers checkbox" }, "specialCharactersDescription": { - "message": "Include special characters", + "message": "Inkluzive specialajn signojn", "description": "Full description for the password generator special characters checkbox" }, "addAttachment": { - "message": "Add attachment" + "message": "Aldoni aldonaĵon" }, "maxFileSizeSansPunctuation": { - "message": "Maximum file size is 500 MB" + "message": "La maksimuma dosiergrando estas 500 MB" }, "permanentlyDeleteAttachmentConfirmation": { "message": "Are you sure you want to permanently delete this attachment?" @@ -10087,7 +10102,7 @@ "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." }, "deleteOrganizationUser": { - "message": "Delete $NAME$", + "message": "Fo", "placeholders": { "name": { "content": "$1", @@ -10162,7 +10177,7 @@ "message": "This action is not applicable to any of the selected members." }, "deletedSuccessfully": { - "message": "Deleted successfully" + "message": "Sukcesis foriĝi" }, "freeFamiliesSponsorship": { "message": "Remove Free Bitwarden Families sponsorship" @@ -10231,7 +10246,7 @@ "message": "Claimed" }, "domainStatusUnderVerification": { - "message": "Under verification" + "message": "Sub aŭtentigo" }, "claimedDomainsDesc": { "message": "Claim a domain to own all member accounts whose email address matches the domain. Members will be able to skip the SSO identifier when logging in. Administrators will also be able to delete member accounts." @@ -10289,19 +10304,19 @@ "message": "Key rotation successful" }, "rotationCompletedDesc": { - "message": "Your master password and encryption keys have been updated. Your other devices have been logged out." + "message": "Viaj ĉefa pasvorto kaj ĉifraj ŝlosiloj estas ĝisdatigitaj. Viaj aliaj aparatoj estas adiaŭintaj." }, "trustUserEmergencyAccess": { - "message": "Trust and confirm user" + "message": "Fidi kaj konfirmi uzanton" }, "trustOrganization": { - "message": "Trust organization" + "message": "Fidi organizon" }, "trust": { - "message": "Trust" + "message": "Fidi" }, "doNotTrust": { - "message": "Do not trust" + "message": "Ne fidi" }, "organizationNotTrusted": { "message": "Organization is not trusted" @@ -10316,22 +10331,22 @@ "message": "This organization has an Enterprise policy that will enroll you in account recovery. Enrollment will allow organization administrators to change your password. Only proceed if you recognize this organization and the fingerprint phrase displayed below matches the organization's fingerprint." }, "trustUser": { - "message": "Trust user" + "message": "Fidi uzanton" }, "sshKeyWrongPassword": { - "message": "The password you entered is incorrect." + "message": "La pasvorto kiun vi enmetis estas neĝusta." }, "importSshKey": { - "message": "Import" + "message": "Enporti" }, "confirmSshKeyPassword": { - "message": "Confirm password" + "message": "Konfirmu la pasvorton" }, "enterSshKeyPasswordDesc": { - "message": "Enter the password for the SSH key." + "message": "Enmetu la pasvorton por la SSH-ŝlosilo." }, "enterSshKeyPassword": { - "message": "Enter password" + "message": "Enmetu la pasvorton" }, "invalidSshKey": { "message": "The SSH key is invalid" @@ -10358,13 +10373,13 @@ "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." }, "openExtension": { - "message": "Open extension" + "message": "Malfermi etendaĵon" }, "doNotHaveExtension": { "message": "Don't have the Bitwarden browser extension?" }, "installExtension": { - "message": "Install extension" + "message": "Instali etendaĵon" }, "openedExtension": { "message": "Opened the browser extension" @@ -10377,7 +10392,7 @@ "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" }, "openExtensionManuallyPart2": { - "message": "from the toolbar.", + "message": "el la ilarbreto", "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" }, "resellerRenewalWarningMsg": { @@ -10427,7 +10442,7 @@ "message": "Organization subscription restarted" }, "restartSubscription": { - "message": "Restart your subscription" + "message": "Rekomenci vian abonon" }, "suspendedManagedOrgMessage": { "message": "Contact $PROVIDER$ for assistance.", @@ -10461,7 +10476,7 @@ } }, "existingOrganization": { - "message": "Existing organization" + "message": "Ekzistanta organizo" }, "selectOrganizationProviderPortal": { "message": "Select an organization to add to your Provider Portal." @@ -10591,9 +10606,12 @@ "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "restart": { - "message": "Restart" + "message": "Relanĉi" }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/es/messages.json b/apps/web/src/locales/es/messages.json index e0d864a4041..a535b45e721 100644 --- a/apps/web/src/locales/es/messages.json +++ b/apps/web/src/locales/es/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Aplicación" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Una vez actualices tu clave de cifrado, será necesario que cierres sesión y vuelvas a identificarte en todas las aplicaciones de Bitwarden que estés utilizando (como la aplicación móvil o la extensión de navegador). Si la reautenticación falla (la cual descargaría la nueva clave de cifrad) puede producirse corrupción de datos. Intentaremos cerrar tu sesión automáticamente, pero puede tardar un tiempo." }, - "updateEncryptionKeyExportWarning": { - "message": "Cualquier exportación cifrada que hayas guardado también será inválida." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Suscripción" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/et/messages.json b/apps/web/src/locales/et/messages.json index d8e075ce3f9..9ed4db4b0e3 100644 --- a/apps/web/src/locales/et/messages.json +++ b/apps/web/src/locales/et/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Pärast krüpteerimisvõtme uuendamist pead kõikides seadmetes, kus Bitwardeni rakendust kasutad, oma kontosse uuesti sisse logima (nt nutitelefonis ja brauseris). Välja- ja sisselogimise (mis ühtlasi laadib ka uue krüpteerimisvõtme) nurjumine võib tingida andmete riknemise. Üritame sinu seadmetest ise välja logida, aga see võib võtta natukene aega." }, - "updateEncryptionKeyExportWarning": { - "message": "Mistahes krüpteeritud, eksporditud andmed muutuvad samuti vigaseks." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Tellimus" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/eu/messages.json b/apps/web/src/locales/eu/messages.json index e2a37a355f0..29f132852eb 100644 --- a/apps/web/src/locales/eu/messages.json +++ b/apps/web/src/locales/eu/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Zifratze-gakoa eguneratu ondoren, saioa hasi eta erabiltzen ari zaren Bitwarden aplikazio guztietara itzuli behar duzu (adibidez, aplikazio mugikorra edo nabigatzailearen gehigarriak). Saioa berriro hasteak huts egiten badu (zifratze-gako berria deskargatzea dakar) datuen korrupzioa ekar lezake. Automatikoki saioa ixten saiatuko gara, baina atzeratu egin daiteke." }, - "updateEncryptionKeyExportWarning": { - "message": "Gorde duzun edozein esportazio zifratu ez da baliozkoa izango." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Harpidetza" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/fa/messages.json b/apps/web/src/locales/fa/messages.json index 2135782c1bf..2fbacc8dca2 100644 --- a/apps/web/src/locales/fa/messages.json +++ b/apps/web/src/locales/fa/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "پس از به‌روزرسانی کلید رمزگذاری، باید از سیستم خارج شوید و دوباره به همه برنامه‌های Bitwarden که در حال حاضر استفاده می‌کنید (مانند برنامه تلفن همراه یا برنامه‌های افزودنی مرورگر) وارد شوید. عدم خروج و ورود مجدد (که کلید رمزگذاری جدید شما را دانلود می‌کند) ممکن است منجر به خراب شدن داده‌ها شود. ما سعی خواهیم کرد شما را به طور خودکار از سیستم خارج کنیم، اما ممکن است با تأخیر انجام شود." }, - "updateEncryptionKeyExportWarning": { - "message": "هر برون ریزی رمزگذاری شده ای که ذخیره کرده اید نیز نامعتبر خواهد بود." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "اشتراک" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/fi/messages.json b/apps/web/src/locales/fi/messages.json index 980eb4752bf..83efcc197fc 100644 --- a/apps/web/src/locales/fi/messages.json +++ b/apps/web/src/locales/fi/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Merkitse sovellus kriittiseksi" }, - "appsMarkedAsCritical": { - "message": "Kriittisiksi merkityt sovellukset" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Sovellus" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Jäseniä yhteensä" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Salausavaimesi päivityksen jälkeen, sinun tulee kirjautua ulos ja sitten takaisin sisään kaikissa Bitwarden-sovelluksissa, jotka ovat käytössäsi (esim. mobiilisovellus ja selainlaajennukset). Uudelleenkirjautumisen (joka lataa uuden salausavaimen) suorittamatta jättäminen saattaa johtaa tietojen vaurioitumiseen. Yritämme kirjata sinut ulos autmaattisesti, mutta tämä voi tapahtua vasta jonkin ajan kuluttua." }, - "updateEncryptionKeyExportWarning": { - "message": "Tallentamistasi salatuista vienneistä tulee käyttökelvottomia." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Tilaus" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/fil/messages.json b/apps/web/src/locales/fil/messages.json index fb423cd51da..15e0793d6ce 100644 --- a/apps/web/src/locales/fil/messages.json +++ b/apps/web/src/locales/fil/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Matapos i update ang iyong key sa pag encrypt, kinakailangan kang mag log out at bumalik sa lahat ng mga application ng Bitwarden na kasalukuyang ginagamit mo (tulad ng mobile app o mga extension ng browser). Ang kabiguan na mag log out at bumalik sa (na nag download ng iyong bagong key ng pag encrypt) ay maaaring magresulta sa pagkasira ng data. Susubukan naming awtomatikong mag log out sa iyo, gayunpaman, maaari itong maantala." }, - "updateEncryptionKeyExportWarning": { - "message": "Ang anumang naka encrypt na pag export na iyong nai save ay magiging hindi wasto din." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subskripsyon" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/fr/messages.json b/apps/web/src/locales/fr/messages.json index cfb7692b2c6..39fe5b3c1cf 100644 --- a/apps/web/src/locales/fr/messages.json +++ b/apps/web/src/locales/fr/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Marquer l'application comme critique" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Applications marquées comme critiques" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Ces membres se connectent à des applications avec des mots de passe faibles, exposés ou réutilisés." }, + "atRiskMembersDescriptionNone": { + "message": "Aucun membre ne se connecte dans des applications avec des mots de passe faibles, exposés ou réutilisés." + }, "atRiskApplicationsDescription": { "message": "Ces applications ont des mots de passe faibles, exposés ou réutilisés." }, + "atRiskApplicationsDescriptionNone": { + "message": "Il n'y a aucune application avec des mots de passe faibles, exposés ou réutilisés." + }, "atRiskMembersDescriptionWithApp": { "message": "Ces membres se connectent à $APPNAME$ avec des mots de passe faibles, exposés ou réutilisés.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Il n'y a pas de membre à risque pour $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total des membres" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Après avoir mis à jour votre clé de chiffrement, vous devez vous déconnecter et vous reconnecter à toutes les applications Bitwarden que vous utilisez actuellement (comme l'application mobile ou les extensions de navigateur). Si vous ne vous déconnectez pas et ne vous reconnectez pas (ce qui télécharge votre nouvelle clé de chiffrement), cela peut entraîner une corruption des données. Nous tenterons de vous déconnecter automatiquement, mais cela peut être retardé." }, - "updateEncryptionKeyExportWarning": { - "message": "Tous les exports chiffrés que vous avez enregistrés deviendront également invalides." + "updateEncryptionKeyAccountExportWarning": { + "message": "Toutes les exportations restreintes du compte que vous avez enregistrées seront invalides." }, "subscription": { "message": "Abonnement" @@ -10545,7 +10560,7 @@ "message": "Gagnez du temps avec le remplissage automatique" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "Inclure un", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Le paiement avec un compte bancaire est seulement disponible pour les clients aux États-Unis. Vous devrez procéder à la vérification de votre compte bancaire. Nous effectuerons un micro-dépôt dans les 1-2 prochains jours ouvrables. Entrez le code de la transaction de ce dépôt sur la page d'abonnement de votre fournisseur pour compléter la vérification du compte bancaire. Si vous ne complétez pas la vérification de votre compte bancaire résultera en un paiement manqué et votre abonnement sera suspendu." + }, + "clickPayWithPayPal": { + "message": "Veuillez cliquer sur le bouton Payer avec PayPal pour ajouter votre mode de paiement." } } diff --git a/apps/web/src/locales/gl/messages.json b/apps/web/src/locales/gl/messages.json index df8a0ac6d1c..eae36865876 100644 --- a/apps/web/src/locales/gl/messages.json +++ b/apps/web/src/locales/gl/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/he/messages.json b/apps/web/src/locales/he/messages.json index 006b3ad7a2d..286276f96e5 100644 --- a/apps/web/src/locales/he/messages.json +++ b/apps/web/src/locales/he/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "סמן יישום כקריטי" }, - "appsMarkedAsCritical": { - "message": "יישומים המסומנים כקריטיים" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "יישום" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "חברים אלה נכנסו אל יישומים עם סיסמאות חלשות, חשופות, או משומשות." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "ליישומים האלה יש סיסמאות חלשות, חשופות, או משומשות." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "החברים האלה נכנסו אל $APPNAME$ עם סיסמאות חלשות, חשופות, או משומשות.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "סה\"כ חברים" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "לאחר עדכון מפתחות ההצפנה שלך, תתבקש לצאת ולהכנס שוב בכל אפליקציות Bitwarden שאתה משתמש בהן (האפליקציה לפלאפון או ההרחבה לדפדפן). אם לא תצא ותכנס שוב (פעולת הכניסה מורידה את המפתח החדש), יתכן שתתקל במידע שגוי. אנו ננסה לגרום ליציאה אוטומטית, אך יתכן שהדבר לא יקרה מיידית." }, - "updateEncryptionKeyExportWarning": { - "message": "כל הייצואים המוצפנים ששמרת יהפכו גם הם ללא תקפים." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "מנוי" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/hi/messages.json b/apps/web/src/locales/hi/messages.json index c992999631d..dd2073a924f 100644 --- a/apps/web/src/locales/hi/messages.json +++ b/apps/web/src/locales/hi/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/hr/messages.json b/apps/web/src/locales/hr/messages.json index e858dfb0fa6..4f1c4c981b2 100644 --- a/apps/web/src/locales/hr/messages.json +++ b/apps/web/src/locales/hr/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Označi aplikacije kao kritične" }, - "appsMarkedAsCritical": { - "message": "Aplikacije označene kao kritične" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Aplikacija" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Ovi članovi se prijavljuju u aplikacije slabim, izloženim ili ponovno korištenim lozinkama." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Ove aplikacije imaju slabe, izložene ili ponovno korištene lozinke." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Ovi članovi se u $APPNAME$ prijavljuju slabim, izloženim ili ponovno korištenim lozinkama.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Ukupno korisnika" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Nakon ažuriranja svojeg ključa za šifriranje, obavezno se trebaš odjaviti i ponovno prijaviti u sve Bitwarden aplikacije koje trenutno koristiš (npr. mobilna aplikacija, proširenje preglednika, ...). Ako se ne odjaviš i ponovno prijaviš (čime se preuzima tvoj novi ključ za šifriranje) može doći do oštećenja spremljenih podataka. Pokušati ćemo te automatski odjaviti, no, to bi možda moglo potrajati." }, - "updateEncryptionKeyExportWarning": { - "message": "Svi spremljeni šifrirani izvozi također će postati nevažeći." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Pretplata" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/hu/messages.json b/apps/web/src/locales/hu/messages.json index d01bebf1511..12fd95bbbaa 100644 --- a/apps/web/src/locales/hu/messages.json +++ b/apps/web/src/locales/hu/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Alkalmazások megjelölése kritikusként" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Kritikusként megjelölt alkalmazások" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Ezek a tagok gyenge, nyílt vagy újrafelhasznált jelszavakkal jelentkeznek be az alkalmazásokba." }, + "atRiskMembersDescriptionNone": { + "message": "Ezek nem olyan tagok, akik gyenge, kitett vagy újrafelhasznált jelszavakkal jelentkeznek be az alkalmazásokba." + }, "atRiskApplicationsDescription": { "message": "Ezeknél az alkalmazásoknál gyenge, nyílt vagy újra felhasznált jelszavak vannak." }, + "atRiskApplicationsDescriptionNone": { + "message": "Ezek nem gyenge, kitett vagy újrafelhasznált jelszavakkal rendelkező alkalmazások." + }, "atRiskMembersDescriptionWithApp": { "message": "Ezek a tagok gyenge, nyilvános vagy újrahasznált jelszavakkal jelentkeznek be $APPNAME$ alkalmazásba.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Nincsenek veszélyeztetett tagok $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Összes tagok száma" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "A titkosítási kulcs frissítése után ki kell jelentkezni és vissza kell jelentkezni az összes jelenleg használt Bitwarden alkalmazásba (például a mobilalkalmazás vagy a böngésző bővítmények). A kijelentkezés és a bejelentkezés elmulasztása (amely letölti az új titkosítási kulcsot) adatvesztést okozhat. Megkíséreljük az automatikusan kijelentkeztetést, azonban ez késhet." }, - "updateEncryptionKeyExportWarning": { - "message": "Az el nem mentett titkosított exportok szintén érvénytelenné válnak." + "updateEncryptionKeyAccountExportWarning": { + "message": "A fiókhoz korlátozottan mentett exportálások érvénytelenek lesznek." }, "subscription": { "message": "Előfizetés" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "A bankszámlával történő fizetés csak az Egyesült Államokban élő ügyfelek számára érhető el. A bankszámlát igazolni kell. A fejlesztők a következő 1-2 munkanapon belül mikrobetétet teljesítenek. A bankszámla ellenőrzéséhez írjuk be az utalás leíró kódját a szervezet számlázási oldalán. Ha elmulasztjuk a bankszámla igazolását, az a fizetés elmaradását és az előfizetés felfüggesztését vonja maga után." + }, + "clickPayWithPayPal": { + "message": "Kattintás a Pay with PayPal gombra a fizetési mód hozzáadásához." } } diff --git a/apps/web/src/locales/id/messages.json b/apps/web/src/locales/id/messages.json index 9dbcf72db0c..3706fb73f63 100644 --- a/apps/web/src/locales/id/messages.json +++ b/apps/web/src/locales/id/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Aplikasi" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Jumlah Anggota" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Setelah memperbarui kunci enkripsi Anda, Anda diminta untuk keluar dan masuk kembali ke semua aplikasi Bitwarden yang saat ini Anda gunakan (seperti aplikasi seluler atau ekstensi browser). Kegagalan untuk keluar dan masuk kembali (yang mengunduh kunci enkripsi baru Anda) dapat menyebabkan kerusakan data. Kami akan mencoba mengeluarkan Anda secara otomatis, namun, hal itu mungkin tertunda." }, - "updateEncryptionKeyExportWarning": { - "message": "Ekspor terenkripsi apa pun yang telah Anda simpan juga akan menjadi tidak valid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Langganan" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/it/messages.json b/apps/web/src/locales/it/messages.json index 88621ed6753..a30c1f81f93 100644 --- a/apps/web/src/locales/it/messages.json +++ b/apps/web/src/locales/it/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Contrassegna l'applicazione come critica" }, - "appsMarkedAsCritical": { - "message": "Contrassegna le applicazioni selezionate come critiche" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Applicazione" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Questi membri accedono ad applicazioni con parole d'accesso deboli, esposte, o riutilizzate." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Queste applicazioni hanno parole d'accesso deboli, esposte o riutilizzate." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Questi membri stanno entrando in $APPNAME$ con parole d'accesso deboli, esposte, o riutilizzate.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Membri totali" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Dopo aver aggiornato la tua chiave di crittografia, devi uscire ed entrare di nuovo in tutte le app Bitwarden che stai usando (come l'app mobile o l'estensione del browser). Se non si esce e rientra (per scaricare la nuova chiave di crittografia) i dati della tua cassaforte potrebbero essere danneggiati. Cercheremo di farti uscire automaticamente, ma potrebbe esserci un ritardo." }, - "updateEncryptionKeyExportWarning": { - "message": "Anche le esportazioni crittografate che hai salvato non saranno più valide." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Abbonamento" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ja/messages.json b/apps/web/src/locales/ja/messages.json index 969636661de..1bb8bf364b0 100644 --- a/apps/web/src/locales/ja/messages.json +++ b/apps/web/src/locales/ja/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "重要なアプリとしてマーク" }, - "appsMarkedAsCritical": { - "message": "重要なアプリとしてマークされました" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "アプリ" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "これらのメンバーは、脆弱な、または流出したか再利用されたパスワードでアプリにログインしています。" }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "これらのアプリで、脆弱な、または流出したか再利用されたパスワードを使用しています。" }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "これらのメンバーは、脆弱な、または流出したか再利用されたパスワードで $APPNAME$ にログインしています。", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "合計メンバー数" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "暗号化キーの更新後は、モバイルアプリやブラウザ拡張機能など現在利用中のすべてのBitwardenアプリで再ログインが必要となります。再ログインしないと(新しい暗号化キーをダウンロードすると)データが破損する可能性があります。自動的にログアウトを試みますが、遅延することがあります。" }, - "updateEncryptionKeyExportWarning": { - "message": "保存済みの暗号化されたエクスポートも無効になります。" + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "契約" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ka/messages.json b/apps/web/src/locales/ka/messages.json index 16f409b2fd9..72e9066806c 100644 --- a/apps/web/src/locales/ka/messages.json +++ b/apps/web/src/locales/ka/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/km/messages.json b/apps/web/src/locales/km/messages.json index 98095db6c1b..38740c78cba 100644 --- a/apps/web/src/locales/km/messages.json +++ b/apps/web/src/locales/km/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/kn/messages.json b/apps/web/src/locales/kn/messages.json index ace7d07e903..2758b022b64 100644 --- a/apps/web/src/locales/kn/messages.json +++ b/apps/web/src/locales/kn/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "ನಿಮ್ಮ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕೀಲಿಯನ್ನು ನವೀಕರಿಸಿದ ನಂತರ, ನೀವು ಪ್ರಸ್ತುತ ಬಳಸುತ್ತಿರುವ (ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಬ್ರೌಸರ್ ವಿಸ್ತರಣೆಗಳಂತಹ) ಎಲ್ಲಾ ಬಿಟ್‌ವಾರ್ಡೆನ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ನೀವು ಲಾಗ್ ಔಟ್ ಮತ್ತು ಬ್ಯಾಕ್ ಇನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಲಾಗ್ and ಟ್ ಮಾಡಲು ಮತ್ತು ಹಿಂತಿರುಗಲು ವಿಫಲವಾದರೆ (ಅದು ನಿಮ್ಮ ಹೊಸ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕೀಲಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ) ಡೇಟಾ ಭ್ರಷ್ಟಾಚಾರಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು. ನಾವು ನಿಮ್ಮನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಗ್ ಔಟ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ, ಆದಾಗ್ಯೂ, ಇದು ವಿಳಂಬವಾಗಬಹುದು." }, - "updateEncryptionKeyExportWarning": { - "message": "ನೀವು ಉಳಿಸಿದ ಯಾವುದೇ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ರಫ್ತು ಸಹ ಅಮಾನ್ಯವಾಗುತ್ತದೆ." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "ಚಂದಾದಾರಿಕೆ" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ko/messages.json b/apps/web/src/locales/ko/messages.json index b13e89d0f69..ee089584adf 100644 --- a/apps/web/src/locales/ko/messages.json +++ b/apps/web/src/locales/ko/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "암호화 키를 업데이트하고난 후 현재 사용 중인 모든 Bitwarden 애플리케이션(예. 모바일 앱 혹은 브라우저 확장 기능)에서 로그아웃 후 다시 로그인해야 합니다. 재로그인하지 않으면 (새 암호화 키를 다운로드받는 경우) 데이터 손실이 발생할 수 있습니다. 자동으로 로그아웃을 시도하지만 지연될 수 있습니다." }, - "updateEncryptionKeyExportWarning": { - "message": "이전에 암호화 상태로 내보내기하여 저장한 데이터도 무효화됩니다." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "구독" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/lv/messages.json b/apps/web/src/locales/lv/messages.json index 0f259e7aced..61ff8651c72 100644 --- a/apps/web/src/locales/lv/messages.json +++ b/apps/web/src/locales/lv/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Atzīmēt lietotni kā kritisku" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Lietotnes, kas atzīmētas kā kritiskas" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Šie dalībnieki piesakās lietotnēs ar vājām, atklātām vai atkārtoti izmantotām parolēm." }, + "atRiskMembersDescriptionNone": { + "message": "Nav dalībnieku, kas piesakās lietotnēs ar vājām, atklātām vai atkārtoti izmantotām parolēm." + }, "atRiskApplicationsDescription": { "message": "Šīm lietotnēm ir vājas, atklātas vai atkārtoti izmantotas paroles." }, + "atRiskApplicationsDescriptionNone": { + "message": "Nav lietotņu ar vājām, atklātām vai atkārtoti izmantotām parolēm." + }, "atRiskMembersDescriptionWithApp": { "message": "Šie dalībnieki piesakās $APPNAME$ ar vājām, atklātām vai atkārtoti izmantotām parolēm.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "$APPNAME$ nav riskam pakļautu dalībnieku.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Kopējais dalībnieku skaits" }, @@ -411,10 +426,10 @@ "message": "Padarīt divpakāpju apliecināšanu plūdenu" }, "totpHelper": { - "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecināšanas kodus. Atslēga jāievieto starpliktuvē un jāielīmē šajā laukā." + "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecinājuma kodus. Atslēga jāievieto starpliktuvē un jāielīmē šajā laukā." }, "totpHelperWithCapture": { - "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecināšanas kodus. Jāizvēlas kameras ikona, lai veiktu tīmekļvietnes autentificētāja kvadrātkoda ekrānuzņēmumu, vai jāievieto starpliktuvē atslēga un jāielīmē šajā laukā." + "message": "Bitwarden var glabāt un aizpildīt divpakāpju apliecinājuma kodus. Jāizvēlas kameras ikona, lai veiktu tīmekļvietnes autentificētāja kvadrātkoda ekrānuzņēmumu, vai jāievieto starpliktuvē atslēga un jāielīmē šajā laukā." }, "learnMoreAboutAuthenticators": { "message": "Uzzināt vairāk par autentificētājiem" @@ -1430,7 +1445,7 @@ } }, "verificationCodeEmailSent": { - "message": "E-pasts apstiprināšanai nosūtīts uz $EMAIL$.", + "message": "Apliecinājuma e-pasta ziņojums nosūtīts uz $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -1563,10 +1578,10 @@ } }, "verificationCodeTotp": { - "message": "Apstiprinājuma kods (TOTP)" + "message": "Apliecinājuma kods (TOTP)" }, "copyVerificationCode": { - "message": "Ievietot apstiprinājuma kodu starpliktuvē" + "message": "Ievietot apliecinājuma kodu starpliktuvē" }, "copyUuid": { "message": "Ievietot UUID starpliktuvē" @@ -1761,7 +1776,7 @@ "message": "Kods" }, "changeEmailDesc": { - "message": "Uz e-pasta adresi $EMAIL$ ir nosūtīts apstiprinājuma kods. Lūgums pārbaudīt e-pastu, vai tas ir saņemts, un ievadīt kodu zemāk esošajā laukā, lai pabeigtu e-pasta adreses maiņu.", + "message": "Uz e-pasta adresi $EMAIL$ ir nosūtīts apliecinājums kods. Lūgums pārbaudīt e-pastu, vai tas ir saņemts, un ievadīt kodu zemāk esošajā laukā, lai pabeigtu e-pasta adreses nomaiņu.", "placeholders": { "email": { "content": "$1", @@ -1870,13 +1885,13 @@ "message": "Ieslēgt pieteikšanās jaunā ierīcē aizsardzību" }, "turnOffNewDeviceLoginProtectionModalDesc": { - "message": "Turpināt zemāk, lai izslēgtu apliecināšanas e-pasta ziņojumus, ko Bitwarden sūta, kad notiek pieteikšanās jaunā ierīcē." + "message": "Turpināt zemāk, lai izslēgtu apliecinājuma e-pasta ziņojumus, ko Bitwarden sūta, kad notiek pieteikšanās jaunā ierīcē." }, "turnOnNewDeviceLoginProtectionModalDesc": { - "message": "Turpināt zemāk, lai Bitwarden sūtītu apliecināšanas e-pasta ziņojumus, kad notiek pieteikšanās jaunā ierīcē." + "message": "Turpināt zemāk, lai Bitwarden sūtītu apliecinājuma e-pasta ziņojumus, kad notiek pieteikšanās jaunā ierīcē." }, "turnOffNewDeviceLoginProtectionWarning": { - "message": "Ar izslēgtu pieteikšanās jaunā ierīcē aizsardzību ikviens ar Tavu galveno paroli var piekļūt kontam no jebkuras ierīces. Lai aizsargātu savu kontu bez apliecināšanas e-pasta ziņojumiem, jāiestata divpakāpju pieteikšanās." + "message": "Ar izslēgtu pieteikšanās jaunā ierīcē aizsardzību ikviens ar Tavu galveno paroli var piekļūt kontam no jebkuras ierīces. Lai aizsargātu savu kontu bez apliecinājuma e-pasta ziņojumiem, jāiestata divpakāpju pieteikšanās." }, "accountNewDeviceLoginProtectionSaved": { "message": "Pieteikšanās jaunā ierīcē aizsardzības izmaiņas saglabātas" @@ -2348,10 +2363,10 @@ "message": "Jāizpilda šie soļi, lai uzstādītu divpakāpju pieteikšanos ar e-pastu:" }, "twoFactorEmailEnterEmail": { - "message": "Ievadīt e-pasta adresi, uz kuru saņemt apstiprināšanas kodus" + "message": "Ievadīt e-pasta adresi, kurā saņemt apliecinājuma kodus" }, "twoFactorEmailEnterCode": { - "message": "Jāievada e-pastā saņemtais 6 ciparu apstiprinājuma kods" + "message": "Jāievada e-pastā saņemtais 6 ciparu apliecinājuma kods" }, "sendEmail": { "message": "Nosūtīt e-pastu" @@ -2696,7 +2711,7 @@ "message": "Paroļu higiēnas, konta veselības un datu noplūžu pārskati, lai uzturētu glabātavu drošu." }, "premiumSignUpTotp": { - "message": "TOTP apstiprinājuma koda (2FA) veidotājs glabātavas pieteikšanās vienumiem." + "message": "TOTP apliecinājuma koda (2FA) veidotājs glabātavas pieteikšanās vienumiem." }, "premiumSignUpSupport": { "message": "Priekšrocīgs lietotāju atbalsts." @@ -4046,7 +4061,7 @@ "message": "Vispirms ir jāapstiprina konta e-pasta adrese." }, "checkInboxForVerification": { - "message": "E-pasta iesūtnē jāmeklē ziņojums ar apstiprinājuma saiti." + "message": "E-pasta iesūtnē jāmeklē ziņojums ar apliecinājuma saiti." }, "emailVerified": { "message": "E-pasta adrese ir apstiprināta." @@ -4055,13 +4070,13 @@ "message": "E-pasta adrese ir apliecināta" }, "emailVerifiedFailed": { - "message": "Nevar apstiprināt e-pasta adresi. Var mēģināt sūtīt atkārtotu apstiprinājuma e-pasta ziņojumu." + "message": "Nevar apliecināt e-pasta adresi. Jāmēģina nosūtīt jaunu apliecinājuma e-pasta ziņojumu." }, "emailVerificationRequired": { - "message": "Nepieciešama e-pasta adreses apstiprināšana" + "message": "Nepieciešama e-pasta adreses apliecināšana" }, "emailVerificationRequiredDesc": { - "message": "Ir jāapstiprina e-pasta adrese, lai izmantotu šo iespēju." + "message": "Ir jāapliecina sava e-pasta adrese, lai izmantotu šo iespēju." }, "updateBrowser": { "message": "Atjaunināt pārlūku" @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Pēc šifrēšanas atslēgas atjaunināšanas ir nepieciešams atteikties un tad pieteikties visās Bitwarden lietotnēs, kas pašreiz tiek izmantotas (piemēram, tālruņa lietotnē vai pārlūku paplašinājumā). Ja tas netiks darīts (tā tiek lejupielādēta jaunā šifrēšanas atslēga), dati var tikt bojāti. Tiks veikts automātisks atteikšanās mēģinājums, tomēr tas var notikt ar aizkavi." }, - "updateEncryptionKeyExportWarning": { - "message": "Arī katra šifrētā izguve, kas ir saglabāta, kļūs nederīga." + "updateEncryptionKeyAccountExportWarning": { + "message": "Jebkuras konta ierobežotās izguves, kas ir saglabātas, kļūs nederīgas." }, "subscription": { "message": "Abonements" @@ -6438,7 +6453,7 @@ "message": "Key Connector URL" }, "sendVerificationCode": { - "message": "Sūtīt apstiprinājuma kodu uz e-pastu" + "message": "Nosūtīt apliecinājuma kodu e-pastā" }, "sendCode": { "message": "Nosūtīt kodu" @@ -6447,19 +6462,19 @@ "message": "Kods nosūtīts" }, "verificationCode": { - "message": "Apstiprinājuma kods" + "message": "Apliecinājuma kods" }, "confirmIdentity": { "message": "Jāapstiprina identitāte, lai turpinātu." }, "verificationCodeRequired": { - "message": "Ir nepieciešams apstiprinājuma kods." + "message": "Apliecinājuma kods ir nepieciešams." }, "webauthnCancelOrTimeout": { "message": "Autentifikācija tika atcelta vai tā aizņēma pārāk daudz laika. Lūgums mēģināt vēlreiz." }, "invalidVerificationCode": { - "message": "Nederīgs apstiprinājuma kods" + "message": "Nederīgs apliecinājuma kods" }, "convertOrganizationEncryptionDesc": { "message": "$ORGANIZATION$ izmanto vienoto pieteikšanos ar pašmitinātu atslēgu serveri. Tās dalībniekiem vairs nav nepieciešama galvenā parole, lai pieteiktos.", @@ -7090,19 +7105,19 @@ "description": "Part of a URL." }, "deviceVerification": { - "message": "Ierīces apstiprināšana" + "message": "Ierīces apliecināšana" }, "enableDeviceVerification": { - "message": "Iespējot ierīces apstiprināšanu" + "message": "Iespējot ierīces apliecināšanu" }, "deviceVerificationDesc": { - "message": "Kad iespējots, apstiprinājuma kodi tiek sūtīti uz e-pasta adresi, kad notiek pieteikšanās no neatpazītas ierīces" + "message": "Kad iespējots, apliecinājuma kodi tiek sūtīti uz e-pasta adresi, kad notiek pieteikšanās no neatpazītas ierīces" }, "updatedDeviceVerification": { - "message": "Atjaunināta ierīces apstiprināšana" + "message": "Atjaunināta ierīces apliecināšana" }, "areYouSureYouWantToEnableDeviceVerificationTheVerificationCodeEmailsWillArriveAtX": { - "message": "Vai tiešām vēlaties ieslēgt ierīces verifikāciju? Verifikācijas koda e-pasta ziņojumi tiks nosūtīti uz: $EMAIL$", + "message": "Vai tiešām ieslēgt ierīces apliecināšanu? Apliecinājuma koda e-pasta ziņojumi tiks nosūtīti uz: $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -7813,7 +7828,7 @@ "message": "Kopa" }, "domainVerification": { - "message": "Domēna apstiprināšana" + "message": "Domēna apliecināšana" }, "newDomain": { "message": "Jauns domēns" @@ -7891,7 +7906,7 @@ } }, "verificationRequiredForActionSetPinToContinue": { - "message": "Šai darbībai ir nepieciešama apliecināšana. Jāiestata PIN, lai turpinātu." + "message": "Šai darbībai ir nepieciešama apliecinājums. Jāiestata PIN, lai turpinātu." }, "setPin": { "message": "Iestatīt PIN" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Apmaksa ar bankas kontu ir pieejama tikai klientiem Savienotajās Valstīs. Būs nepieciešams apliecināt savu bankas kontu. Mēs veiksim sīkiemaksu nākamās darba dienas vai divu laikā. Pēc tam šīs iemaksas uzdevuma aprakstā esošais kods būs jāievada pakalpojuma sniedzēja abonēšanas lapā, lai apliecinātu bankas kontu. Bankas konta apliecināšanas neveikšana beigsies ar nokavētu maksājumu un apturētu abonementu." + }, + "clickPayWithPayPal": { + "message": "Lūgums klikšķināt pogu \"Apmaksāt ar PayPal, lai pievienotu savu maksājumu veidu." } } diff --git a/apps/web/src/locales/ml/messages.json b/apps/web/src/locales/ml/messages.json index f7f012bce15..dd4ca0b94cf 100644 --- a/apps/web/src/locales/ml/messages.json +++ b/apps/web/src/locales/ml/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "സബ്സ്ക്രിപ്ഷൻ" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/mr/messages.json b/apps/web/src/locales/mr/messages.json index 98095db6c1b..38740c78cba 100644 --- a/apps/web/src/locales/mr/messages.json +++ b/apps/web/src/locales/mr/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/my/messages.json b/apps/web/src/locales/my/messages.json index 98095db6c1b..38740c78cba 100644 --- a/apps/web/src/locales/my/messages.json +++ b/apps/web/src/locales/my/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/nb/messages.json b/apps/web/src/locales/nb/messages.json index f0e96f25a16..93df01f3440 100644 --- a/apps/web/src/locales/nb/messages.json +++ b/apps/web/src/locales/nb/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Program" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Etter å ha oppdatert krypteringsnøkkelen din, er du påkrevd å logge av og på på alle Bitwarden-appene og -programmene som du bruker for øyeblikket (deriblant mobilappen og nettleserutvidelsene). Å ikke logge av og på igjen (noe som vil laste ned din nye krypteringsnøkkel) kan føre til datakorrumpering. Vi vil forsøke å logge deg av automatisk, men det kan kanskje bli forsinket." }, - "updateEncryptionKeyExportWarning": { - "message": "Eventuelle krypterte eksporter som du har lagret blir også ugyldig." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Abonnement" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ne/messages.json b/apps/web/src/locales/ne/messages.json index a8955b0b9e7..215ebaf1849 100644 --- a/apps/web/src/locales/ne/messages.json +++ b/apps/web/src/locales/ne/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/nl/messages.json b/apps/web/src/locales/nl/messages.json index ddc6b5fda54..9d192639377 100644 --- a/apps/web/src/locales/nl/messages.json +++ b/apps/web/src/locales/nl/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "App aanwijzen als belangrijk" }, - "appsMarkedAsCritical": { - "message": "App als belangrijk gemarkeerd" + "applicationsMarkedAsCriticalSuccess": { + "message": "Als belangrijk gemarkeerde applicaties" }, "application": { "message": "Applicatie" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Deze leden loggen in op toepassingen met zwakke, blootgestelde of hergebruikte wachtwoorden." }, + "atRiskMembersDescriptionNone": { + "message": "Deze niet-leden loggen in op toepassingen met zwakke, blootgestelde of hergebruikte wachtwoorden." + }, "atRiskApplicationsDescription": { "message": "Deze applicaties hebben zwakke, blootgelegde of hergebruikte wachtwoorden." }, + "atRiskApplicationsDescriptionNone": { + "message": "Deze applicaties hebben geen zwakke, blootgelegde of hergebruikte wachtwoorden." + }, "atRiskMembersDescriptionWithApp": { "message": "Deze leden loggen in op $APPNAME$ met zwakke, blootgestelde of hergebruikte wachtwoorden.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Er zijn geen risico-leden voor $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Totaal leden" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Na het bijwerken van je encryptiesleutel moet je je afmelden en weer aanmelden bij alle Bitwarden-applicaties die je gebruikt (zoals de mobiele app of browserextensies). Als je niet opnieuw inlogt (wat je nieuwe encryptiesleutel downloadt), kan dit gegevensbeschadiging tot gevolg hebben. We proberen je automatisch uit te loggen, maar het kan zijn dat dit met enige vertraging gebeurt." }, - "updateEncryptionKeyExportWarning": { - "message": "Elke versleutelde export die je hebt bewaard wordt onbruikbaar." + "updateEncryptionKeyAccountExportWarning": { + "message": "Alle account-beperkte bewaarde exports die je hebt opgeslagen worden ongeldig." }, "subscription": { "message": "Abonnement" @@ -9414,19 +9429,19 @@ "message": "Facturering beheren vanuit het aanbiederportaal" }, "continueSettingUp": { - "message": "Continue setting up Bitwarden" + "message": "Doorgaan met het instellen van Bitwarden" }, "continueSettingUpFreeTrial": { "message": "Doorgaan met het instellen van je gratis proefperiode van Bitwarden" }, "continueSettingUpPasswordManager": { - "message": "Continue setting up Bitwarden Password Manager" + "message": "Doorgaan met het instellen van Bitwarden Password Manager" }, "continueSettingUpFreeTrialPasswordManager": { "message": "Doorgaan met het instellen van je gratis proefperiode van Bitwarden Password Manager" }, "continueSettingUpSecretsManager": { - "message": "Continue setting up Bitwarden Secrets Manager" + "message": "Doorgaan met het instellen van Bitwarden Secrets Manager" }, "continueSettingUpFreeTrialSecretsManager": { "message": "Doorgaan met het instellen van je gratis proefperiode van Bitwarden Secrets Manager" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Betaling met een bankrekening is alleen beschikbaar voor klanten in de Verenigde Staten. Je moet je bankrekening verifiëren. We zullen binnen 1-2 werkdagen een microbetaling uitvoeren. Voer de code van het bankafschrift uit deze storting in op de factuurpagina van de provider om de bankrekening te verifiëren. Als de bankrekening niet wordt geverifieerd, wordt er een betaling gemist en wordt je abonnement opgeschort." + }, + "clickPayWithPayPal": { + "message": "Klik op \"Pay with PayPal\" voor het toevoegen van je betaalmethode." } } diff --git a/apps/web/src/locales/nn/messages.json b/apps/web/src/locales/nn/messages.json index e2d68c110cd..3c03b2e7cb2 100644 --- a/apps/web/src/locales/nn/messages.json +++ b/apps/web/src/locales/nn/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/or/messages.json b/apps/web/src/locales/or/messages.json index 98095db6c1b..38740c78cba 100644 --- a/apps/web/src/locales/or/messages.json +++ b/apps/web/src/locales/or/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/pl/messages.json b/apps/web/src/locales/pl/messages.json index b643ee5aa75..ab471e892ef 100644 --- a/apps/web/src/locales/pl/messages.json +++ b/apps/web/src/locales/pl/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Oznacz aplikację jako krytyczną" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Aplikacje oznaczone jako krytyczne" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Ci członkowie logują się do aplikacji ze słabymi, ujawnionymi lub ponownie używanymi hasłami." }, + "atRiskMembersDescriptionNone": { + "message": "Ci członkowie nie logują się do aplikacji ze słabymi, ujawnionymi lub ponownie używanymi hasłami." + }, "atRiskApplicationsDescription": { "message": "Te aplikacje mają słabe, ujawnione lub ponownie użyte hasła." }, + "atRiskApplicationsDescriptionNone": { + "message": "Te aplikacje nie mają słabych, ujawnionych lub ponownie użytych haseł." + }, "atRiskMembersDescriptionWithApp": { "message": "Ci użytkownicy logują się do $APPNAME$ ze słabymi, ujawnionymi lub ponownie używanymi hasłami.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Nie ma członków ryzyka dla $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Wszyscy członkowie" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Po zaktualizowaniu klucza szyfrowania, musisz ponownie zalogować się do wszystkich aplikacji Bitwarden, z których obecnie korzystasz (na przykład aplikacje mobilne lub rozszerzenia przeglądarki). Niepowodzenie logowania (podczas którego pobierany jest nowy klucz szyfrowania) może spowodować uszkodzenie danych. Postaramy się wylogować Ciebie automatycznie, jednak może to chwilę potrwać." }, - "updateEncryptionKeyExportWarning": { - "message": "Wszystkie zaszyfrowane pliki eksportu, które wcześniej zapisałeś, staną się nieprawidłowe." + "updateEncryptionKeyAccountExportWarning": { + "message": "Wszystkie zapisane eksporty objęte ograniczeniami konta zostaną unieważnione." }, "subscription": { "message": "Subskrypcja" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Płatność za pomocą konta bankowego jest dostępna tylko dla klientów w Stanach Zjednoczonych. Będziesz musiał/musiała zweryfikować swoje konto bankowe. W ciągu najbliższych 1-2 dni roboczych dokonamy mikrowpłaty. Wprowadź kod deskryptora z tej wpłaty na stronie dostawcy subskrypcji, aby zweryfikować konto bankowe. Niezweryfikowanie konta bankowego spowoduje brak płatności i zawieszenie Twojej subskrypcji." + }, + "clickPayWithPayPal": { + "message": "Kliknij przycisk Zapłać za pomocą PayPal, aby dodać metodę płatności." } } diff --git a/apps/web/src/locales/pt_BR/messages.json b/apps/web/src/locales/pt_BR/messages.json index 160ed3b52a8..b3f6dd37a8c 100644 --- a/apps/web/src/locales/pt_BR/messages.json +++ b/apps/web/src/locales/pt_BR/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Marcar aplicativo como crítico" }, - "appsMarkedAsCritical": { - "message": "Aplicativos marcados como críticos" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Aplicativo" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Esses membros estão logando em aplicativos com senhas fracas, expostas ou reutilizadas." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Esses aplicativos têm senhas fracas, expostas ou reutilizadas." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Esses membros estão logando no $APPNAME$ com senhas fracas, expostas ou reutilizadas.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total de membros" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Depois de atualizar sua chave de criptografia, é necessário encerrar e iniciar a sessão em todos os aplicativos do Bitwarden que você está usando atualmente (como o aplicativo móvel ou as extensões do navegador). Não encerrar e iniciar sessão (que baixa sua nova chave de criptografia) pode resultar em corrupção de dados. Nós tentaremos desconectá-lo automaticamente, mas isso pode demorar um pouco." }, - "updateEncryptionKeyExportWarning": { - "message": "Quaisquer exportações criptografadas que você tenha salvo também se tornarão inválidas." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Assinatura" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/pt_PT/messages.json b/apps/web/src/locales/pt_PT/messages.json index 209551d7887..5f1e02c82e3 100644 --- a/apps/web/src/locales/pt_PT/messages.json +++ b/apps/web/src/locales/pt_PT/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Marcar a app como crítica" }, - "appsMarkedAsCritical": { - "message": "Apps marcadas como críticas" + "applicationsMarkedAsCriticalSuccess": { + "message": "Aplicações marcadas como críticas" }, "application": { "message": "Aplicação" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Estes membros estão a iniciar sessão em aplicações com palavras-passe fracas, expostas ou reutilizadas." }, + "atRiskMembersDescriptionNone": { + "message": "Estes não são membros que iniciam sessão em aplicações com palavras-passe fracas, expostas ou reutilizadas." + }, "atRiskApplicationsDescription": { "message": "Estas aplicações têm palavras-passe fracas, expostas ou reutilizadas." }, + "atRiskApplicationsDescriptionNone": { + "message": "Não se trata de aplicações com palavras-passe fracas, expostas ou reutilizadas." + }, "atRiskMembersDescriptionWithApp": { "message": "Estes membros estão a iniciar sessão no $APPNAME$ com palavras-passe fracas, expostas ou reutilizadas.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "Não existem membros em risco para: $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total de membros" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Depois de atualizar a sua chave de encriptação, é necessário terminar sessão e voltar a iniciar em todas as aplicações Bitwarden que está a utilizar atualmente (como a aplicação móvel ou as extensões do navegador). A falha em terminar sessão e voltar a iniciar (que descarrega a sua nova chave de encriptação) pode resultar em corrupção de dados. Tentaremos terminar a sua sessão automaticamente, no entanto, pode demorar." }, - "updateEncryptionKeyExportWarning": { - "message": "Quaisquer exportações encriptadas que tenha guardado também se tornarão inválidas." + "updateEncryptionKeyAccountExportWarning": { + "message": "Todas as exportações com restrições de conta que tenha guardado tornar-se-ão inválidas." }, "subscription": { "message": "Subscrição" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "O pagamento com uma conta bancária só está disponível para clientes nos Estados Unidos. Ser-lhe-á pedido que verifique a sua conta bancária. Efetuaremos um micro-depósito nos próximos 1-2 dias úteis. Introduza o código descritor do extrato deste depósito na página de subscrição do fornecedor para verificar a conta bancária. A não verificação da conta bancária resultará na falta de pagamento e na suspensão da sua subscrição." + }, + "clickPayWithPayPal": { + "message": "Por favor, clique no botão Pagar com PayPal para adicionar o seu método de pagamento." } } diff --git a/apps/web/src/locales/ro/messages.json b/apps/web/src/locales/ro/messages.json index 44335176a4e..64eb05dad22 100644 --- a/apps/web/src/locales/ro/messages.json +++ b/apps/web/src/locales/ro/messages.json @@ -9,7 +9,7 @@ "message": "Aplicațiile critice" }, "noCriticalAppsAtRisk": { - "message": "No critical applications at risk" + "message": "Nicio aplicație critică în pericol" }, "accessIntelligence": { "message": "Access Intelligence" @@ -18,7 +18,7 @@ "message": "Risk Insights" }, "passwordRisk": { - "message": "Password Risk" + "message": "Risc Parola" }, "reviewAtRiskPasswords": { "message": "Review at-risk passwords (weak, exposed, or reused) across applications. Select your most critical applications to prioritize security actions for your users to address at-risk passwords." @@ -33,19 +33,19 @@ } }, "notifiedMembers": { - "message": "Notified members" + "message": "Membri notificați" }, "revokeMembers": { - "message": "Revoke members" + "message": "Revocare utilizatori" }, "restoreMembers": { - "message": "Restore members" + "message": "Restabilire utilizatori" }, "cannotRestoreAccessError": { - "message": "Cannot restore organization access" + "message": "Nu se poate restaura accesul organizației" }, "allApplicationsWithCount": { - "message": "All applications ($COUNT$)", + "message": "Toate aplicațiile ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -87,31 +87,31 @@ "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." }, "noCriticalAppsTitle": { - "message": "You haven't marked any applications as a Critical" + "message": "Nu ai marcat nicio aplicație drept critică" }, "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, "markCriticalApps": { - "message": "Mark critical apps" + "message": "Marchează aplicațiile critice" }, "markAppAsCritical": { - "message": "Mark app as critical" + "message": "Marchează aplicația drept critică" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Aplicații marcate drept critice" }, "application": { - "message": "Application" + "message": "Aplicație" }, "atRiskPasswords": { "message": "At-risk passwords" }, "requestPasswordChange": { - "message": "Request password change" + "message": "Solicită modificarea parolei" }, "totalPasswords": { - "message": "Total passwords" + "message": "Total parole" }, "searchApps": { "message": "Search applications" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,14 +158,23 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { - "message": "Total members" + "message": "Total membri" }, "atRiskApplications": { - "message": "At-risk applications" + "message": "Aplicații cu risc" }, "totalApplications": { - "message": "Total applications" + "message": "Toate aplicațiile" }, "unmarkAsCriticalApp": { "message": "Unmark as critical app" @@ -205,10 +220,10 @@ "message": "Note" }, "privateNote": { - "message": "Private note" + "message": "Notă privată" }, "note": { - "message": "Note" + "message": "Notă" }, "customFields": { "message": "Câmpuri particularizate" @@ -217,22 +232,22 @@ "message": "Numele titularului cardului" }, "loginCredentials": { - "message": "Login credentials" + "message": "Date de logare" }, "personalDetails": { - "message": "Personal details" + "message": "Detalii personale" }, "identification": { - "message": "Identification" + "message": "Identificare" }, "contactInfo": { - "message": "Contact info" + "message": "Informații contact" }, "cardDetails": { - "message": "Card details" + "message": "Detalii card" }, "cardBrandDetails": { - "message": "$BRAND$ details", + "message": "Detalii $BRAND$", "placeholders": { "brand": { "content": "$1", @@ -241,16 +256,16 @@ } }, "itemHistory": { - "message": "Item history" + "message": "Istoricul articolului" }, "authenticatorKey": { - "message": "Authenticator key" + "message": "Cheie de autentificare" }, "autofillOptions": { - "message": "Autofill options" + "message": "Opțiuni de completare automată" }, "websiteUri": { - "message": "Website (URI)" + "message": "Site web (URI)" }, "websiteUriCount": { "message": "Website (URI) $COUNT$", @@ -263,13 +278,13 @@ } }, "websiteAdded": { - "message": "Website added" + "message": "Site web adăugat" }, "addWebsite": { - "message": "Add website" + "message": "Adăugare site" }, "deleteWebsite": { - "message": "Delete website" + "message": "Ștergere site" }, "defaultLabel": { "message": "Default ($VALUE$)", @@ -300,7 +315,7 @@ } }, "autoFillOnPageLoad": { - "message": "Autofill on page load?" + "message": "Completare automată la încărcarea paginii?" }, "number": { "message": "Număr card" @@ -315,7 +330,7 @@ "message": "Cod de securitate (CVV)" }, "securityCodeSlashCVV": { - "message": "Security code / CVV" + "message": "Cod de securitate (CVV)" }, "identityName": { "message": "Numele identității" @@ -393,10 +408,10 @@ "message": "Dr." }, "cardExpiredTitle": { - "message": "Expired card" + "message": "Card expirat" }, "cardExpiredMessage": { - "message": "If you've renewed it, update the card's information" + "message": "Dacă l-ați reînnoit, actualizați informațiile cardului" }, "expirationMonth": { "message": "Luna expirării" @@ -442,10 +457,10 @@ "description": "This describes a field that is 'linked' (related) to another field." }, "fieldType": { - "message": "Field type" + "message": "Tipul câmpului" }, "fieldLabel": { - "message": "Field label" + "message": "Eticheta câmp" }, "remove": { "message": "Ștergere" @@ -458,7 +473,7 @@ "description": "This is the folder for uncategorized items" }, "selfOwnershipLabel": { - "message": "You", + "message": "Tu", "description": "Used as a label to indicate that the user is the owner of an item." }, "addFolder": { @@ -481,10 +496,10 @@ } }, "newFolder": { - "message": "New folder" + "message": "Folder nou" }, "folderName": { - "message": "Folder name" + "message": "Numele folderului" }, "folderHintText": { "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" @@ -536,7 +551,7 @@ "message": "Generare parolă" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Generare parolă" }, "checkPassword": { "message": "Verificați dacă parola a fost dezvăluită." @@ -591,11 +606,11 @@ "description": "Search Login type" }, "searchCard": { - "message": "Search cards", + "message": "Căutare carduri", "description": "Search Card type" }, "searchIdentity": { - "message": "Search identities", + "message": "Caută identități", "description": "Search Identity type" }, "searchSecureNote": { @@ -609,7 +624,7 @@ "message": "Caută în seiful meu" }, "searchOrganization": { - "message": "Cauta organizatie" + "message": "Caută organizație" }, "searchMembers": { "message": "Caută membri" @@ -639,7 +654,7 @@ "message": "Notă securizată" }, "typeSshKey": { - "message": "SSH key" + "message": "Cheie SSH" }, "typeLoginPlural": { "message": "Conectări" @@ -672,7 +687,7 @@ "message": "Numele complet" }, "address": { - "message": "Address" + "message": "Adresă" }, "address1": { "message": "Adresă 1" @@ -744,7 +759,7 @@ } }, "new": { - "message": "New", + "message": "Nou", "description": "for adding new items" }, "item": { @@ -835,22 +850,22 @@ "message": "Copy phone" }, "copyEmail": { - "message": "Copy email" + "message": "Copiere e-mail" }, "copyCompany": { - "message": "Copy company" + "message": "Copiază firma" }, "copySSN": { "message": "Copy Social Security number" }, "copyPassportNumber": { - "message": "Copy passport number" + "message": "Copiați numărul pașaportului" }, "copyLicenseNumber": { - "message": "Copy license number" + "message": "Copiați numărul de licență" }, "copyName": { - "message": "Copy name" + "message": "Copiați numele" }, "me": { "message": "Eu" @@ -871,7 +886,7 @@ "message": "Articolele seifului" }, "filter": { - "message": "Filter" + "message": "Filtru" }, "deleteSelected": { "message": "Ștergere selecție" @@ -983,37 +998,37 @@ "message": "Dosar șters" }, "editInfo": { - "message": "Edit info" + "message": "Editează info" }, "access": { - "message": "Access" + "message": "Acces" }, "accessLevel": { - "message": "Access level" + "message": "Nivel de acces" }, "accessing": { - "message": "Accessing" + "message": "Accesare" }, "loggedOut": { "message": "Deconectat" }, "loggedOutDesc": { - "message": "You have been logged out of your account." + "message": "Ai fost deconectat din contul tău." }, "loginExpired": { "message": "Sesiunea de autentificare a expirat." }, "restartRegistration": { - "message": "Restart registration" + "message": "Reporniți înregistrarea" }, "expiredLink": { - "message": "Expired link" + "message": "Link expirat" }, "pleaseRestartRegistrationOrTryLoggingIn": { - "message": "Please restart registration or try logging in." + "message": "Vă rugăm să reporniți înregistrarea sau să încercați să vă conectați." }, "youMayAlreadyHaveAnAccount": { - "message": "You may already have an account" + "message": "Este posibil să aveți deja un cont" }, "logOutConfirmation": { "message": "Sigur doriți să vă deconectați?" @@ -1031,7 +1046,7 @@ "message": "Nu" }, "location": { - "message": "Location" + "message": "Locație" }, "loginOrCreateNewAccount": { "message": "Autentificați-vă sau creați un cont nou pentru a accesa seiful dvs. securizat." @@ -1043,31 +1058,31 @@ "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?" }, "needAnotherOptionV1": { - "message": "Need another option?" + "message": "Selectezi o altă opțiune?" }, "loginWithMasterPassword": { "message": "Autentificați-vă cu parola principală" }, "readingPasskeyLoading": { - "message": "Reading passkey..." + "message": "Citire parolă..." }, "readingPasskeyLoadingInfo": { - "message": "Keep this window open and follow prompts from your browser." + "message": "Păstrează această fereastră deschisă și urmează instrucțiunile din browser-ul tău." }, "useADifferentLogInMethod": { - "message": "Use a different log in method" + "message": "Folosiți o metodă diferită de autentificare" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Autentificare cu parolă" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Autentificare unică" }, "welcomeBack": { - "message": "Welcome back" + "message": "Bine ați revenit!" }, "invalidPasskeyPleaseTryAgain": { - "message": "Invalid Passkey. Please try again." + "message": "Parolă nevalidă. Vă rugăm să încercați din nou." }, "twoFactorForPasskeysNotSupportedOnClientUpdateToLogIn": { "message": "2FA for passkeys is not supported. Update the app to log in." @@ -1076,7 +1091,7 @@ "message": "Use a generated passkey that will automatically log you in without a password. Biometrics, like facial recognition or fingerprint, or another FIDO2 security method will verify your identity." }, "newPasskey": { - "message": "New passkey" + "message": "Cheie parolă nouă" }, "learnMoreAboutPasswordless": { "message": "Learn more about passwordless" @@ -1091,31 +1106,31 @@ "message": "Error creating passkey" }, "errorCreatingPasskeyInfo": { - "message": "There was a problem creating your passkey." + "message": "A apărut o eroare la crearea parolei." }, "passkeySuccessfullyCreated": { - "message": "Passkey successfully created!" + "message": "Parola a fost creata!" }, "customPasskeyNameInfo": { - "message": "Name your passkey to help you identify it." + "message": "Numiți cheia de acces pentru a vă ajuta să o identificați." }, "useForVaultEncryption": { - "message": "Use for vault encryption" + "message": "Utilizat pentru criptarea seifului" }, "useForVaultEncryptionInfo": { "message": "Log in and unlock on supported devices without your master password. Follow the prompts from your browser to finalize setup." }, "useForVaultEncryptionErrorReadingPasskey": { - "message": "Error reading passkey. Try again or uncheck this option." + "message": "Eroare la citirea parolei. Încercați din nou sau debifați această opțiune." }, "encryptionNotSupported": { - "message": "Encryption not supported" + "message": "Criptare neacceptată" }, "enablePasskeyEncryption": { - "message": "Set up encryption" + "message": "Configurare criptare" }, "usedForEncryption": { - "message": "Used for encryption" + "message": "Folosit pentru criptare" }, "loginWithPasskeyEnabled": { "message": "Log in with passkey turned on" @@ -1130,10 +1145,10 @@ } }, "passkeyRemoved": { - "message": "Passkey removed" + "message": "Parolă eliminată" }, "removePasskey": { - "message": "Remove passkey" + "message": "Înlăturare parolă" }, "removePasskeyInfo": { "message": "If all passkeys are removed, you will be unable to log into new devices without your master password." @@ -1142,16 +1157,16 @@ "message": "Passkey limit reached. Remove a passkey to add another." }, "tryAgain": { - "message": "Try again" + "message": "Încercați din nou" }, "createAccount": { "message": "Creare cont" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Nou pe Bitwarden?" }, "setAStrongPassword": { - "message": "Set a strong password" + "message": "Setați o parolă puternică" }, "finishCreatingYourAccountBySettingAPassword": { "message": "Finish creating your account by setting a password" @@ -1169,10 +1184,10 @@ "message": "Log in to Bitwarden" }, "enterTheCodeSentToYourEmail": { - "message": "Enter the code sent to your email" + "message": "Introdu codul trimis la emailul tău" }, "enterTheCodeFromYourAuthenticatorApp": { - "message": "Enter the code from your authenticator app" + "message": "Introdu codul din aplicația de autentificare" }, "pressYourYubiKeyToAuthenticate": { "message": "Press your YubiKey to authenticate" @@ -1184,13 +1199,13 @@ "message": "The authentication session timed out. Please restart the login process." }, "verifyYourIdentity": { - "message": "Verify your Identity" + "message": "Verificați identitatea" }, "weDontRecognizeThisDevice": { - "message": "We don't recognize this device. Enter the code sent to your email to verify your identity." + "message": "Dispozitiv nerecunoscut. Introdu codul trimis pe email pentru a verifica identitatea." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "Continuă autentificarea" }, "whatIsADevice": { "message": "What is a device?" @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "După actualizarea cheii de criptare, trebuie să vă reconectați în toate aplicațiile Bitwarden pe care le utilizați în prezent (cum ar fi aplicația mobilă sau extensiile browserului). Faptul de a nu vă deconecta și reconecta (care descarcă noua cheie de criptare) poate duce la corupția datelor. Vom încerca să vă deconectăm automat, însă ar putea fi întârziat." }, - "updateEncryptionKeyExportWarning": { - "message": "Orice export criptat pe care l-ați salvat va deveni, de asemenea, nevalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Abonament" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/ru/messages.json b/apps/web/src/locales/ru/messages.json index c7c70ef81bf..aaccc3b2145 100644 --- a/apps/web/src/locales/ru/messages.json +++ b/apps/web/src/locales/ru/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Пометить приложение как критическое" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Приложения помечены как критические" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Эти пользователи входят в приложения со слабыми, скомпрометированными или повторно используемыми паролями." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Эти приложения имеют слабые, скомпрометированные или повторно используемые пароли." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Эти пользователи входят в $APPNAME$ со слабыми, скомпрометированными или повторно используемыми паролями.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Всего участников" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "После обновления ключа шифрования необходимо выйти из всех приложений Bitwarden, которые вы используете (например, из мобильного приложения или расширения браузера). Если этого не сделать, могут повредиться данные (так как при выходе и последующем входе загружается ваш новый ключ шифрования). Мы попытаемся автоматически осуществить завершение ваших сессий, однако это может произойти с задержкой." }, - "updateEncryptionKeyExportWarning": { - "message": "Любые зашифрованные экспортированные данные, которые вы сохранили, также станут недействительными." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Подписка" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Оплата с помощью банковского счета доступна только для клиентов в США. Вам потребуется подтвердить свой банковский счет. Мы сделаем микродепозит в течение следующих 1-2 рабочих дней. Введите код дескриптора выписки из этого депозита на странице подписки провайдера для подтверждения банковского счета. Неподтверждение банковского счета приведет к пропуску платежа и приостановке подписки." + }, + "clickPayWithPayPal": { + "message": "Пожалуйста, нажмите кнопку \"Оплатить с помощью PayPal\", чтобы добавить свой способ оплаты." } } diff --git a/apps/web/src/locales/si/messages.json b/apps/web/src/locales/si/messages.json index d1d8149c3cf..2d270a54731 100644 --- a/apps/web/src/locales/si/messages.json +++ b/apps/web/src/locales/si/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/sk/messages.json b/apps/web/src/locales/sk/messages.json index 839d15019e2..6bbf765ba78 100644 --- a/apps/web/src/locales/sk/messages.json +++ b/apps/web/src/locales/sk/messages.json @@ -98,7 +98,7 @@ "markAppAsCritical": { "message": "Označiť aplikáciu ako kritickú" }, - "appsMarkedAsCritical": { + "applicationsMarkedAsCriticalSuccess": { "message": "Aplikácie označené ako kritické" }, "application": { @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Títo členovia sa prihlasujú do aplikácií so slabým, uniknutým alebo viacnásobne použitým heslom." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Tieto aplikácie majú slabé, uniknuté alebo opätovne použité heslá." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Títo členovia sa prihlasujú do $APPNAME$ so slabým, uniknutým alebo viacnásobne použitým heslom.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Celkový počet členov" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Po aktualizácii šifrovacieho kľúča budete požiadaní o opätovné prihlásenie do všetkých Bitwarden aplikácii ktoré momentálne používate (napríklad mobilné aplikácie, alebo rozšírenia v prehliadači). Ak sa opätovne neprihlásite (touto operáciou sa stiahnu nové šifrovacie kľúče), mohlo by to viesť k poškodeniu uložených dát. Pokúsime sa odhlásiť vás automaticky, ale môže to chvíľu trvať." }, - "updateEncryptionKeyExportWarning": { - "message": "Všetky uložené šifrované exporty sa tiež stanú neplatnými." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Predplatné" @@ -6291,13 +6306,13 @@ "message": "Sponzorované rodiny" }, "noSponsoredFamiliesMessage": { - "message": "No sponsored families" + "message": "Žiadne sponzorované rodiny" }, "nosponsoredFamiliesDetails": { - "message": "Sponsored non-member families plans will display here" + "message": "Tu sa zobrazia sponzorované plány pre Rodiny pre nečlenov" }, "sponsorshipFreeBitwardenFamilies": { - "message": "Members of your organization are eligible for Free Bitwarden Families. You can sponsor Free Bitwarden Families for employees who are not a member of your Bitwarden organization. Sponsoring a non-member requires an available seat within your organization." + "message": "Členovia vašej organizácie majú nárok na bezplatný plán pre Rodiny. Bezplatný plán pre Rodiny môžete sponzorovať aj pre zamestnancov ktorí nie sú členmi vašej Bitwarden organizácie. Spozorovanie nečlena vyžaduje voľné sedenie v organizácii." }, "sponsoredFamiliesRemoveActiveSponsorship": { "message": "Keď odoberiete aktívne sponzorstvo, sedenie vo vašej organizácii sa uvoľní po dátume obnovenia sponzorovanej organizácie." @@ -6309,13 +6324,13 @@ "message": "Využite bezplatný plán Bitwarden pre Rodiny aby ste mali dáta v bezpečí aj keď nie ste v práci." }, "sponsoredFamiliesIncludeMessage": { - "message": "The Bitwarden for Families plan includes" + "message": "Bitwarden plán pre Rodiny zahŕňa" }, "sponsoredFamiliesPremiumAccess": { "message": "Prémiový prístup pre maximálne 6 používateľov" }, "sponsoredFamiliesSharedCollectionsForFamilyMembers": { - "message": "Shared collections for family members" + "message": "Zdieľané zbierky pre členov rodiny" }, "memberFamilies": { "message": "Členské rodiny" @@ -6330,7 +6345,7 @@ "message": "Členovia vašej organizácie majú nárok na bezplatný plán pre Rodiny. Tu môžete vidieť členov so sponzorstvom Rodinnej organizácie." }, "organizationHasMemberMessage": { - "message": "A sponsorship cannot be sent to $EMAIL$ because they are a member of your organization.", + "message": "Sponzorstvo nemôže byt odoslané na $EMAIL$ pretože sú členmi vašej organizácie.", "placeholders": { "email": { "content": "$1", @@ -6390,7 +6405,7 @@ "message": "Account redeemed" }, "revokeAccountMessage": { - "message": "Revoke account $NAME$", + "message": "Odvolať konto $NAME$", "placeholders": { "name": { "content": "$1", @@ -10304,7 +10319,7 @@ "message": "Nedôverovať" }, "organizationNotTrusted": { - "message": "Organization is not trusted" + "message": "Organizácia nie je dôveryhodná" }, "emergencyAccessTrustWarning": { "message": "Pre bezpečnosť vášho konta stačí overiť, ze ste tomuto používateľovi udelili núdzový pristúp a že odtlačok sa zhoduje s odtlačkom zobrazenom v používateľovom konte" @@ -10313,7 +10328,7 @@ "message": "Pre bezpečnosť vášho konta pokračujte iba ak ste členom organizácie, mate povolenú obnovu konta a odtlačok sa zhoduje s odtlačkom organizácie." }, "orgTrustWarning1": { - "message": "This organization has an Enterprise policy that will enroll you in account recovery. Enrollment will allow organization administrators to change your password. Only proceed if you recognize this organization and the fingerprint phrase displayed below matches the organization's fingerprint." + "message": "Táto organizácia má pravidlá spoločnosti, ktoré vás zaregistrujú do obnovy účtu. Zápis umožní správcom organizácie zmeniť vaše heslo. Pokračujte len vtedy, ak túto organizáciu poznáte a nižšie zobrazená fráza odtlačku prsta sa zhoduje s odtlačkom prsta organizácie." }, "trustUser": { "message": "Dôverovať používateľovi" @@ -10521,10 +10536,10 @@ "message": "Neumožnite vaším členom odomykať si konto PIN kódom." }, "upgradeForFullEventsMessage": { - "message": "Event logs are not stored for your organization. Upgrade to a Teams or Enterprise plan to get full access to organization event logs." + "message": "Pre vašu organizáciu sa denník udalosti neukladá. Ak chcete plný pristúp k denníkom udalostí v organizácii povýšte na plán Teams alebo Enterprise." }, "upgradeEventLogTitleMessage": { - "message": "Upgrade to see event logs from your organization." + "message": "Ak chcete vidieť denník udalostí vašej organizácie povýšte." }, "upgradeEventLogMessage": { "message": "These events are examples only and do not reflect real events within your Bitwarden organization." @@ -10542,58 +10557,61 @@ "message": "Nová organizačná jednotka" }, "newLoginNudgeTitle": { - "message": "Save time with autofill" + "message": "Ušetrite čas s automatickým vypĺňaním" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "Zahrnúť", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "webstránku", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "so this login appears as an autofill suggestion.", + "message": "aby sa tieto prihlasovacie údaje zobrazili ako návrh na automatické vyplnenie.", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newCardNudgeTitle": { - "message": "Seamless online checkout" + "message": "Bezproblémová online platba" }, "newCardNudgeBody": { - "message": "With cards, easily autofill payment forms securely and accurately." + "message": "S kartami môžete jednoducho, bezpečne a presne automaticky vypĺňať platobné formuláre." }, "newIdentityNudgeTitle": { - "message": "Simplify creating accounts" + "message": "Zjednodušenie vytvárania účtov" }, "newIdentityNudgeBody": { - "message": "With identities, quickly autofill long registration or contact forms." + "message": "Pomocou identít môžete rýchlo automaticky vypĺňať dlhé registračné alebo kontaktné formuláre." }, "newNoteNudgeTitle": { - "message": "Keep your sensitive data safe" + "message": "Udržujte svoje citlivé údaje v bezpečí" }, "newNoteNudgeBody": { - "message": "With notes, securely store sensitive data like banking or insurance details." + "message": "Pomocou poznámok môžete bezpečne ukladať citlivé údaje, napríklad bankové údaje alebo údaje o poistení." }, "newSshNudgeTitle": { - "message": "Developer-friendly SSH access" + "message": "Prístup SSH vhodný pre vývojárov" }, "newSshNudgeBodyOne": { - "message": "Store your keys and connect with the SSH agent for fast, encrypted authentication.", + "message": "Uložte si kľúče a pripojte sa pomocou agenta SSH na rýchle šifrované overovanie.", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "newSshNudgeBodyTwo": { - "message": "Learn more about SSH agent", + "message": "Viac informácií o agentovi SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "restart": { - "message": "Restart" + "message": "Reštartovať" }, "verifyProviderBankAccountWithStatementDescriptorWarning": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + "message": "Platba prostredníctvom bankového účtu je dostupná len pre zákazníkov v Spojených Štátoch. Budete musieť overiť svoj bankový účet. V priebehu nasledujúcich 1-2 pracovných dní vykonáme mikro vklad. Na overenie bankového účtu zadajte kód popisu výpisu z tohto vkladu na fakturačnej stránke poskytovateľa. Neoverenie bankového účtu bude mať za následok neuskutočnenie platby a pozastavenie vášho predplatného." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/sl/messages.json b/apps/web/src/locales/sl/messages.json index 766c1edbb15..06c5339ad98 100644 --- a/apps/web/src/locales/sl/messages.json +++ b/apps/web/src/locales/sl/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Naročnina" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/sr/messages.json b/apps/web/src/locales/sr/messages.json index 244f4f0e6a7..2ca7e72e227 100644 --- a/apps/web/src/locales/sr/messages.json +++ b/apps/web/src/locales/sr/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Означите апликацију као критичну" }, - "appsMarkedAsCritical": { - "message": "Апликације означене као критичне" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Апликација" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Ови чланови се пријављују у апликације са слабим, откривеним или поново коришћеним лозинкама." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Ове апликације имају слабу, проваљену или често коришћену лозинку." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Ови чланови се пријављују у $APPNAME$ са слабим, откривеним или поново коришћеним лозинкама.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Укупно чланова" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Након ажурирања кључа за шифровање, мораћете да се одјавите и вратите у све Bitwarden апликације које тренутно користите (као што су мобилна апликација или додаци прегледача). Ако се не одјавите и поново пријавите (чиме се преузима ваш нови кључ за шифровање), може доћи до оштећења података. Покушаћемо аутоматски да се одјавимо, али може доћи до одлагања." }, - "updateEncryptionKeyExportWarning": { - "message": "Сваки шифровани извоз који сте сачували такође ће постати неважећи." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Претплата" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Плаћање са банковним рачуном доступно је само купцима у Сједињеним Државама. Од вас ће бити потребно да проверите свој банковни рачун. Направит ћемо микро депозит у наредних 1-2 радна дана. Унесите кôд за дескриптор изјаве са овог депозита на претплатничкој страници провајдера да бисте потврдили банковни рачун. Неуспех у верификацији банковног рачуна резултираће пропуштеним плаћањем и претплатом је суспендовано." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/sr_CS/messages.json b/apps/web/src/locales/sr_CS/messages.json index 9fdaed29b9d..6b10fd30018 100644 --- a/apps/web/src/locales/sr_CS/messages.json +++ b/apps/web/src/locales/sr_CS/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/sv/messages.json b/apps/web/src/locales/sv/messages.json index 96218aa5030..1ca059f95ec 100644 --- a/apps/web/src/locales/sv/messages.json +++ b/apps/web/src/locales/sv/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Markera app som kritisk" }, - "appsMarkedAsCritical": { - "message": "Appar markerade som kritiska" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Applikation" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Efter att ha uppdaterat din krypteringsnyckel, måste du logga ut och in igen i alla Bitwarden-program som du använder (t.ex. mobilappen och webbläsartillägget). Att inte logga ut och in igen (vilket hämtar din nya krypteringsnyckel) kan resultera i datakorruption. Vi kommer försöka logga ut dig automatiskt, men det kan vara fördröjt." }, - "updateEncryptionKeyExportWarning": { - "message": "Alla krypterade exporter som du har sparat kommer också bli ogiltiga." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Prenumeration" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/te/messages.json b/apps/web/src/locales/te/messages.json index 98095db6c1b..38740c78cba 100644 --- a/apps/web/src/locales/te/messages.json +++ b/apps/web/src/locales/te/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/th/messages.json b/apps/web/src/locales/th/messages.json index bbf4f1da178..393442e42e5 100644 --- a/apps/web/src/locales/th/messages.json +++ b/apps/web/src/locales/th/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Subscription" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/tr/messages.json b/apps/web/src/locales/tr/messages.json index 1853e47a8fb..c59f33bba45 100644 --- a/apps/web/src/locales/tr/messages.json +++ b/apps/web/src/locales/tr/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Kritik olarak işaretlenmiş uygulamalar" }, "application": { "message": "Uygulama" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Toplam üye" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Şifreleme anahtarınızı güncelledikten sonra, şu anda kullanmakta olduğunuz tüm Bitwarden uygulamalarında (mobil uygulama veya tarayıcı uzantıları gibi) oturumunuzu kapatıp tekrar açmanız gerekir. Yeni şifreleme anahtarınızı indirme için oturumu kapatıp tekrar açmamamız verilerin bozulmasına neden olabilir. Oturumunuzu otomatik olarak kapatmaya çalışacağız, ancak bu gecikebilir." }, - "updateEncryptionKeyExportWarning": { - "message": "Şifrelenmiş dışa aktarmalarınız da geçersiz olacaktır." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Abonelik" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/uk/messages.json b/apps/web/src/locales/uk/messages.json index 492e07023b3..288e8e840a0 100644 --- a/apps/web/src/locales/uk/messages.json +++ b/apps/web/src/locales/uk/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Позначити програму критичною" }, - "appsMarkedAsCritical": { - "message": "Позначені критичні програми" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Програма" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "Ці учасники використовують у програмах слабкі, викриті, або повторювані паролі." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "Ці програми мають слабкі, викриті, або повторювані паролі." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "Ці учасники використовують у $APPNAME$ слабкі, викриті, або повторювані паролі.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Всього учасників" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "Після оновлення вашого ключа шифрування вам необхідно вийти з системи і потім виконати повторний вхід у всіх програмах Bitwarden, які ви використовуєте. Збій при виході та повторному вході може призвести до пошкодження даних. Ми спробуємо завершити ваші сеанси автоматично, однак, цей процес може відбутися із затримкою." }, - "updateEncryptionKeyExportWarning": { - "message": "Будь-які зашифровані експортування, які ви зберегли, також стануть недійсними." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Передплата" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Оплата з банківським рахунком доступна тільки для клієнтів у США. Вам необхідно буде підтвердити свій банківський рахунок. Ми здійснимо мікродепозит протягом наступних 1–2 робочих днів. Введіть код дескриптора з цього депозиту на сторінці передплати провайдера, щоб підтвердити банківський рахунок. Неможливість засвідчення банківського рахунку призведе до втрати платежу та припинення вашої передплати." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/vi/messages.json b/apps/web/src/locales/vi/messages.json index 67331a08138..cee1bf8ebbd 100644 --- a/apps/web/src/locales/vi/messages.json +++ b/apps/web/src/locales/vi/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "Mark app as critical" }, - "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "Gói" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/apps/web/src/locales/zh_CN/messages.json b/apps/web/src/locales/zh_CN/messages.json index 4db0765b0dc..9805eaac5fd 100644 --- a/apps/web/src/locales/zh_CN/messages.json +++ b/apps/web/src/locales/zh_CN/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "标记应用程序为关键" }, - "appsMarkedAsCritical": { - "message": "应用程序已标记为关键" + "applicationsMarkedAsCriticalSuccess": { + "message": "标记为关键的应用程序" }, "application": { "message": "应用程序" @@ -138,11 +138,17 @@ } }, "atRiskMembersDescription": { - "message": "这些成员正在使用弱的、暴露的或重复使用的密码登录到应用程序。" + "message": "这些成员正登录到具有弱的、暴露的或重复使用的密码的应用程序。" + }, + "atRiskMembersDescriptionNone": { + "message": "没有成员登录到具有弱的、暴露的或重复使用的密码的应用程序。" }, "atRiskApplicationsDescription": { "message": "这些应用程序具有弱的、暴露的或重复使用的密码。" }, + "atRiskApplicationsDescriptionNone": { + "message": "没有具有弱的、暴露的或重复使用的密码的应用程序。" + }, "atRiskMembersDescriptionWithApp": { "message": "这些成员正在使用弱的、暴露的或重复使用的密码登录到 $APPNAME$。", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "$APPNAME$ 中没有存在风险的成员。", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "总的成员" }, @@ -1515,7 +1530,7 @@ "message": "电子邮箱" }, "emailDescV2": { - "message": "请输入发送到您的电子邮箱的代码。" + "message": "输入发送到您的电子邮箱的代码。" }, "continue": { "message": "继续" @@ -2821,7 +2836,7 @@ "message": "支付卡" }, "paypalClickSubmit": { - "message": "点击 PayPal 按钮登录您的 PayPal 账户,然后点击下面的提交按钮继续。" + "message": "选择 PayPal 按钮登录您的 PayPal 账户,然后点击下面的「提交」按钮继续。" }, "cancelSubscription": { "message": "取消订阅" @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "更新加密密钥后,您需要注销所有当前使用的 Bitwarden 应用程序(例如移动 App 或浏览器扩展)然后重新登录。注销或者重新登录(这将下载新的加密密钥)失败可能会导致数据损坏。我们会尝试自动为您注销,但可能会有所延迟。" }, - "updateEncryptionKeyExportWarning": { - "message": "您保存的任何已加密导出也将变为无效。" + "updateEncryptionKeyAccountExportWarning": { + "message": "您已保存的所有账户限制的导出文件将失效。" }, "subscription": { "message": "订阅" @@ -9414,19 +9429,19 @@ "message": "从提供商门户管理账单" }, "continueSettingUp": { - "message": "Continue setting up Bitwarden" + "message": "继续设置 Bitwarden" }, "continueSettingUpFreeTrial": { "message": "继续设置您的免费试用版 Bitwarden" }, "continueSettingUpPasswordManager": { - "message": "Continue setting up Bitwarden Password Manager" + "message": "继续设置 Bitwarden 密码管理器" }, "continueSettingUpFreeTrialPasswordManager": { "message": "继续设置您的免费试用版 Bitwarden 密码管理器" }, "continueSettingUpSecretsManager": { - "message": "Continue setting up Bitwarden Secrets Manager" + "message": "继续设置 Bitwarden 机密管理器" }, "continueSettingUpFreeTrialSecretsManager": { "message": "继续设置您的免费试用版 Bitwarden 机密管理器" @@ -10545,7 +10560,7 @@ "message": "使用自动填充节省时间" }, "newLoginNudgeBodyOne": { - "message": "包含一个", + "message": "包含", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -10555,7 +10570,7 @@ "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "因此此登录将显示为自动填充建议。", + "message": "以便将此登录显示为自动填充建议。", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "使用银行账户付款仅对美国用户开放。您将被要求验证您的银行账户。我们将在 1-2 个工作日内进行一笔小额转账,请在提供商的订阅页面输入该转账的对账单描述符代码以验证银行账户。验证银行账户失败将会错过支付,您的订阅将失效。" + }, + "clickPayWithPayPal": { + "message": "请点击「使用 PayPal 付款」按钮以添加您的付款方式。" } } diff --git a/apps/web/src/locales/zh_TW/messages.json b/apps/web/src/locales/zh_TW/messages.json index 1bb389f4c9b..57dd4c8631f 100644 --- a/apps/web/src/locales/zh_TW/messages.json +++ b/apps/web/src/locales/zh_TW/messages.json @@ -98,8 +98,8 @@ "markAppAsCritical": { "message": "標註應用程式為重要" }, - "appsMarkedAsCritical": { - "message": "被標註重要的應用程式" + "applicationsMarkedAsCriticalSuccess": { + "message": "Applications marked as critical" }, "application": { "message": "Application" @@ -140,9 +140,15 @@ "atRiskMembersDescription": { "message": "These members are logging into applications with weak, exposed, or reused passwords." }, + "atRiskMembersDescriptionNone": { + "message": "These are no members logging into applications with weak, exposed, or reused passwords." + }, "atRiskApplicationsDescription": { "message": "These applications have weak, exposed, or reused passwords." }, + "atRiskApplicationsDescriptionNone": { + "message": "These are no applications with weak, exposed, or reused passwords." + }, "atRiskMembersDescriptionWithApp": { "message": "These members are logging into $APPNAME$ with weak, exposed, or reused passwords.", "placeholders": { @@ -152,6 +158,15 @@ } } }, + "atRiskMembersDescriptionWithAppNone": { + "message": "There are no at risk members for $APPNAME$.", + "placeholders": { + "appname": { + "content": "$1", + "example": "Salesforce" + } + } + }, "totalMembers": { "message": "Total members" }, @@ -4533,8 +4548,8 @@ "updateEncryptionKeyWarning": { "message": "更新加密金鑰後,您需要登出並重新登入目前使用的所有 Bitwarden 應用程式(如行動應用程式或瀏覽器擴充套件)。登出和重新登入(這會下載新的加密金鑰)失敗可能會導致資料損毀。我們將嘗試自動登出,但可能會有所延遲。" }, - "updateEncryptionKeyExportWarning": { - "message": "您儲存的任何已加密匯出的檔案也將變成無效。" + "updateEncryptionKeyAccountExportWarning": { + "message": "Any account restricted exports you have saved will become invalid." }, "subscription": { "message": "訂閱" @@ -10595,5 +10610,8 @@ }, "verifyProviderBankAccountWithStatementDescriptorWarning": { "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make a micro-deposit within the next 1-2 business days. Enter the statement descriptor code from this deposit on the provider's subscription page to verify the bank account. Failure to verify the bank account will result in a missed payment and your subscription being suspended." + }, + "clickPayWithPayPal": { + "message": "Please click the Pay with PayPal button to add your payment method." } } diff --git a/bitwarden_license/bit-web/src/app/admin-console/providers/manage/members.component.html b/bitwarden_license/bit-web/src/app/admin-console/providers/manage/members.component.html index f203b7a934a..66c42678442 100644 --- a/bitwarden_license/bit-web/src/app/admin-console/providers/manage/members.component.html +++ b/bitwarden_license/bit-web/src/app/admin-console/providers/manage/members.component.html @@ -55,7 +55,7 @@ > {{ "providerUsersNeedConfirmed" | i18n }} - + diff --git a/bitwarden_license/bit-web/src/app/admin-console/providers/providers.module.ts b/bitwarden_license/bit-web/src/app/admin-console/providers/providers.module.ts index 01f1facfc15..597acb0d4f0 100644 --- a/bitwarden_license/bit-web/src/app/admin-console/providers/providers.module.ts +++ b/bitwarden_license/bit-web/src/app/admin-console/providers/providers.module.ts @@ -4,7 +4,7 @@ import { NgModule } from "@angular/core"; import { FormsModule } from "@angular/forms"; import { JslibModule } from "@bitwarden/angular/jslib.module"; -import { CardComponent, ScrollLayoutDirective, SearchModule } from "@bitwarden/components"; +import { CardComponent, SearchModule } from "@bitwarden/components"; import { DangerZoneComponent } from "@bitwarden/web-vault/app/auth/settings/account/danger-zone.component"; import { OrganizationPlansComponent } from "@bitwarden/web-vault/app/billing"; import { PaymentComponent } from "@bitwarden/web-vault/app/billing/shared/payment/payment.component"; @@ -53,7 +53,6 @@ import { VerifyRecoverDeleteProviderComponent } from "./verify-recover-delete-pr ScrollingModule, VerifyBankAccountComponent, CardComponent, - ScrollLayoutDirective, PaymentComponent, ], declarations: [ diff --git a/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup.component.ts b/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup.component.ts index cb47b3fe28f..695c57d1fe8 100644 --- a/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup.component.ts +++ b/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup.component.ts @@ -9,6 +9,7 @@ import { first, takeUntil } from "rxjs/operators"; import { ManageTaxInformationComponent } from "@bitwarden/angular/billing/components"; import { ProviderApiServiceAbstraction } from "@bitwarden/common/admin-console/abstractions/provider/provider-api.service.abstraction"; import { ProviderSetupRequest } from "@bitwarden/common/admin-console/models/request/provider/provider-setup.request"; +import { PaymentMethodType } from "@bitwarden/common/billing/enums"; import { ExpandedTaxInfoUpdateRequest } from "@bitwarden/common/billing/models/request/expanded-tax-info-update.request"; import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; @@ -118,7 +119,10 @@ export class SetupComponent implements OnInit, OnDestroy { try { this.formGroup.markAllAsTouched(); - if (!this.taxInformationComponent.validate() || !this.formGroup.valid) { + const paymentValid = this.paymentComponent.validate(); + const taxInformationValid = this.taxInformationComponent.validate(); + + if (!paymentValid || !taxInformationValid || !this.formGroup.valid) { return; } @@ -162,8 +166,20 @@ export class SetupComponent implements OnInit, OnDestroy { await this.router.navigate(["/providers", provider.id]); } catch (e) { - e.message = this.i18nService.translate(e.message) || e.message; - this.validationService.showError(e); + if ( + this.paymentComponent.selected === PaymentMethodType.PayPal && + typeof e === "string" && + e === "No payment method is available." + ) { + this.toastService.showToast({ + variant: "error", + title: null, + message: this.i18nService.t("clickPayWithPayPal"), + }); + } else { + e.message = this.i18nService.translate(e.message) || e.message; + this.validationService.showError(e); + } } }; } diff --git a/bitwarden_license/bit-web/src/app/billing/providers/clients/create-client-dialog.component.ts b/bitwarden_license/bit-web/src/app/billing/providers/clients/create-client-dialog.component.ts index c7d82c3ec09..e74682f64fe 100644 --- a/bitwarden_license/bit-web/src/app/billing/providers/clients/create-client-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/billing/providers/clients/create-client-dialog.component.ts @@ -1,3 +1,4 @@ +import { BasePortalOutlet } from "@angular/cdk/portal"; import { Component, Inject, OnInit } from "@angular/core"; import { FormControl, FormGroup, Validators } from "@angular/forms"; @@ -32,7 +33,8 @@ export const openCreateClientDialog = ( dialogService: DialogService, dialogConfig: DialogConfig< CreateClientDialogParams, - DialogRef + DialogRef, + BasePortalOutlet >, ) => dialogService.open( diff --git a/bitwarden_license/bit-web/src/app/dirt/access-intelligence/risk-insights.component.ts b/bitwarden_license/bit-web/src/app/dirt/access-intelligence/risk-insights.component.ts index 5aca124a46a..e47e1851099 100644 --- a/bitwarden_license/bit-web/src/app/dirt/access-intelligence/risk-insights.component.ts +++ b/bitwarden_license/bit-web/src/app/dirt/access-intelligence/risk-insights.component.ts @@ -32,7 +32,6 @@ import { HeaderModule } from "@bitwarden/web-vault/app/layouts/header/header.mod import { AllApplicationsComponent } from "./all-applications.component"; import { CriticalApplicationsComponent } from "./critical-applications.component"; -import { NotifiedMembersTableComponent } from "./notified-members-table.component"; import { PasswordHealthMembersURIComponent } from "./password-health-members-uri.component"; import { PasswordHealthMembersComponent } from "./password-health-members.component"; import { PasswordHealthComponent } from "./password-health.component"; @@ -59,7 +58,6 @@ export enum RiskInsightsTabType { PasswordHealthComponent, PasswordHealthMembersComponent, PasswordHealthMembersURIComponent, - NotifiedMembersTableComponent, TabsModule, DrawerComponent, DrawerBodyComponent, diff --git a/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts b/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts index 7088d8edfcc..57306d66b4b 100644 --- a/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts +++ b/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts @@ -65,12 +65,8 @@ export class ManageTaxInformationComponent implements OnInit, OnDestroy { }; validate(): boolean { - if (this.formGroup.dirty) { - this.formGroup.markAllAsTouched(); - return this.formGroup.valid; - } else { - return this.formGroup.valid; - } + this.formGroup.markAllAsTouched(); + return this.formGroup.valid; } markAllAsTouched() { diff --git a/libs/angular/src/platform/view-cache/view-cache.md b/libs/angular/src/platform/view-cache/README.md similarity index 100% rename from libs/angular/src/platform/view-cache/view-cache.md rename to libs/angular/src/platform/view-cache/README.md diff --git a/libs/angular/src/platform/view-cache/view-cache.service.ts b/libs/angular/src/platform/view-cache/view-cache.service.ts index 498a29aa242..386ddc7bdd1 100644 --- a/libs/angular/src/platform/view-cache/view-cache.service.ts +++ b/libs/angular/src/platform/view-cache/view-cache.service.ts @@ -42,7 +42,7 @@ export type FormCacheOptions = BaseCacheOptions< /** * Cache for temporary component state * - * [Read more](./view-cache.md) + * [Read more](./README.md) * * #### Implementations * - browser extension popup: used to persist UI between popup open and close diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index e6a7c5222c4..f123ded5f0e 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -27,6 +27,8 @@ import { TwoFactorAuthComponentService, TwoFactorAuthEmailComponentService, TwoFactorAuthWebAuthnComponentService, + ChangePasswordService, + DefaultChangePasswordService, } from "@bitwarden/auth/angular"; import { AuthRequestApiService, @@ -1546,6 +1548,15 @@ const safeProviders: SafeProvider[] = [ useClass: DefaultCipherEncryptionService, deps: [SdkService, LogService], }), + safeProvider({ + provide: ChangePasswordService, + useClass: DefaultChangePasswordService, + deps: [ + KeyService, + MasterPasswordApiServiceAbstraction, + InternalMasterPasswordServiceAbstraction, + ], + }), ]; @NgModule({ diff --git a/libs/auth/src/angular/change-password/change-password.component.html b/libs/auth/src/angular/change-password/change-password.component.html new file mode 100644 index 00000000000..fff873225be --- /dev/null +++ b/libs/auth/src/angular/change-password/change-password.component.html @@ -0,0 +1,20 @@ +@if (initializing) { + + {{ "loading" | i18n }} +} @else { + + +} diff --git a/libs/auth/src/angular/change-password/change-password.component.ts b/libs/auth/src/angular/change-password/change-password.component.ts new file mode 100644 index 00000000000..51c4d03d16f --- /dev/null +++ b/libs/auth/src/angular/change-password/change-password.component.ts @@ -0,0 +1,110 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { firstValueFrom } from "rxjs"; + +import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; +import { MasterPasswordPolicyOptions } from "@bitwarden/common/admin-console/models/domain/master-password-policy-options"; +import { Account, AccountService } from "@bitwarden/common/auth/abstractions/account.service"; +import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; +import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service"; +import { SyncService } from "@bitwarden/common/platform/sync"; +import { UserId } from "@bitwarden/common/types/guid"; +import { ToastService } from "@bitwarden/components"; +import { I18nPipe } from "@bitwarden/ui-common"; + +import { + InputPasswordComponent, + InputPasswordFlow, +} from "../input-password/input-password.component"; +import { PasswordInputResult } from "../input-password/password-input-result"; + +import { ChangePasswordService } from "./change-password.service.abstraction"; + +@Component({ + standalone: true, + selector: "auth-change-password", + templateUrl: "change-password.component.html", + imports: [InputPasswordComponent, I18nPipe], +}) +export class ChangePasswordComponent implements OnInit { + @Input() inputPasswordFlow: InputPasswordFlow = InputPasswordFlow.ChangePassword; + + activeAccount: Account | null = null; + email?: string; + userId?: UserId; + masterPasswordPolicyOptions?: MasterPasswordPolicyOptions; + initializing = true; + submitting = false; + + constructor( + private accountService: AccountService, + private changePasswordService: ChangePasswordService, + private i18nService: I18nService, + private messagingService: MessagingService, + private policyService: PolicyService, + private toastService: ToastService, + private syncService: SyncService, + ) {} + + async ngOnInit() { + this.activeAccount = await firstValueFrom(this.accountService.activeAccount$); + this.userId = this.activeAccount?.id; + this.email = this.activeAccount?.email; + + if (!this.userId) { + throw new Error("userId not found"); + } + + this.masterPasswordPolicyOptions = await firstValueFrom( + this.policyService.masterPasswordPolicyOptions$(this.userId), + ); + + this.initializing = false; + } + + async handlePasswordFormSubmit(passwordInputResult: PasswordInputResult) { + this.submitting = true; + + try { + if (passwordInputResult.rotateUserKey) { + if (this.activeAccount == null) { + throw new Error("activeAccount not found"); + } + + if (passwordInputResult.currentPassword == null) { + throw new Error("currentPassword not found"); + } + + await this.syncService.fullSync(true); + + await this.changePasswordService.rotateUserKeyMasterPasswordAndEncryptedData( + passwordInputResult.currentPassword, + passwordInputResult.newPassword, + this.activeAccount, + passwordInputResult.newPasswordHint, + ); + } else { + if (!this.userId) { + throw new Error("userId not found"); + } + + await this.changePasswordService.changePassword(passwordInputResult, this.userId); + + this.toastService.showToast({ + variant: "success", + title: this.i18nService.t("masterPasswordChanged"), + message: this.i18nService.t("masterPasswordChangedDesc"), + }); + + this.messagingService.send("logout"); + } + } catch { + this.toastService.showToast({ + variant: "error", + title: "", + message: this.i18nService.t("errorOccurred"), + }); + } finally { + this.submitting = false; + } + } +} diff --git a/libs/auth/src/angular/change-password/change-password.service.abstraction.ts b/libs/auth/src/angular/change-password/change-password.service.abstraction.ts new file mode 100644 index 00000000000..b036db439f8 --- /dev/null +++ b/libs/auth/src/angular/change-password/change-password.service.abstraction.ts @@ -0,0 +1,36 @@ +import { PasswordInputResult } from "@bitwarden/auth/angular"; +import { Account } from "@bitwarden/common/auth/abstractions/account.service"; +import { UserId } from "@bitwarden/common/types/guid"; + +export abstract class ChangePasswordService { + /** + * Creates a new user key and re-encrypts all required data with it. + * - does so by calling the underlying method on the `UserKeyRotationService` + * - implemented in Web only + * + * @param currentPassword the current password + * @param newPassword the new password + * @param user the user account + * @param newPasswordHint the new password hint + * @throws if called from a non-Web client + */ + abstract rotateUserKeyMasterPasswordAndEncryptedData( + currentPassword: string, + newPassword: string, + user: Account, + newPasswordHint: string, + ): Promise; + + /** + * Changes the user's password and re-encrypts the user key with the `newMasterKey`. + * - Specifically, this method uses credentials from the `passwordInputResult` to: + * 1. Decrypt the user key with the `currentMasterKey` + * 2. Re-encrypt that user key with the `newMasterKey`, resulting in a `newMasterKeyEncryptedUserKey` + * 3. Build a `PasswordRequest` object that gets POSTed to `"/accounts/password"` + * + * @param passwordInputResult credentials object received from the `InputPasswordComponent` + * @param userId the `userId` + * @throws if the `userId`, `currentMasterKey`, or `currentServerMasterKeyHash` is not found + */ + abstract changePassword(passwordInputResult: PasswordInputResult, userId: UserId): Promise; +} diff --git a/libs/auth/src/angular/change-password/default-change-password.service.spec.ts b/libs/auth/src/angular/change-password/default-change-password.service.spec.ts new file mode 100644 index 00000000000..ab993859d70 --- /dev/null +++ b/libs/auth/src/angular/change-password/default-change-password.service.spec.ts @@ -0,0 +1,177 @@ +import { mock, MockProxy } from "jest-mock-extended"; + +import { Account } from "@bitwarden/common/auth/abstractions/account.service"; +import { MasterPasswordApiService } from "@bitwarden/common/auth/abstractions/master-password-api.service.abstraction"; +import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction"; +import { EncString } from "@bitwarden/common/platform/models/domain/enc-string"; +import { SymmetricCryptoKey } from "@bitwarden/common/platform/models/domain/symmetric-crypto-key"; +import { UserId } from "@bitwarden/common/types/guid"; +import { MasterKey, UserKey } from "@bitwarden/common/types/key"; +import { KeyService, PBKDF2KdfConfig } from "@bitwarden/key-management"; + +import { PasswordInputResult } from "../input-password/password-input-result"; + +import { ChangePasswordService } from "./change-password.service.abstraction"; +import { DefaultChangePasswordService } from "./default-change-password.service"; + +describe("DefaultChangePasswordService", () => { + let keyService: MockProxy; + let masterPasswordApiService: MockProxy; + let masterPasswordService: MockProxy; + + let sut: ChangePasswordService; + + const userId = "userId" as UserId; + + const user: Account = { + id: userId, + email: "email", + emailVerified: false, + name: "name", + }; + + const passwordInputResult: PasswordInputResult = { + currentMasterKey: new SymmetricCryptoKey(new Uint8Array(32)) as MasterKey, + currentServerMasterKeyHash: "currentServerMasterKeyHash", + + newPassword: "newPassword", + newPasswordHint: "newPasswordHint", + newMasterKey: new SymmetricCryptoKey(new Uint8Array(32)) as MasterKey, + newServerMasterKeyHash: "newServerMasterKeyHash", + newLocalMasterKeyHash: "newLocalMasterKeyHash", + + kdfConfig: new PBKDF2KdfConfig(), + }; + + const decryptedUserKey = new SymmetricCryptoKey(new Uint8Array(64)) as UserKey; + const newMasterKeyEncryptedUserKey: [UserKey, EncString] = [ + decryptedUserKey, + { encryptedString: "newMasterKeyEncryptedUserKey" } as EncString, + ]; + + beforeEach(() => { + keyService = mock(); + masterPasswordApiService = mock(); + masterPasswordService = mock(); + + sut = new DefaultChangePasswordService( + keyService, + masterPasswordApiService, + masterPasswordService, + ); + + masterPasswordService.decryptUserKeyWithMasterKey.mockResolvedValue(decryptedUserKey); + keyService.encryptUserKeyWithMasterKey.mockResolvedValue(newMasterKeyEncryptedUserKey); + }); + + describe("changePassword()", () => { + it("should call the postPassword() API method with a the correct PasswordRequest credentials", async () => { + // Act + await sut.changePassword(passwordInputResult, userId); + + // Assert + expect(masterPasswordApiService.postPassword).toHaveBeenCalledWith( + expect.objectContaining({ + masterPasswordHash: passwordInputResult.currentServerMasterKeyHash, + masterPasswordHint: passwordInputResult.newPasswordHint, + newMasterPasswordHash: passwordInputResult.newServerMasterKeyHash, + key: newMasterKeyEncryptedUserKey[1].encryptedString, + }), + ); + }); + + it("should call decryptUserKeyWithMasterKey and encryptUserKeyWithMasterKey", async () => { + // Act + await sut.changePassword(passwordInputResult, userId); + + // Assert + expect(masterPasswordService.decryptUserKeyWithMasterKey).toHaveBeenCalledWith( + passwordInputResult.currentMasterKey, + userId, + ); + expect(keyService.encryptUserKeyWithMasterKey).toHaveBeenCalledWith( + passwordInputResult.newMasterKey, + decryptedUserKey, + ); + }); + + it("should throw if a userId was not found", async () => { + // Arrange + const userId: null = null; + + // Act + const testFn = sut.changePassword(passwordInputResult, userId); + + // Assert + await expect(testFn).rejects.toThrow("userId not found"); + }); + + it("should throw if a currentMasterKey was not found", async () => { + // Arrange + const incorrectPasswordInputResult = { ...passwordInputResult }; + incorrectPasswordInputResult.currentMasterKey = null; + + // Act + const testFn = sut.changePassword(incorrectPasswordInputResult, userId); + + // Assert + await expect(testFn).rejects.toThrow( + "currentMasterKey or currentServerMasterKeyHash not found", + ); + }); + + it("should throw if a currentServerMasterKeyHash was not found", async () => { + // Arrange + const incorrectPasswordInputResult = { ...passwordInputResult }; + incorrectPasswordInputResult.currentServerMasterKeyHash = null; + + // Act + const testFn = sut.changePassword(incorrectPasswordInputResult, userId); + + // Assert + await expect(testFn).rejects.toThrow( + "currentMasterKey or currentServerMasterKeyHash not found", + ); + }); + + it("should throw an error if user key decryption fails", async () => { + // Arrange + masterPasswordService.decryptUserKeyWithMasterKey.mockResolvedValue(null); + + // Act + const testFn = sut.changePassword(passwordInputResult, userId); + + // Assert + await expect(testFn).rejects.toThrow("Could not decrypt user key"); + }); + + it("should throw an error if postPassword() fails", async () => { + // Arrange + masterPasswordApiService.postPassword.mockRejectedValueOnce(new Error("error")); + + // Act + const testFn = sut.changePassword(passwordInputResult, userId); + + // Assert + await expect(testFn).rejects.toThrow("Could not change password"); + expect(masterPasswordApiService.postPassword).toHaveBeenCalled(); + }); + }); + + describe("rotateUserKeyMasterPasswordAndEncryptedData()", () => { + it("should throw an error (the method is only implemented in Web)", async () => { + // Act + const testFn = sut.rotateUserKeyMasterPasswordAndEncryptedData( + "currentPassword", + "newPassword", + user, + "newPasswordHint", + ); + + // Assert + await expect(testFn).rejects.toThrow( + "rotateUserKeyMasterPasswordAndEncryptedData() is only implemented in Web", + ); + }); + }); +}); diff --git a/libs/auth/src/angular/change-password/default-change-password.service.ts b/libs/auth/src/angular/change-password/default-change-password.service.ts new file mode 100644 index 00000000000..315f979aad9 --- /dev/null +++ b/libs/auth/src/angular/change-password/default-change-password.service.ts @@ -0,0 +1,59 @@ +import { PasswordInputResult, ChangePasswordService } from "@bitwarden/auth/angular"; +import { Account } from "@bitwarden/common/auth/abstractions/account.service"; +import { MasterPasswordApiService } from "@bitwarden/common/auth/abstractions/master-password-api.service.abstraction"; +import { PasswordRequest } from "@bitwarden/common/auth/models/request/password.request"; +import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction"; +import { UserId } from "@bitwarden/common/types/guid"; +import { KeyService } from "@bitwarden/key-management"; + +export class DefaultChangePasswordService implements ChangePasswordService { + constructor( + protected keyService: KeyService, + protected masterPasswordApiService: MasterPasswordApiService, + protected masterPasswordService: InternalMasterPasswordServiceAbstraction, + ) {} + + async rotateUserKeyMasterPasswordAndEncryptedData( + currentPassword: string, + newPassword: string, + user: Account, + hint: string, + ): Promise { + throw new Error("rotateUserKeyMasterPasswordAndEncryptedData() is only implemented in Web"); + } + + async changePassword(passwordInputResult: PasswordInputResult, userId: UserId) { + if (!userId) { + throw new Error("userId not found"); + } + if (!passwordInputResult.currentMasterKey || !passwordInputResult.currentServerMasterKeyHash) { + throw new Error("currentMasterKey or currentServerMasterKeyHash not found"); + } + + const decryptedUserKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( + passwordInputResult.currentMasterKey, + userId, + ); + + if (decryptedUserKey == null) { + throw new Error("Could not decrypt user key"); + } + + const newMasterKeyEncryptedUserKey = await this.keyService.encryptUserKeyWithMasterKey( + passwordInputResult.newMasterKey, + decryptedUserKey, + ); + + const request = new PasswordRequest(); + request.masterPasswordHash = passwordInputResult.currentServerMasterKeyHash; + request.newMasterPasswordHash = passwordInputResult.newServerMasterKeyHash; + request.masterPasswordHint = passwordInputResult.newPasswordHint; + request.key = newMasterKeyEncryptedUserKey[1].encryptedString as string; + + try { + await this.masterPasswordApiService.postPassword(request); + } catch { + throw new Error("Could not change password"); + } + } +} diff --git a/libs/auth/src/angular/index.ts b/libs/auth/src/angular/index.ts index 91d34a34838..f4f6cc71a42 100644 --- a/libs/auth/src/angular/index.ts +++ b/libs/auth/src/angular/index.ts @@ -8,6 +8,11 @@ export * from "./anon-layout/anon-layout-wrapper.component"; export * from "./anon-layout/anon-layout-wrapper-data.service"; export * from "./anon-layout/default-anon-layout-wrapper-data.service"; +// change password +export * from "./change-password/change-password.component"; +export * from "./change-password/change-password.service.abstraction"; +export * from "./change-password/default-change-password.service"; + // fingerprint dialog export * from "./fingerprint-dialog/fingerprint-dialog.component"; diff --git a/libs/auth/src/angular/input-password/input-password.component.html b/libs/auth/src/angular/input-password/input-password.component.html index 39995f9f44f..8955a7b40b1 100644 --- a/libs/auth/src/angular/input-password/input-password.component.html +++ b/libs/auth/src/angular/input-password/input-password.component.html @@ -6,8 +6,8 @@ {{ "currentMasterPass" | i18n }} @@ -58,12 +58,12 @@
- {{ "confirmMasterPassword" | i18n }} + {{ "confirmNewMasterPass" | i18n }} - - - `, + template: ``, }) class StoryDialogComponent { constructor(public dialogService: DialogService) {} @@ -41,14 +31,6 @@ class StoryDialogComponent { }, }); } - - openDrawer() { - this.dialogService.openDrawer(StoryDialogContentComponent, { - data: { - animal: "panda", - }, - }); - } } @Component({ @@ -83,37 +65,25 @@ export default { title: "Component Library/Dialogs/Service", component: StoryDialogComponent, decorators: [ - positionFixedWrapperDecorator(), moduleMetadata({ declarations: [StoryDialogContentComponent], imports: [ SharedModule, ButtonModule, - NoopAnimationsModule, DialogModule, IconButtonModule, DialogCloseDirective, DialogComponent, DialogTitleContainerDirective, - RouterTestingModule, - LayoutComponent, ], - providers: [DialogService], - }), - applicationConfig({ providers: [ + DialogService, { provide: I18nService, useFactory: () => { return new I18nMockService({ close: "Close", - search: "Search", - skipToContent: "Skip to content", - submenu: "submenu", - toggleCollapse: "toggle collapse", - toggleSideNavigation: "Toggle side navigation", - yes: "Yes", - no: "No", + loading: "Loading", }); }, }, @@ -130,21 +100,4 @@ export default { type Story = StoryObj; -export const Default: Story = { - play: async (context) => { - const canvas = context.canvasElement; - - const button = getAllByRole(canvas, "button")[0]; - await userEvent.click(button); - }, -}; - -/** Drawers must be a descendant of `bit-layout`. */ -export const Drawer: Story = { - play: async (context) => { - const canvas = context.canvasElement; - - const button = getAllByRole(canvas, "button")[1]; - await userEvent.click(button); - }, -}; +export const Default: Story = {}; diff --git a/libs/components/src/dialog/dialog.service.ts b/libs/components/src/dialog/dialog.service.ts index 409bf0a5b55..83aaaff470e 100644 --- a/libs/components/src/dialog/dialog.service.ts +++ b/libs/components/src/dialog/dialog.service.ts @@ -1,25 +1,31 @@ +// FIXME: Update this file to be type safe and remove this and next line +// @ts-strict-ignore import { - Dialog as CdkDialog, - DialogConfig as CdkDialogConfig, - DialogRef as CdkDialogRefBase, - DIALOG_DATA, - DialogCloseOptions, + DEFAULT_DIALOG_CONFIG, + Dialog, + DialogConfig, + DialogRef, + DIALOG_SCROLL_STRATEGY, } from "@angular/cdk/dialog"; -import { ComponentType, ScrollStrategy } from "@angular/cdk/overlay"; -import { ComponentPortal, Portal } from "@angular/cdk/portal"; -import { Injectable, Injector, TemplateRef, inject } from "@angular/core"; -import { takeUntilDestroyed } from "@angular/core/rxjs-interop"; +import { ComponentType, Overlay, OverlayContainer, ScrollStrategy } from "@angular/cdk/overlay"; +import { + Inject, + Injectable, + Injector, + OnDestroy, + Optional, + SkipSelf, + TemplateRef, +} from "@angular/core"; import { NavigationEnd, Router } from "@angular/router"; -import { filter, firstValueFrom, map, Observable, Subject, switchMap } from "rxjs"; +import { filter, firstValueFrom, Subject, switchMap, takeUntil } from "rxjs"; import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service"; import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; -import { DrawerService } from "../drawer/drawer.service"; - import { SimpleConfigurableDialogComponent } from "./simple-dialog/simple-configurable-dialog/simple-configurable-dialog.component"; -import { SimpleDialogOptions } from "./simple-dialog/types"; +import { SimpleDialogOptions, Translation } from "./simple-dialog/types"; /** * The default `BlockScrollStrategy` does not work well with virtual scrolling. @@ -42,163 +48,61 @@ class CustomBlockScrollStrategy implements ScrollStrategy { detach() {} } -export abstract class DialogRef - implements Pick, "close" | "closed" | "disableClose" | "componentInstance"> -{ - abstract readonly isDrawer?: boolean; - - // --- From CdkDialogRef --- - abstract close(result?: R, options?: DialogCloseOptions): void; - abstract readonly closed: Observable; - abstract disableClose: boolean | undefined; - /** - * @deprecated - * Does not work with drawer dialogs. - **/ - abstract componentInstance: C | null; -} - -export type DialogConfig = Pick< - CdkDialogConfig, - "data" | "disableClose" | "ariaModal" | "positionStrategy" | "height" | "width" ->; - -class DrawerDialogRef implements DialogRef { - readonly isDrawer = true; - - private _closed = new Subject(); - closed = this._closed.asObservable(); - disableClose = false; - - /** The portal containing the drawer */ - portal?: Portal; - - constructor(private drawerService: DrawerService) {} - - close(result?: R, _options?: DialogCloseOptions): void { - if (this.disableClose) { - return; - } - this.drawerService.close(this.portal!); - this._closed.next(result); - this._closed.complete(); - } - - componentInstance: C | null = null; -} - -/** - * DialogRef that delegates functionality to the CDK implementation - **/ -export class CdkDialogRef implements DialogRef { - readonly isDrawer = false; - - /** This is not available until after construction, @see DialogService.open. */ - cdkDialogRefBase!: CdkDialogRefBase; - - // --- Delegated to CdkDialogRefBase --- - - close(result?: R, options?: DialogCloseOptions): void { - this.cdkDialogRefBase.close(result, options); - } - - get closed(): Observable { - return this.cdkDialogRefBase.closed; - } - - get disableClose(): boolean | undefined { - return this.cdkDialogRefBase.disableClose; - } - set disableClose(value: boolean | undefined) { - this.cdkDialogRefBase.disableClose = value; - } - - // Delegate the `componentInstance` property to the CDK DialogRef - get componentInstance(): C | null { - return this.cdkDialogRefBase.componentInstance; - } -} - @Injectable() -export class DialogService { - private dialog = inject(CdkDialog); - private drawerService = inject(DrawerService); - private injector = inject(Injector); - private router = inject(Router, { optional: true }); - private authService = inject(AuthService, { optional: true }); - private i18nService = inject(I18nService); +export class DialogService extends Dialog implements OnDestroy { + private _destroy$ = new Subject(); private backDropClasses = ["tw-fixed", "tw-bg-black", "tw-bg-opacity-30", "tw-inset-0"]; - private defaultScrollStrategy = new CustomBlockScrollStrategy(); - private activeDrawer: DrawerDialogRef | null = null; - constructor() { - /** - * TODO: This logic should exist outside of `libs/components`. - * @see https://bitwarden.atlassian.net/browse/CL-657 - **/ + private defaultScrollStrategy = new CustomBlockScrollStrategy(); + + constructor( + /** Parent class constructor */ + _overlay: Overlay, + _injector: Injector, + @Optional() @Inject(DEFAULT_DIALOG_CONFIG) _defaultOptions: DialogConfig, + @Optional() @SkipSelf() _parentDialog: Dialog, + _overlayContainer: OverlayContainer, + @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any, + + /** Not in parent class */ + @Optional() router: Router, + @Optional() authService: AuthService, + + protected i18nService: I18nService, + ) { + super(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, scrollStrategy); + /** Close all open dialogs if the vault locks */ - if (this.router && this.authService) { - this.router.events + if (router && authService) { + router.events .pipe( filter((event) => event instanceof NavigationEnd), - switchMap(() => this.authService!.getAuthStatus()), + switchMap(() => authService.getAuthStatus()), filter((v) => v !== AuthenticationStatus.Unlocked), - takeUntilDestroyed(), + takeUntil(this._destroy$), ) .subscribe(() => this.closeAll()); } } - open( + override ngOnDestroy(): void { + this._destroy$.next(); + this._destroy$.complete(); + super.ngOnDestroy(); + } + + override open( componentOrTemplateRef: ComponentType | TemplateRef, config?: DialogConfig>, ): DialogRef { - /** - * This is a bit circular in nature: - * We need the DialogRef instance for the DI injector that is passed *to* `Dialog.open`, - * but we get the base CDK DialogRef instance *from* `Dialog.open`. - * - * To break the circle, we define CDKDialogRef as a wrapper for the CDKDialogRefBase. - * This allows us to create the class instance and provide the base instance later, almost like "deferred inheritance". - **/ - const ref = new CdkDialogRef(); - const injector = this.createInjector({ - data: config?.data, - dialogRef: ref, - }); - - // Merge the custom config with the default config - const _config = { + config = { backdropClass: this.backDropClasses, scrollStrategy: this.defaultScrollStrategy, - injector, ...config, }; - ref.cdkDialogRefBase = this.dialog.open(componentOrTemplateRef, _config); - return ref; - } - - /** Opens a dialog in the side drawer */ - openDrawer( - component: ComponentType, - config?: DialogConfig>, - ): DialogRef { - this.activeDrawer?.close(); - /** - * This is also circular. When creating the DrawerDialogRef, we do not yet have a portal instance to provide to the injector. - * Similar to `this.open`, we get around this with mutability. - */ - this.activeDrawer = new DrawerDialogRef(this.drawerService); - const portal = new ComponentPortal( - component, - null, - this.createInjector({ data: config?.data, dialogRef: this.activeDrawer }), - ); - this.activeDrawer.portal = portal; - this.drawerService.open(portal); - return this.activeDrawer; + return super.open(componentOrTemplateRef, config); } /** @@ -209,7 +113,8 @@ export class DialogService { */ async openSimpleDialog(simpleDialogOptions: SimpleDialogOptions): Promise { const dialogRef = this.openSimpleDialogRef(simpleDialogOptions); - return firstValueFrom(dialogRef.closed.pipe(map((v: boolean | undefined) => !!v))); + + return firstValueFrom(dialogRef.closed); } /** @@ -229,29 +134,20 @@ export class DialogService { }); } - /** Close all open dialogs */ - closeAll(): void { - return this.dialog.closeAll(); - } + protected translate(translation: string | Translation, defaultKey?: string): string { + if (translation == null && defaultKey == null) { + return null; + } - /** The injector that is passed to the opened dialog */ - private createInjector(opts: { data: unknown; dialogRef: DialogRef }): Injector { - return Injector.create({ - providers: [ - { - provide: DIALOG_DATA, - useValue: opts.data, - }, - { - provide: DialogRef, - useValue: opts.dialogRef, - }, - { - provide: CdkDialogRefBase, - useValue: opts.dialogRef, - }, - ], - parent: this.injector, - }); + if (translation == null) { + return this.i18nService.t(defaultKey); + } + + // Translation interface use implies we must localize. + if (typeof translation === "object") { + return this.i18nService.t(translation.key, ...(translation.placeholders ?? [])); + } + + return translation; } } diff --git a/libs/components/src/dialog/dialog/dialog.component.html b/libs/components/src/dialog/dialog/dialog.component.html index eaf7fc2beec..01f05985127 100644 --- a/libs/components/src/dialog/dialog/dialog.component.html +++ b/libs/components/src/dialog/dialog/dialog.component.html @@ -1,22 +1,12 @@ -@let isDrawer = dialogRef?.isDrawer;
- @let showHeaderBorder = !isDrawer || background === "alt" || bodyHasScrolledFrom().top;
-

} -

+
- @let showFooterBorder = !isDrawer || background === "alt" || bodyHasScrolledFrom().bottom; diff --git a/libs/components/src/dialog/dialog/dialog.component.ts b/libs/components/src/dialog/dialog/dialog.component.ts index 8cf9cd18c78..504dbd3a1ea 100644 --- a/libs/components/src/dialog/dialog/dialog.component.ts +++ b/libs/components/src/dialog/dialog/dialog.component.ts @@ -1,18 +1,14 @@ // FIXME: Update this file to be type safe and remove this and next line // @ts-strict-ignore -import { CdkTrapFocus } from "@angular/cdk/a11y"; import { coerceBooleanProperty } from "@angular/cdk/coercion"; -import { CdkScrollable } from "@angular/cdk/scrolling"; import { CommonModule } from "@angular/common"; -import { Component, HostBinding, Input, inject, viewChild } from "@angular/core"; +import { Component, HostBinding, Input } from "@angular/core"; import { I18nPipe } from "@bitwarden/ui-common"; import { BitIconButtonComponent } from "../../icon-button/icon-button.component"; import { TypographyDirective } from "../../typography/typography.directive"; -import { hasScrolledFrom } from "../../utils/has-scrolled-from"; import { fadeIn } from "../animations"; -import { DialogRef } from "../dialog.service"; import { DialogCloseDirective } from "../directives/dialog-close.directive"; import { DialogTitleContainerDirective } from "../directives/dialog-title-container.directive"; @@ -21,9 +17,6 @@ import { DialogTitleContainerDirective } from "../directives/dialog-title-contai templateUrl: "./dialog.component.html", animations: [fadeIn], standalone: true, - host: { - "(keydown.esc)": "handleEsc($event)", - }, imports: [ CommonModule, DialogTitleContainerDirective, @@ -31,15 +24,9 @@ import { DialogTitleContainerDirective } from "../directives/dialog-title-contai BitIconButtonComponent, DialogCloseDirective, I18nPipe, - CdkTrapFocus, - CdkScrollable, ], }) export class DialogComponent { - protected dialogRef = inject(DialogRef, { optional: true }); - private scrollableBody = viewChild.required(CdkScrollable); - protected bodyHasScrolledFrom = hasScrolledFrom(this.scrollableBody); - /** Background color */ @Input() background: "default" | "alt" = "default"; @@ -77,31 +64,21 @@ export class DialogComponent { @HostBinding("class") get classes() { // `tw-max-h-[90vh]` is needed to prevent dialogs from overlapping the desktop header - return ["tw-flex", "tw-flex-col", "tw-w-screen"] - .concat( - this.width, - this.dialogRef?.isDrawer - ? ["tw-min-h-screen", "md:tw-w-[23rem]"] - : ["tw-p-4", "tw-w-screen", "tw-max-h-[90vh]"], - ) - .flat(); - } - - handleEsc(event: Event) { - this.dialogRef?.close(); - event.stopPropagation(); + return ["tw-flex", "tw-flex-col", "tw-w-screen", "tw-p-4", "tw-max-h-[90vh]"].concat( + this.width, + ); } get width() { switch (this.dialogSize) { case "small": { - return "md:tw-max-w-sm"; + return "tw-max-w-sm"; } case "large": { - return "md:tw-max-w-3xl"; + return "tw-max-w-3xl"; } default: { - return "md:tw-max-w-xl"; + return "tw-max-w-xl"; } } } diff --git a/libs/components/src/dialog/dialogs.mdx b/libs/components/src/dialog/dialogs.mdx index 3f44f31a5eb..63df0bfc131 100644 --- a/libs/components/src/dialog/dialogs.mdx +++ b/libs/components/src/dialog/dialogs.mdx @@ -22,9 +22,6 @@ For alerts or simple confirmation actions, like speedbumps, use the Dialogs's should be used sparingly as they do call extra attention to themselves and can be interruptive if overused. -For non-blocking, supplementary content, open dialogs as a -[Drawer](?path=/story/component-library-dialogs-service--drawer) (requires `bit-layout`). - ## Placement Dialogs should be centered vertically and horizontally on screen. Dialogs height should expand to diff --git a/libs/components/src/dialog/index.ts b/libs/components/src/dialog/index.ts index fb4c2721b81..0ab9a5d9e67 100644 --- a/libs/components/src/dialog/index.ts +++ b/libs/components/src/dialog/index.ts @@ -1,4 +1,4 @@ export * from "./dialog.module"; export * from "./simple-dialog/types"; export * from "./dialog.service"; -export { DIALOG_DATA } from "@angular/cdk/dialog"; +export { DialogConfig, DIALOG_DATA, DialogRef } from "@angular/cdk/dialog"; diff --git a/libs/components/src/drawer/drawer-body.component.ts b/libs/components/src/drawer/drawer-body.component.ts index 563987dd8b0..9bd2adcffbc 100644 --- a/libs/components/src/drawer/drawer-body.component.ts +++ b/libs/components/src/drawer/drawer-body.component.ts @@ -1,7 +1,7 @@ import { CdkScrollable } from "@angular/cdk/scrolling"; -import { ChangeDetectionStrategy, Component } from "@angular/core"; - -import { hasScrolledFrom } from "../utils/has-scrolled-from"; +import { ChangeDetectionStrategy, Component, Signal, inject } from "@angular/core"; +import { toSignal } from "@angular/core/rxjs-interop"; +import { map } from "rxjs"; /** * Body container for `bit-drawer` @@ -14,7 +14,7 @@ import { hasScrolledFrom } from "../utils/has-scrolled-from"; host: { class: "tw-p-4 tw-pt-0 tw-block tw-overflow-auto tw-border-solid tw-border tw-border-transparent tw-transition-colors tw-duration-200", - "[class.tw-border-t-secondary-300]": "this.hasScrolledFrom().top", + "[class.tw-border-t-secondary-300]": "isScrolled()", }, hostDirectives: [ { @@ -24,5 +24,13 @@ import { hasScrolledFrom } from "../utils/has-scrolled-from"; template: ` `, }) export class DrawerBodyComponent { - protected hasScrolledFrom = hasScrolledFrom(); + private scrollable = inject(CdkScrollable); + + /** TODO: share this utility with browser popup header? */ + protected isScrolled: Signal = toSignal( + this.scrollable + .elementScrolled() + .pipe(map(() => this.scrollable.measureScrollOffset("top") > 0)), + { initialValue: false }, + ); } diff --git a/libs/components/src/drawer/drawer.component.ts b/libs/components/src/drawer/drawer.component.ts index 351be57e07b..ccabb6f0b6e 100644 --- a/libs/components/src/drawer/drawer.component.ts +++ b/libs/components/src/drawer/drawer.component.ts @@ -10,7 +10,7 @@ import { viewChild, } from "@angular/core"; -import { DrawerService } from "./drawer.service"; +import { DrawerHostDirective } from "./drawer-host.directive"; /** * A drawer is a panel of supplementary content that is adjacent to the page's main content. @@ -25,7 +25,7 @@ import { DrawerService } from "./drawer.service"; templateUrl: "drawer.component.html", }) export class DrawerComponent { - private drawerHost = inject(DrawerService); + private drawerHost = inject(DrawerHostDirective); private portal = viewChild.required(CdkPortal); /** diff --git a/libs/components/src/drawer/drawer.mdx b/libs/components/src/drawer/drawer.mdx index bc99fa290d6..57d618cfe95 100644 --- a/libs/components/src/drawer/drawer.mdx +++ b/libs/components/src/drawer/drawer.mdx @@ -12,8 +12,6 @@ import { DrawerComponent } from "@bitwarden/components"; # Drawer -**Note: `bit-drawer` is deprecated. Use `bit-dialog` and `DialogService.openDrawer(...)` instead.** - A drawer is a panel of supplementary content that is adjacent to the page's main content. diff --git a/libs/components/src/drawer/drawer.service.ts b/libs/components/src/drawer/drawer.service.ts deleted file mode 100644 index dd8575efee8..00000000000 --- a/libs/components/src/drawer/drawer.service.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Portal } from "@angular/cdk/portal"; -import { Injectable, signal } from "@angular/core"; - -@Injectable({ providedIn: "root" }) -export class DrawerService { - private _portal = signal | undefined>(undefined); - - /** The portal to display */ - portal = this._portal.asReadonly(); - - open(portal: Portal) { - this._portal.set(portal); - } - - close(portal: Portal) { - if (portal === this.portal()) { - this._portal.set(undefined); - } - } -} diff --git a/libs/components/src/layout/index.ts b/libs/components/src/layout/index.ts index a257a4dde85..6994a4f639f 100644 --- a/libs/components/src/layout/index.ts +++ b/libs/components/src/layout/index.ts @@ -1,2 +1 @@ export * from "./layout.component"; -export * from "./scroll-layout.directive"; diff --git a/libs/components/src/layout/layout.component.html b/libs/components/src/layout/layout.component.html index 19280c99756..33b8de81572 100644 --- a/libs/components/src/layout/layout.component.html +++ b/libs/components/src/layout/layout.component.html @@ -1,52 +1,43 @@ -@let mainContentId = "main-content"; -
-
- - -
- - - - @if ( - { - open: sideNavService.open$ | async, - }; - as data - ) { -
- @if (data.open) { -
- } -
- } -
-
-
- -
+ +
+
+ +
+ + + + @if ( + { + open: sideNavService.open$ | async, + }; + as data + ) { +
+ @if (data.open) { +
+ } +
+ } +
+
diff --git a/libs/components/src/layout/layout.component.ts b/libs/components/src/layout/layout.component.ts index 6ee7dd8222e..7bf8a6ad173 100644 --- a/libs/components/src/layout/layout.component.ts +++ b/libs/components/src/layout/layout.component.ts @@ -1,10 +1,9 @@ -import { A11yModule, CdkTrapFocus } from "@angular/cdk/a11y"; import { PortalModule } from "@angular/cdk/portal"; import { CommonModule } from "@angular/common"; -import { Component, ElementRef, inject, viewChild } from "@angular/core"; +import { Component, inject } from "@angular/core"; import { RouterModule } from "@angular/router"; -import { DrawerService } from "../drawer/drawer.service"; +import { DrawerHostDirective } from "../drawer/drawer-host.directive"; import { LinkModule } from "../link"; import { SideNavService } from "../navigation/side-nav.service"; import { SharedModule } from "../shared"; @@ -13,23 +12,16 @@ import { SharedModule } from "../shared"; selector: "bit-layout", templateUrl: "layout.component.html", standalone: true, - imports: [ - CommonModule, - SharedModule, - LinkModule, - RouterModule, - PortalModule, - A11yModule, - CdkTrapFocus, - ], + imports: [CommonModule, SharedModule, LinkModule, RouterModule, PortalModule], + hostDirectives: [DrawerHostDirective], }) export class LayoutComponent { + protected mainContentId = "main-content"; + protected sideNavService = inject(SideNavService); - protected drawerPortal = inject(DrawerService).portal; + protected drawerPortal = inject(DrawerHostDirective).portal; - private mainContent = viewChild.required>("main"); - - protected focusMainContent() { - this.mainContent().nativeElement.focus(); + focusMainContent() { + document.getElementById(this.mainContentId)?.focus(); } } diff --git a/libs/components/src/layout/scroll-layout.directive.ts b/libs/components/src/layout/scroll-layout.directive.ts deleted file mode 100644 index d3ea2bf557b..00000000000 --- a/libs/components/src/layout/scroll-layout.directive.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Directionality } from "@angular/cdk/bidi"; -import { CdkVirtualScrollable, ScrollDispatcher, VIRTUAL_SCROLLABLE } from "@angular/cdk/scrolling"; -import { Directive, ElementRef, NgZone, Optional } from "@angular/core"; - -@Directive({ - selector: "cdk-virtual-scroll-viewport[bitScrollLayout]", - standalone: true, - providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: ScrollLayoutDirective }], -}) -export class ScrollLayoutDirective extends CdkVirtualScrollable { - private mainRef: ElementRef; - - constructor(scrollDispatcher: ScrollDispatcher, ngZone: NgZone, @Optional() dir: Directionality) { - const mainEl = document.querySelector("main")!; - if (!mainEl) { - // eslint-disable-next-line no-console - console.error("HTML main element must be an ancestor of [bitScrollLayout]"); - } - const mainRef = new ElementRef(mainEl); - super(mainRef, scrollDispatcher, ngZone, dir); - this.mainRef = mainRef; - } - - override getElementRef(): ElementRef { - return this.mainRef; - } - - override measureBoundingClientRectWithScrollOffset( - from: "left" | "top" | "right" | "bottom", - ): number { - return ( - this.mainRef.nativeElement.getBoundingClientRect()[from] - this.measureScrollOffset(from) - ); - } -} diff --git a/libs/components/src/menu/menu-trigger-for.directive.ts b/libs/components/src/menu/menu-trigger-for.directive.ts index 96d430c5e6a..bc174d14d23 100644 --- a/libs/components/src/menu/menu-trigger-for.directive.ts +++ b/libs/components/src/menu/menu-trigger-for.directive.ts @@ -16,11 +16,7 @@ import { filter, mergeWith } from "rxjs/operators"; import { MenuComponent } from "./menu.component"; -@Directive({ - selector: "[bitMenuTriggerFor]", - exportAs: "menuTrigger", - standalone: true, -}) +@Directive({ selector: "[bitMenuTriggerFor]", exportAs: "menuTrigger", standalone: true }) export class MenuTriggerForDirective implements OnDestroy { @HostBinding("attr.aria-expanded") isOpen = false; @HostBinding("attr.aria-haspopup") get hasPopup(): "menu" | "dialog" { @@ -42,18 +38,10 @@ export class MenuTriggerForDirective implements OnDestroy { .position() .flexibleConnectedTo(this.elementRef) .withPositions([ - { - originX: "start", - originY: "bottom", - overlayX: "start", - overlayY: "top", - }, - { - originX: "end", - originY: "bottom", - overlayX: "end", - overlayY: "top", - }, + { originX: "start", originY: "bottom", overlayX: "start", overlayY: "top" }, + { originX: "end", originY: "bottom", overlayX: "end", overlayY: "top" }, + { originX: "start", originY: "top", overlayX: "start", overlayY: "bottom" }, + { originX: "end", originY: "top", overlayX: "end", overlayY: "bottom" }, ]) .withLockedPosition(true) .withFlexibleDimensions(false) diff --git a/libs/components/src/stories/kitchen-sink/components/dialog-virtual-scroll-block.component.ts b/libs/components/src/stories/kitchen-sink/components/dialog-virtual-scroll-block.component.ts index 904b9e11c3a..7709506f050 100644 --- a/libs/components/src/stories/kitchen-sink/components/dialog-virtual-scroll-block.component.ts +++ b/libs/components/src/stories/kitchen-sink/components/dialog-virtual-scroll-block.component.ts @@ -3,23 +3,15 @@ import { Component, OnInit } from "@angular/core"; import { DialogModule, DialogService } from "../../../dialog"; import { IconButtonModule } from "../../../icon-button"; -import { ScrollLayoutDirective } from "../../../layout"; import { SectionComponent } from "../../../section"; import { TableDataSource, TableModule } from "../../../table"; @Component({ selector: "dialog-virtual-scroll-block", standalone: true, - imports: [ - DialogModule, - IconButtonModule, - SectionComponent, - TableModule, - ScrollingModule, - ScrollLayoutDirective, - ], + imports: [DialogModule, IconButtonModule, SectionComponent, TableModule, ScrollingModule], template: /*html*/ ` - + diff --git a/libs/components/src/stories/kitchen-sink/components/kitchen-sink-main.component.ts b/libs/components/src/stories/kitchen-sink/components/kitchen-sink-main.component.ts index b62e669d369..70f56d2e28d 100644 --- a/libs/components/src/stories/kitchen-sink/components/kitchen-sink-main.component.ts +++ b/libs/components/src/stories/kitchen-sink/components/kitchen-sink-main.component.ts @@ -12,69 +12,8 @@ import { KitchenSinkToggleList } from "./kitchen-sink-toggle-list.component"; standalone: true, imports: [KitchenSinkSharedModule], template: ` - - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

- - What did foo say to bar? - - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id - est laborum. -

-
+ + Dialog body text goes here. @@ -151,6 +90,72 @@ class KitchenSinkDialog {
+ + + + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+ + What did foo say to bar? + + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id + est laborum. +

+
+
`, }) export class KitchenSinkMainComponent { @@ -163,7 +168,7 @@ export class KitchenSinkMainComponent { } openDrawer() { - this.dialogService.openDrawer(KitchenSinkDialog); + this.drawerOpen.set(true); } navItems = [ diff --git a/libs/components/src/stories/kitchen-sink/kitchen-sink.stories.ts b/libs/components/src/stories/kitchen-sink/kitchen-sink.stories.ts index d318e1b5f0e..f57a9de4e68 100644 --- a/libs/components/src/stories/kitchen-sink/kitchen-sink.stories.ts +++ b/libs/components/src/stories/kitchen-sink/kitchen-sink.stories.ts @@ -14,6 +14,7 @@ import { import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; +import { DialogService } from "../../dialog"; import { LayoutComponent } from "../../layout"; import { I18nMockService } from "../../utils/i18n-mock.service"; import { positionFixedWrapperDecorator } from "../storybook-decorators"; @@ -38,20 +39,8 @@ export default { KitchenSinkTable, KitchenSinkToggleList, ], - }), - applicationConfig({ providers: [ - provideNoopAnimations(), - importProvidersFrom( - RouterModule.forRoot( - [ - { path: "", redirectTo: "bitwarden", pathMatch: "full" }, - { path: "bitwarden", component: KitchenSinkMainComponent }, - { path: "virtual-scroll", component: DialogVirtualScrollBlockComponent }, - ], - { useHash: true }, - ), - ), + DialogService, { provide: I18nService, useFactory: () => { @@ -69,6 +58,21 @@ export default { }, ], }), + applicationConfig({ + providers: [ + provideNoopAnimations(), + importProvidersFrom( + RouterModule.forRoot( + [ + { path: "", redirectTo: "bitwarden", pathMatch: "full" }, + { path: "bitwarden", component: KitchenSinkMainComponent }, + { path: "virtual-scroll", component: DialogVirtualScrollBlockComponent }, + ], + { useHash: true }, + ), + ), + ], + }), ], } as Meta; diff --git a/libs/components/src/table/table-scroll.component.html b/libs/components/src/table/table-scroll.component.html index 523912cd7ac..8f2c88ba3ad 100644 --- a/libs/components/src/table/table-scroll.component.html +++ b/libs/components/src/table/table-scroll.component.html @@ -1,5 +1,5 @@ diff --git a/libs/components/src/table/table-scroll.component.ts b/libs/components/src/table/table-scroll.component.ts index e198da1aba0..9d81e3ffe83 100644 --- a/libs/components/src/table/table-scroll.component.ts +++ b/libs/components/src/table/table-scroll.component.ts @@ -2,7 +2,6 @@ // @ts-strict-ignore import { CdkVirtualScrollViewport, - CdkVirtualScrollableWindow, CdkFixedSizeVirtualScroll, CdkVirtualForOf, } from "@angular/cdk/scrolling"; @@ -21,8 +20,6 @@ import { TrackByFunction, } from "@angular/core"; -import { ScrollLayoutDirective } from "../layout"; - import { RowDirective } from "./row.directive"; import { TableComponent } from "./table.component"; @@ -56,11 +53,9 @@ export class BitRowDef { imports: [ CommonModule, CdkVirtualScrollViewport, - CdkVirtualScrollableWindow, CdkFixedSizeVirtualScroll, CdkVirtualForOf, RowDirective, - ScrollLayoutDirective, ], }) export class TableScrollComponent diff --git a/libs/components/src/table/table.mdx b/libs/components/src/table/table.mdx index 59bf5b773a3..8d784190ed9 100644 --- a/libs/components/src/table/table.mdx +++ b/libs/components/src/table/table.mdx @@ -142,7 +142,7 @@ dataSource.filter = (data) => data.orgType === "family"; Rudimentary string filtering is supported out of the box with `TableDataSource.simpleStringFilter`. It works by converting each entry into a string of it's properties. The provided string is then -compared against the filter value using a simple `indexOf` check. For convenience, you can also just +compared against the filter value using a simple `indexOf` check. For convienence, you can also just pass a string directly. ```ts @@ -153,7 +153,7 @@ dataSource.filter = "search value"; ### Virtual Scrolling -It's heavily advised to use virtual scrolling if you expect the table to have any significant amount +It's heavily adviced to use virtual scrolling if you expect the table to have any significant amount of data. This is done by using the `bit-table-scroll` component instead of the `bit-table` component. This component behaves slightly different from the `bit-table` component. Instead of using the `*ngFor` directive to render the rows, you provide a `bitRowDef` template that will be @@ -178,14 +178,6 @@ height and align vertically. ``` -#### Deprecated approach - -Before `bit-table-scroll` was introduced, virtual scroll in tables was implemented manually via -constructs from Angular CDK. This included wrapping the table with a `cdk-virtual-scroll-viewport` -and targeting with `bit-layout`'s scroll container with the `bitScrollLayout` directive. - -This pattern is deprecated in favor of `bit-table-scroll`. - ## Accessibility - Always include a row or column header with your table; this allows assistive technology to better diff --git a/libs/components/src/table/table.stories.ts b/libs/components/src/table/table.stories.ts index d696e6077dd..e8ab24ee8b7 100644 --- a/libs/components/src/table/table.stories.ts +++ b/libs/components/src/table/table.stories.ts @@ -1,13 +1,6 @@ -import { RouterTestingModule } from "@angular/router/testing"; import { Meta, moduleMetadata, StoryObj } from "@storybook/angular"; -import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; - import { countries } from "../form/countries"; -import { LayoutComponent } from "../layout"; -import { mockLayoutI18n } from "../layout/mocks"; -import { positionFixedWrapperDecorator } from "../stories/storybook-decorators"; -import { I18nMockService } from "../utils"; import { TableDataSource } from "./table-data-source"; import { TableModule } from "./table.module"; @@ -15,17 +8,8 @@ import { TableModule } from "./table.module"; export default { title: "Component Library/Table", decorators: [ - positionFixedWrapperDecorator(), moduleMetadata({ - imports: [TableModule, LayoutComponent, RouterTestingModule], - providers: [ - { - provide: I18nService, - useFactory: () => { - return new I18nMockService(mockLayoutI18n); - }, - }, - ], + imports: [TableModule], }), ], argTypes: { @@ -132,20 +116,18 @@ export const Scrollable: Story = { trackBy: (index: number, item: any) => item.id, }, template: ` - - - - Id - Name - Other - - - {{ row.id }} - {{ row.name }} - {{ row.other }} - - - + + + Id + Name + Other + + + {{ row.id }} + {{ row.name }} + {{ row.other }} + + `, }), }; @@ -162,19 +144,17 @@ export const Filterable: Story = { sortFn: (a: any, b: any) => a.id - b.id, }, template: ` - - - - - Name - Value - - - {{ row.name }} - {{ row.value }} - - - + + + + Name + Value + + + {{ row.name }} + {{ row.value }} + + `, }), }; diff --git a/libs/components/src/utils/has-scrolled-from.ts b/libs/components/src/utils/has-scrolled-from.ts deleted file mode 100644 index 44c73465bdd..00000000000 --- a/libs/components/src/utils/has-scrolled-from.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { CdkScrollable } from "@angular/cdk/scrolling"; -import { Signal, inject, signal } from "@angular/core"; -import { toObservable, toSignal } from "@angular/core/rxjs-interop"; -import { map, startWith, switchMap } from "rxjs"; - -export type ScrollState = { - /** `true` when the scrollbar is not at the top-most position */ - top: boolean; - - /** `true` when the scrollbar is not at the bottom-most position */ - bottom: boolean; -}; - -/** - * Check if a `CdkScrollable` instance has been scrolled - * @param scrollable The instance to check, defaults to the one provided by the current injector - * @returns {Signal} - */ -export const hasScrolledFrom = (scrollable?: Signal): Signal => { - const _scrollable = scrollable ?? signal(inject(CdkScrollable)); - const scrollable$ = toObservable(_scrollable); - - const scrollState$ = scrollable$.pipe( - switchMap((_scrollable) => - _scrollable.elementScrolled().pipe( - startWith(null), - map(() => ({ - top: _scrollable.measureScrollOffset("top") > 0, - bottom: _scrollable.measureScrollOffset("bottom") > 0, - })), - ), - ), - ); - - return toSignal(scrollState$, { - initialValue: { - top: false, - bottom: false, - }, - }); -}; diff --git a/libs/importer/src/components/import.component.ts b/libs/importer/src/components/import.component.ts index 2c6354f5b5a..2fee88852b5 100644 --- a/libs/importer/src/components/import.component.ts +++ b/libs/importer/src/components/import.component.ts @@ -49,7 +49,6 @@ import { ButtonModule, CalloutModule, CardComponent, - ContainerComponent, DialogService, FormFieldModule, IconButtonModule, @@ -119,7 +118,6 @@ const safeProviders: SafeProvider[] = [ ImportLastPassComponent, RadioButtonModule, CardComponent, - ContainerComponent, SectionHeaderComponent, SectionComponent, LinkModule, diff --git a/libs/key-management/src/biometrics/biometrics-commands.ts b/libs/key-management/src/biometrics/biometrics-commands.ts index 1ef31a31fb4..38a666e45e5 100644 --- a/libs/key-management/src/biometrics/biometrics-commands.ts +++ b/libs/key-management/src/biometrics/biometrics-commands.ts @@ -12,8 +12,4 @@ export enum BiometricsCommands { /** Checks whether the biometric unlock can be enabled. */ CanEnableBiometricUnlock = "canEnableBiometricUnlock", - - // legacy - Unlock = "biometricUnlock", - IsAvailable = "biometricUnlockAvailable", } diff --git a/libs/tools/export/vault-export/vault-export-ui/src/components/export.component.ts b/libs/tools/export/vault-export/vault-export-ui/src/components/export.component.ts index 71599c19ae0..0512b56e20d 100644 --- a/libs/tools/export/vault-export/vault-export-ui/src/components/export.component.ts +++ b/libs/tools/export/vault-export/vault-export-ui/src/components/export.component.ts @@ -80,7 +80,6 @@ import { ExportScopeCalloutComponent } from "./export-scope-callout.component"; CalloutModule, RadioButtonModule, ExportScopeCalloutComponent, - UserVerificationDialogComponent, PasswordStrengthV2Component, GeneratorServicesModule, ], diff --git a/libs/tools/send/send-ui/src/send-form/components/send-form.component.ts b/libs/tools/send/send-ui/src/send-form/components/send-form.component.ts index 3149307bdd5..13c00a6bb78 100644 --- a/libs/tools/send/send-ui/src/send-form/components/send-form.component.ts +++ b/libs/tools/send/send-ui/src/send-form/components/send-form.component.ts @@ -25,10 +25,8 @@ import { AsyncActionsModule, BitSubmitDirective, ButtonComponent, - CardComponent, FormFieldModule, ItemModule, - SectionComponent, SelectModule, ToastService, TypographyModule, @@ -52,8 +50,6 @@ import { SendDetailsComponent } from "./send-details/send-details.component"; ], imports: [ AsyncActionsModule, - CardComponent, - SectionComponent, TypographyModule, ItemModule, FormFieldModule, diff --git a/libs/vault/src/cipher-form/components/additional-options/additional-options-section.component.ts b/libs/vault/src/cipher-form/components/additional-options/additional-options-section.component.ts index 4d72a89e4e1..14f3494652a 100644 --- a/libs/vault/src/cipher-form/components/additional-options/additional-options-section.component.ts +++ b/libs/vault/src/cipher-form/components/additional-options/additional-options-section.component.ts @@ -13,7 +13,6 @@ import { CheckboxModule, FormFieldModule, LinkModule, - SectionComponent, SectionHeaderComponent, TypographyModule, } from "@bitwarden/components"; @@ -28,7 +27,6 @@ import { CustomFieldsComponent } from "../custom-fields/custom-fields.component" standalone: true, imports: [ CommonModule, - SectionComponent, SectionHeaderComponent, TypographyModule, JslibModule, diff --git a/libs/vault/src/cipher-form/components/autofill-options/autofill-options.component.ts b/libs/vault/src/cipher-form/components/autofill-options/autofill-options.component.ts index ac670a39335..ccbc792648e 100644 --- a/libs/vault/src/cipher-form/components/autofill-options/autofill-options.component.ts +++ b/libs/vault/src/cipher-form/components/autofill-options/autofill-options.component.ts @@ -22,7 +22,6 @@ import { FormFieldModule, IconButtonModule, LinkModule, - SectionComponent, SectionHeaderComponent, SelectModule, TypographyModule, @@ -43,7 +42,6 @@ interface UriField { standalone: true, imports: [ DragDropModule, - SectionComponent, SectionHeaderComponent, TypographyModule, JslibModule, diff --git a/libs/vault/src/cipher-form/components/card-details-section/card-details-section.component.ts b/libs/vault/src/cipher-form/components/card-details-section/card-details-section.component.ts index cb00c7d24f5..8086d2bf0c4 100644 --- a/libs/vault/src/cipher-form/components/card-details-section/card-details-section.component.ts +++ b/libs/vault/src/cipher-form/components/card-details-section/card-details-section.component.ts @@ -16,7 +16,6 @@ import { CardComponent, FormFieldModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, SelectModule, TypographyModule, @@ -30,7 +29,6 @@ import { CipherFormContainer } from "../../cipher-form-container"; standalone: true, imports: [ CardComponent, - SectionComponent, TypographyModule, FormFieldModule, ReactiveFormsModule, diff --git a/libs/vault/src/cipher-form/components/cipher-form.component.ts b/libs/vault/src/cipher-form/components/cipher-form.component.ts index eebfca65f36..08dc71c9886 100644 --- a/libs/vault/src/cipher-form/components/cipher-form.component.ts +++ b/libs/vault/src/cipher-form/components/cipher-form.component.ts @@ -26,10 +26,8 @@ import { AsyncActionsModule, BitSubmitDirective, ButtonComponent, - CardComponent, FormFieldModule, ItemModule, - SectionComponent, SelectModule, ToastService, TypographyModule, @@ -63,8 +61,6 @@ import { SshKeySectionComponent } from "./sshkey-section/sshkey-section.componen ], imports: [ AsyncActionsModule, - CardComponent, - SectionComponent, TypographyModule, ItemModule, FormFieldModule, diff --git a/libs/vault/src/cipher-form/components/custom-fields/custom-fields.component.ts b/libs/vault/src/cipher-form/components/custom-fields/custom-fields.component.ts index 49e9e109b74..5d43f52788a 100644 --- a/libs/vault/src/cipher-form/components/custom-fields/custom-fields.component.ts +++ b/libs/vault/src/cipher-form/components/custom-fields/custom-fields.component.ts @@ -37,7 +37,6 @@ import { FormFieldModule, IconButtonModule, LinkModule, - SectionComponent, SectionHeaderComponent, SelectModule, TypographyModule, @@ -79,7 +78,6 @@ export type CustomField = { FormsModule, FormFieldModule, ReactiveFormsModule, - SectionComponent, SectionHeaderComponent, TypographyModule, CardComponent, diff --git a/libs/vault/src/cipher-form/components/identity/identity.component.ts b/libs/vault/src/cipher-form/components/identity/identity.component.ts index f0c73002e97..3cc8e73697f 100644 --- a/libs/vault/src/cipher-form/components/identity/identity.component.ts +++ b/libs/vault/src/cipher-form/components/identity/identity.component.ts @@ -14,7 +14,6 @@ import { CardComponent, FormFieldModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, SelectModule, TypographyModule, @@ -31,7 +30,6 @@ import { CipherFormContainer } from "../../cipher-form-container"; ButtonModule, JslibModule, ReactiveFormsModule, - SectionComponent, SectionHeaderComponent, CardComponent, FormFieldModule, diff --git a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts index dcbc4e8c92f..82615368b91 100644 --- a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts +++ b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts @@ -19,7 +19,6 @@ import { CardComponent, FormFieldModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, SelectItemView, SelectModule, @@ -38,7 +37,6 @@ import { CipherFormContainer } from "../../cipher-form-container"; standalone: true, imports: [ CardComponent, - SectionComponent, TypographyModule, FormFieldModule, ReactiveFormsModule, diff --git a/libs/vault/src/cipher-form/components/login-details-section/login-details-section.component.ts b/libs/vault/src/cipher-form/components/login-details-section/login-details-section.component.ts index 1d6ca760d3b..c6b8433dcfa 100644 --- a/libs/vault/src/cipher-form/components/login-details-section/login-details-section.component.ts +++ b/libs/vault/src/cipher-form/components/login-details-section/login-details-section.component.ts @@ -20,7 +20,6 @@ import { IconButtonModule, LinkModule, PopoverModule, - SectionComponent, SectionHeaderComponent, ToastService, TypographyModule, @@ -36,7 +35,6 @@ import { AutofillOptionsComponent } from "../autofill-options/autofill-options.c templateUrl: "./login-details-section.component.html", standalone: true, imports: [ - SectionComponent, ReactiveFormsModule, SectionHeaderComponent, TypographyModule, diff --git a/libs/vault/src/cipher-form/components/sshkey-section/sshkey-section.component.ts b/libs/vault/src/cipher-form/components/sshkey-section/sshkey-section.component.ts index 500bb886f7a..fcf2ba0d9f7 100644 --- a/libs/vault/src/cipher-form/components/sshkey-section/sshkey-section.component.ts +++ b/libs/vault/src/cipher-form/components/sshkey-section/sshkey-section.component.ts @@ -16,7 +16,6 @@ import { CardComponent, FormFieldModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, SelectModule, TypographyModule, @@ -32,7 +31,6 @@ import { CipherFormContainer } from "../../cipher-form-container"; standalone: true, imports: [ CardComponent, - SectionComponent, TypographyModule, FormFieldModule, ReactiveFormsModule, diff --git a/libs/vault/src/cipher-view/additional-options/additional-options.component.ts b/libs/vault/src/cipher-view/additional-options/additional-options.component.ts index 9f8f034d59b..0f2c99800f8 100644 --- a/libs/vault/src/cipher-view/additional-options/additional-options.component.ts +++ b/libs/vault/src/cipher-view/additional-options/additional-options.component.ts @@ -6,7 +6,6 @@ import { IconButtonModule, CardComponent, InputModule, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, @@ -22,7 +21,6 @@ import { CardComponent, IconButtonModule, InputModule, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, diff --git a/libs/vault/src/cipher-view/attachments/attachments-v2-view.component.ts b/libs/vault/src/cipher-view/attachments/attachments-v2-view.component.ts index f2249175f86..04e69fcccd6 100644 --- a/libs/vault/src/cipher-view/attachments/attachments-v2-view.component.ts +++ b/libs/vault/src/cipher-view/attachments/attachments-v2-view.component.ts @@ -15,7 +15,6 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { ItemModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, TypographyModule, } from "@bitwarden/components"; @@ -32,7 +31,6 @@ import { DownloadAttachmentComponent } from "../../components/download-attachmen JslibModule, ItemModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, TypographyModule, DownloadAttachmentComponent, diff --git a/libs/vault/src/cipher-view/autofill-options/autofill-options-view.component.ts b/libs/vault/src/cipher-view/autofill-options/autofill-options-view.component.ts index 9b12139b00e..bab37324993 100644 --- a/libs/vault/src/cipher-view/autofill-options/autofill-options-view.component.ts +++ b/libs/vault/src/cipher-view/autofill-options/autofill-options-view.component.ts @@ -14,7 +14,6 @@ import { CardComponent, FormFieldModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, TypographyModule, } from "@bitwarden/components"; @@ -27,7 +26,6 @@ import { CommonModule, JslibModule, CardComponent, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, diff --git a/libs/vault/src/cipher-view/card-details/card-details-view.component.ts b/libs/vault/src/cipher-view/card-details/card-details-view.component.ts index 95117adaa78..2d1b2800c79 100644 --- a/libs/vault/src/cipher-view/card-details/card-details-view.component.ts +++ b/libs/vault/src/cipher-view/card-details/card-details-view.component.ts @@ -9,8 +9,6 @@ import { EventType } from "@bitwarden/common/enums"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { - CardComponent, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, @@ -26,8 +24,6 @@ import { ReadOnlyCipherCardComponent } from "../read-only-cipher-card/read-only- imports: [ CommonModule, JslibModule, - CardComponent, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, diff --git a/libs/vault/src/cipher-view/custom-fields/custom-fields-v2.component.ts b/libs/vault/src/cipher-view/custom-fields/custom-fields-v2.component.ts index a8f4e1417b4..4d20eceb285 100644 --- a/libs/vault/src/cipher-view/custom-fields/custom-fields-v2.component.ts +++ b/libs/vault/src/cipher-view/custom-fields/custom-fields-v2.component.ts @@ -17,7 +17,6 @@ import { IconButtonModule, FormFieldModule, InputModule, - SectionComponent, SectionHeaderComponent, TypographyModule, CheckboxModule, @@ -37,7 +36,6 @@ import { VaultAutosizeReadOnlyTextArea } from "../../directives/readonly-textare IconButtonModule, FormFieldModule, InputModule, - SectionComponent, SectionHeaderComponent, TypographyModule, CheckboxModule, diff --git a/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts b/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts index 10452272895..1335df74bb9 100644 --- a/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts +++ b/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts @@ -11,7 +11,6 @@ import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { CardComponent, FormFieldModule, - SectionComponent, SectionHeaderComponent, TypographyModule, } from "@bitwarden/components"; @@ -26,7 +25,6 @@ import { OrgIconDirective } from "../../components/org-icon.directive"; CommonModule, JslibModule, CardComponent, - SectionComponent, SectionHeaderComponent, TypographyModule, OrgIconDirective, diff --git a/libs/vault/src/cipher-view/login-credentials/login-credentials-view.component.ts b/libs/vault/src/cipher-view/login-credentials/login-credentials-view.component.ts index d99ac438f27..5f7d0b32201 100644 --- a/libs/vault/src/cipher-view/login-credentials/login-credentials-view.component.ts +++ b/libs/vault/src/cipher-view/login-credentials/login-credentials-view.component.ts @@ -23,7 +23,6 @@ import { PremiumUpgradePromptService } from "@bitwarden/common/vault/abstraction import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { FormFieldModule, - SectionComponent, SectionHeaderComponent, TypographyModule, LinkModule, @@ -47,7 +46,6 @@ type TotpCodeValues = { imports: [ CommonModule, JslibModule, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, diff --git a/libs/vault/src/cipher-view/sshkey-sections/sshkey-view.component.ts b/libs/vault/src/cipher-view/sshkey-sections/sshkey-view.component.ts index d597f4d9408..7ac0f8a6726 100644 --- a/libs/vault/src/cipher-view/sshkey-sections/sshkey-view.component.ts +++ b/libs/vault/src/cipher-view/sshkey-sections/sshkey-view.component.ts @@ -7,15 +7,12 @@ import { JslibModule } from "@bitwarden/angular/jslib.module"; import { SshKeyView } from "@bitwarden/common/vault/models/view/ssh-key.view"; import { CardComponent, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, IconButtonModule, } from "@bitwarden/components"; -import { OrgIconDirective } from "../../components/org-icon.directive"; - @Component({ selector: "app-sshkey-view", templateUrl: "sshkey-view.component.html", @@ -24,10 +21,8 @@ import { OrgIconDirective } from "../../components/org-icon.directive"; CommonModule, JslibModule, CardComponent, - SectionComponent, SectionHeaderComponent, TypographyModule, - OrgIconDirective, FormFieldModule, IconButtonModule, ], diff --git a/libs/vault/src/cipher-view/view-identity-sections/view-identity-sections.component.ts b/libs/vault/src/cipher-view/view-identity-sections/view-identity-sections.component.ts index 80bf78abe6e..3b710812b36 100644 --- a/libs/vault/src/cipher-view/view-identity-sections/view-identity-sections.component.ts +++ b/libs/vault/src/cipher-view/view-identity-sections/view-identity-sections.component.ts @@ -6,7 +6,6 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { FormFieldModule, IconButtonModule, - SectionComponent, SectionHeaderComponent, TypographyModule, } from "@bitwarden/components"; @@ -20,7 +19,6 @@ import { ReadOnlyCipherCardComponent } from "../read-only-cipher-card/read-only- imports: [ NgIf, JslibModule, - SectionComponent, SectionHeaderComponent, TypographyModule, FormFieldModule, diff --git a/package-lock.json b/package-lock.json index 5bb5dc6e852..96cd9c0444a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -172,7 +172,7 @@ "ts-loader": "9.5.2", "tsconfig-paths-webpack-plugin": "4.2.0", "type-fest": "2.19.0", - "typescript": "5.4.2", + "typescript": "5.5.4", "typescript-eslint": "8.31.0", "typescript-strict-plugin": "2.4.4", "url": "0.11.4", @@ -36642,11 +36642,10 @@ } }, "node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index b1af1abe606..879dfd26eba 100644 --- a/package.json +++ b/package.json @@ -55,10 +55,10 @@ "@storybook/addon-essentials": "8.6.12", "@storybook/addon-interactions": "8.6.12", "@storybook/addon-links": "8.6.12", - "@storybook/test-runner": "0.22.0", "@storybook/addon-themes": "8.6.12", "@storybook/angular": "8.6.12", "@storybook/manager-api": "8.6.12", + "@storybook/test-runner": "0.22.0", "@storybook/theming": "8.6.12", "@storybook/web-components-webpack5": "8.6.12", "@types/argon2-browser": "1.18.4", @@ -138,7 +138,7 @@ "ts-loader": "9.5.2", "tsconfig-paths-webpack-plugin": "4.2.0", "type-fest": "2.19.0", - "typescript": "5.4.2", + "typescript": "5.5.4", "typescript-eslint": "8.31.0", "typescript-strict-plugin": "2.4.4", "url": "0.11.4",