1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-29 12:55:21 +01:00

Merge remote-tracking branch 'origin/master' into feature/trusted-device-encryption

This commit is contained in:
Thomas Rittson 2023-07-18 14:13:17 +10:00
commit 8d0def68c8
No known key found for this signature in database
GPG Key ID: CDDDA03861C35E27
120 changed files with 1106 additions and 1012 deletions

View File

@ -0,0 +1,4 @@
/* eslint-disable no-undef */
module.exports = {
plugins: [require("tailwindcss"), require("autoprefixer"), require("postcss-nested")],
};

View File

@ -2239,7 +2239,7 @@
"message": "Достъпът е отказан. Нямате право за преглед на тази страница." "message": "Достъпът е отказан. Нямате право за преглед на тази страница."
}, },
"general": { "general": {
"message": "General" "message": "Общи"
}, },
"display": { "display": {
"message": "Display" "message": "Display"

View File

@ -2242,6 +2242,6 @@
"message": "General" "message": "General"
}, },
"display": { "display": {
"message": "Display" "message": "Mostra"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -2236,12 +2236,12 @@
"description": "United States" "description": "United States"
}, },
"accessDenied": { "accessDenied": {
"message": "Access denied. You do not have permission to view this page." "message": "Ligipääs keelatud. Sul pole lubatud seda lehekülge vaadata."
}, },
"general": { "general": {
"message": "General" "message": "Üldine"
}, },
"display": { "display": {
"message": "Display" "message": "Kuvamine"
} }
} }

View File

@ -2123,7 +2123,7 @@
"message": "Laitteella kirjautuminen" "message": "Laitteella kirjautuminen"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledInfo": {
"message": "Laitteella kirjautuminen on määritettävä Bitwarden-mobiilisovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?" "message": "Laitteella kirjautuminen on määritettävä Bitwarden-sovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?"
}, },
"fingerprintPhraseHeader": { "fingerprintPhraseHeader": {
"message": "Tunnistelauseke" "message": "Tunnistelauseke"

View File

@ -56,7 +56,7 @@
"message": "Saugykla" "message": "Saugykla"
}, },
"myVault": { "myVault": {
"message": "Saugykla" "message": "Mano saugykla"
}, },
"allVaults": { "allVaults": {
"message": "Visos saugyklos" "message": "Visos saugyklos"
@ -613,10 +613,10 @@
"description": "Clipboard is the operating system thing where you copy/paste data to on your device." "description": "Clipboard is the operating system thing where you copy/paste data to on your device."
}, },
"notificationAddDesc": { "notificationAddDesc": {
"message": "Ar „Bitwarden“ turėtų prisiminti šį slaptažodį?" "message": "Ar Bitwarden turėtų įsiminti šį slaptažodį už tave?"
}, },
"notificationAddSave": { "notificationAddSave": {
"message": "Taip, išsaugoti dabar" "message": "Išsaugoti"
}, },
"enableChangedPasswordNotification": { "enableChangedPasswordNotification": {
"message": "Paprašyti atnaujinti esamą prisijungimą" "message": "Paprašyti atnaujinti esamą prisijungimą"
@ -625,10 +625,10 @@
"message": "Paprašyti atnaujinti prisijungimo slaptažodį, kai pakeitimas aptiktas svetainėje." "message": "Paprašyti atnaujinti prisijungimo slaptažodį, kai pakeitimas aptiktas svetainėje."
}, },
"notificationChangeDesc": { "notificationChangeDesc": {
"message": "Ar norite atnaujinti šį slaptažodį Bitwarden?" "message": "Ar nori atnaujinti šį slaptažodį Bitwarden?"
}, },
"notificationChangeSave": { "notificationChangeSave": {
"message": "Taip, atnaujinti dabar" "message": "Atnaujinti"
}, },
"enableContextMenuItem": { "enableContextMenuItem": {
"message": "Rodyti kontekstinio meniu pasririnkimus" "message": "Rodyti kontekstinio meniu pasririnkimus"
@ -658,7 +658,7 @@
"description": "Light color" "description": "Light color"
}, },
"solarizedDark": { "solarizedDark": {
"message": "Solarized dark", "message": "Saulėtas tamsą",
"description": "'Solarized' is a noun and the name of a color scheme. It should not be translated." "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
}, },
"exportVault": { "exportVault": {
@ -748,7 +748,7 @@
"message": "Priedų nėra." "message": "Priedų nėra."
}, },
"attachmentSaved": { "attachmentSaved": {
"message": "Priedas buvo išsaugotas." "message": "Priedas išsaugotas"
}, },
"file": { "file": {
"message": "Failas" "message": "Failas"
@ -757,13 +757,13 @@
"message": "Pasirinkite failą." "message": "Pasirinkite failą."
}, },
"maxFileSize": { "maxFileSize": {
"message": "Failai negali būti didesni už 500 MB." "message": "Didžiausias failo dydis 500 MB."
}, },
"featureUnavailable": { "featureUnavailable": {
"message": "Funkcija neprieinama" "message": "Funkcija neprieinama"
}, },
"updateKey": { "updateKey": {
"message": "Negalite naudoti šios funkcijos, kol neatnaujinsite šifravimo raktą." "message": "Negali naudotis šia funkcija, kol neatnaujinsi šifravimo raktą."
}, },
"premiumMembership": { "premiumMembership": {
"message": "Premium narystė" "message": "Premium narystė"
@ -781,7 +781,7 @@
"message": "Neturite Premium narystės." "message": "Neturite Premium narystės."
}, },
"premiumSignUpAndGet": { "premiumSignUpAndGet": {
"message": "Prisijungite prie Premium narystės ir gaukite:" "message": "Prisijunk prie Premium narystės ir gauk:"
}, },
"ppremiumSignUpStorage": { "ppremiumSignUpStorage": {
"message": "1 GB užšifruotos vietos diske bylų prisegimams." "message": "1 GB užšifruotos vietos diske bylų prisegimams."
@ -790,10 +790,10 @@
"message": "Papildomos dviejų žingsių prisijungimo opcijos, tokios kaip YubiKey, FIDO U2F ir Duo." "message": "Papildomos dviejų žingsių prisijungimo opcijos, tokios kaip YubiKey, FIDO U2F ir Duo."
}, },
"ppremiumSignUpReports": { "ppremiumSignUpReports": {
"message": "Slaptažodžio higiena, prieigos sveikata ir duomenų nutekinimo ataskaitos, kad jūsų seifas būtų saugus." "message": "Slaptažodžio higiena, prieigos sveikata ir duomenų nutekinimo ataskaitos, kad tavo saugyklas būtų saugus."
}, },
"ppremiumSignUpTotp": { "ppremiumSignUpTotp": {
"message": "TOTP patvirtinimo kodų (2FA) generatorius prisijungimams prie jūsų saugyklos." "message": "TOTP patvirtinimo kodų (2FA) generatorius prisijungimams prie tavo saugyklos."
}, },
"ppremiumSignUpSupport": { "ppremiumSignUpSupport": {
"message": "Prioritetinis klientų aptarnavimas." "message": "Prioritetinis klientų aptarnavimas."
@ -802,13 +802,13 @@
"message": "Visos būsimos Premium savybės. Daugiau jau greitai!" "message": "Visos būsimos Premium savybės. Daugiau jau greitai!"
}, },
"premiumPurchase": { "premiumPurchase": {
"message": "Įsigyti Premium planą" "message": "Įsigyti Premium"
}, },
"premiumPurchaseAlert": { "premiumPurchaseAlert": {
"message": "Jūs galite įsigyti Premium narystę bitwarden.com puslapyje. Ar norite aplankyti šį puslapį dabar?" "message": "Gali įsigyti Premium narystę bitwarden.com interneto saugykloje. Ar nori aplankyti svetainėje dabar?"
}, },
"premiumCurrentMember": { "premiumCurrentMember": {
"message": "Jūs esate Premium narys!" "message": "Tu esi Premium narys!"
}, },
"premiumCurrentMemberThanks": { "premiumCurrentMemberThanks": {
"message": "Dėkojame, kad remiate Bitwarden." "message": "Dėkojame, kad remiate Bitwarden."
@ -835,16 +835,16 @@
"message": "Paleidžiant patvirtinti biometrinius duomenis" "message": "Paleidžiant patvirtinti biometrinius duomenis"
}, },
"premiumRequired": { "premiumRequired": {
"message": "Tik su Premium naryste" "message": "Premium reikalinga"
}, },
"premiumRequiredDesc": { "premiumRequiredDesc": {
"message": "Premium narystė reikalinga šiai funkcijai naudoti." "message": "Premium narystė reikalinga šiai funkcijai naudoti."
}, },
"enterVerificationCodeApp": { "enterVerificationCodeApp": {
"message": "Įveskite 6 skaitmenų patvirtinimo kodą iš jūsų autentifikavimo aplikacijos." "message": "Įvesk 6 skaitmenų patvirtinimo kodą iš tavo autentifikavimo aplikacijos."
}, },
"enterVerificationCodeEmail": { "enterVerificationCodeEmail": {
"message": "Įveskite 6 skaitmenų prisijungimo kodą, kuris buvo išsiųstas $EMAIL$ el. paštu.", "message": "Įvesk 6 skaitmenų prisijungimo kodą, kuris buvo išsiųstas $EMAIL$ el. paštu.",
"placeholders": { "placeholders": {
"email": { "email": {
"content": "$1", "content": "$1",
@ -871,34 +871,34 @@
"message": "Naudoti dar vieną dviejų žingsnių prisijungimo metodą" "message": "Naudoti dar vieną dviejų žingsnių prisijungimo metodą"
}, },
"insertYubiKey": { "insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button." "message": "Įkišk YubiKey į savo kompiuterio USB prievadą, tada paliesk jo mygtuką."
}, },
"insertU2f": { "insertU2f": {
"message": "Insert your security key into your computer's USB port. If it has a button, touch it." "message": "Įkišk savo saugos raktą į kompiuterio USB prievadą. Jei jame yra mygtukas, paliesk jį."
}, },
"webAuthnNewTab": { "webAuthnNewTab": {
"message": "To start the WebAuthn 2FA verification. Click the button below to open a new tab and follow the instructions provided in the new tab." "message": "Norint pradėti WebAuthn 2FA patikrinimą. Spustelėk toliau esantį mygtuką, kad atsidarytų naujas skirtukas, ir sek naujame skirtuke pateiktas instrukcijas."
}, },
"webAuthnNewTabOpen": { "webAuthnNewTabOpen": {
"message": "Atidaryti naują skirtuką" "message": "Atidaryti naują skirtuką"
}, },
"webAuthnAuthenticate": { "webAuthnAuthenticate": {
"message": "Authenticate WebAuthn" "message": "Autentifikuoti WebAuthn"
}, },
"loginUnavailable": { "loginUnavailable": {
"message": "Prisijungimas nepasiekiamas" "message": "Prisijungimas nepasiekiamas"
}, },
"noTwoStepProviders": { "noTwoStepProviders": {
"message": "This account has two-step login set up, however, none of the configured two-step providers are supported by this web browser." "message": "Šioje paskyroje nustatytas dviejų žingsnių prisijungimas, tačiau, nė vienas iš sukonfigūruotų dviejų žingsnių paslaugų teikėjų nėra palaikomas šioje interneto naršyklėje."
}, },
"noTwoStepProviders2": { "noTwoStepProviders2": {
"message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." "message": "Prašome naudoti palaikomą interneto naršyklę (pvz., Chrome) ir/arba pridėti papildomus paslaugų teikėjus, kurie geriau palaikomi įvairiose interneto naršyklėse (pvz., autentifikavimo programėlę)."
}, },
"twoStepOptions": { "twoStepOptions": {
"message": "Dviejų žingsnių prisijungimo parinktys" "message": "Dviejų žingsnių prisijungimo parinktys"
}, },
"recoveryCodeDesc": { "recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account." "message": "Praradai prieigą prie visų savo dviejų veiksnių teikėjų? Naudok atkūrimo kodą, kad iš savo paskyros išjungtum visus dviejų veiksnių teikėjus."
}, },
"recoveryCodeTitle": { "recoveryCodeTitle": {
"message": "Atkūrimo kodas" "message": "Atkūrimo kodas"
@ -907,46 +907,46 @@
"message": "Autentifikavimo programa" "message": "Autentifikavimo programa"
}, },
"authenticatorAppDesc": { "authenticatorAppDesc": {
"message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", "message": "Naudok autentifikatoriaus programėlę (pvz., Authy arba Google Autentifikatorius), kad sugeneruotum laiko patikrinimo kodus.",
"description": "'Authy' and 'Google Authenticator' are product names and should not be translated." "description": "'Authy' and 'Google Authenticator' are product names and should not be translated."
}, },
"yubiKeyTitle": { "yubiKeyTitle": {
"message": "YubiKey OTP Security Key" "message": "YubiKey OTP saugumo raktas"
}, },
"yubiKeyDesc": { "yubiKeyDesc": {
"message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." "message": "Naudok YubiKey, kad prisijungtum prie savo paskyros. Veikia su YubiKey 4, 4 Nano, 4C ir NEO įrenginiais."
}, },
"duoDesc": { "duoDesc": {
"message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", "message": "Patvirtink su Duo Security naudodami Duo Mobile programą, SMS žinutę, telefono skambutį arba U2F saugumo raktą.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
}, },
"duoOrganizationDesc": { "duoOrganizationDesc": {
"message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", "message": "Patikrink su Duo Security savo organizacijai naudodamasis Duo Mobile programą, SMS žinutę, telefono skambutį arba U2F saugumo raktą.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
}, },
"webAuthnTitle": { "webAuthnTitle": {
"message": "FIDO2 WebAuthn" "message": "FIDO2 WebAuthn"
}, },
"webAuthnDesc": { "webAuthnDesc": {
"message": "Use any WebAuthn compatible security key to access your account." "message": "Naudok bet kurį WebAuthn palaikantį saugumo raktą, kad galėtum naudotis savo paskyra."
}, },
"emailTitle": { "emailTitle": {
"message": "El. paštas" "message": "El. paštas"
}, },
"emailDesc": { "emailDesc": {
"message": "Verification codes will be emailed to you." "message": "Patvirtinimo kodai bus atsiųsti el. paštu tau."
}, },
"selfHostedEnvironment": { "selfHostedEnvironment": {
"message": "Self-hosted environment" "message": "Savarankiškai sukurta aplinka"
}, },
"selfHostedEnvironmentFooter": { "selfHostedEnvironmentFooter": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation." "message": "Nurodyk pagrindinį URL adresą savo patalpose esančio Bitwarden diegimo."
}, },
"customEnvironment": { "customEnvironment": {
"message": "Individualizuota aplinka" "message": "Individualizuota aplinka"
}, },
"customEnvironmentFooter": { "customEnvironmentFooter": {
"message": "For advanced users. You can specify the base URL of each service independently." "message": "Pažengusiems naudotojams. Galite nurodyti kiekvienos paslaugos pagrindinį URL adresą atskirai."
}, },
"baseUrl": { "baseUrl": {
"message": "Serverio URL" "message": "Serverio URL"
@ -967,13 +967,13 @@
"message": "Piktogramų serverio URL" "message": "Piktogramų serverio URL"
}, },
"environmentSaved": { "environmentSaved": {
"message": "Environment URLs saved" "message": "Aplinkos URL adresai išsaugoti"
}, },
"enableAutoFillOnPageLoad": { "enableAutoFillOnPageLoad": {
"message": "Automatiškai užpildyti užsikrovus puslapiui" "message": "Automatiškai užpildyti užsikrovus puslapiui"
}, },
"enableAutoFillOnPageLoadDesc": { "enableAutoFillOnPageLoadDesc": {
"message": "If a login form is detected, auto-fill when the web page loads." "message": "Jei aptikta prisijungimo forma, automatiškai užpildyti, kai kraunamas tinklalapis."
}, },
"experimentalFeature": { "experimentalFeature": {
"message": "Compromised or untrusted websites can exploit auto-fill on page load." "message": "Compromised or untrusted websites can exploit auto-fill on page load."
@ -2105,10 +2105,10 @@
} }
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Prisijungti su pagrindiniu slaptažodžiu"
}, },
"loggingInAs": { "loggingInAs": {
"message": "Logging in as" "message": "Prisijungimas kaip"
}, },
"notYou": { "notYou": {
"message": "Ne jūs?" "message": "Ne jūs?"
@ -2117,13 +2117,13 @@
"message": "Ar jūs naujas čia?" "message": "Ar jūs naujas čia?"
}, },
"rememberEmail": { "rememberEmail": {
"message": "Remember email" "message": "Prisiminti el. paštą"
}, },
"loginWithDevice": { "loginWithDevice": {
"message": "Prisijunkite naudodami įrenginį" "message": "Prisijunkite naudodami įrenginį"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledInfo": {
"message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?" "message": "Prisijungti su įrenginiu turi būti nustatyta Bitwarden aplikacijos nustatymuose. Reikia kito pasirinkimo?"
}, },
"fingerprintPhraseHeader": { "fingerprintPhraseHeader": {
"message": "Fingerprint phrase" "message": "Fingerprint phrase"
@ -2177,10 +2177,10 @@
"message": "Your organization policies have turned on auto-fill on page load." "message": "Your organization policies have turned on auto-fill on page load."
}, },
"howToAutofill": { "howToAutofill": {
"message": "How to auto-fill" "message": "Kaip automatiškai užpildyti"
}, },
"autofillSelectInfoWithCommand": { "autofillSelectInfoWithCommand": {
"message": "Select an item from this page or use the shortcut: $COMMAND$", "message": "Pasirink elementą iš šio puslapio arba naudok trumpąjį klavišą: $COMMAND$",
"placeholders": { "placeholders": {
"command": { "command": {
"content": "$1", "content": "$1",
@ -2228,20 +2228,20 @@
"message": "Opens in a new window" "message": "Opens in a new window"
}, },
"eu": { "eu": {
"message": "EU", "message": "ES",
"description": "European Union" "description": "European Union"
}, },
"us": { "us": {
"message": "US", "message": "JAV",
"description": "United States" "description": "United States"
}, },
"accessDenied": { "accessDenied": {
"message": "Access denied. You do not have permission to view this page." "message": "Prieiga uždrausta. Neturi teisės peržiūrėti šį puslapį."
}, },
"general": { "general": {
"message": "General" "message": "Bendra"
}, },
"display": { "display": {
"message": "Display" "message": "Rodyti"
} }
} }

View File

@ -675,7 +675,7 @@
"message": "Підтвердити експорт сховища" "message": "Підтвердити експорт сховища"
}, },
"exportWarningDesc": { "exportWarningDesc": {
"message": "Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх." "message": "Ваші експортовані дані сховища незашифровані. Не зберігайте і не надсилайте їх незахищеними каналами (як-от електронна пошта). Після використання негайно видаліть їх."
}, },
"encExportKeyWarningDesc": { "encExportKeyWarningDesc": {
"message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, необхідно виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту." "message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, необхідно виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту."
@ -2239,9 +2239,9 @@
"message": "Доступ заборонено. У вас немає дозволу на перегляд цієї сторінки." "message": "Доступ заборонено. У вас немає дозволу на перегляд цієї сторінки."
}, },
"general": { "general": {
"message": "General" "message": "Загальні"
}, },
"display": { "display": {
"message": "Display" "message": "Екран"
} }
} }

View File

@ -2123,7 +2123,7 @@
"message": "设备登录" "message": "设备登录"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledInfo": {
"message": "必须在 Bitwarden 应用程序的设置中启用设备登录。需要其他选项吗?" "message": "设备登录必须在 Bitwarden 应用程序的设置中启用。需要其他选项吗?"
}, },
"fingerprintPhraseHeader": { "fingerprintPhraseHeader": {
"message": "指纹短语" "message": "指纹短语"

View File

@ -751,8 +751,8 @@
].join('\n\n'); ].join('\n\n');
if ( if (
// At least one of the `savedURLs` uses SSL // At least one of the `savedURLs` uses SSL for the current page
savedURLs.some(url => url.startsWith('https://')) && savedURLs.some(url => url.startsWith(`https://${window.location.hostname}`)) &&
// The current page is not using SSL // The current page is not using SSL
document.location.protocol === 'http:' && document.location.protocol === 'http:' &&
// There are password inputs on the page // There are password inputs on the page

View File

@ -409,13 +409,6 @@ export default class AutofillService implements AutofillServiceInterface {
continue; continue;
} }
const passwordFieldsForForm: AutofillField[] = [];
passwordFields.forEach((passField) => {
if (formKey === passField.form) {
passwordFieldsForForm.push(passField);
}
});
passwordFields.forEach((passField) => { passwordFields.forEach((passField) => {
pf = passField; pf = passField;
passwords.push(pf); passwords.push(pf);
@ -438,7 +431,7 @@ export default class AutofillService implements AutofillServiceInterface {
if (!totp && !options.onlyVisibleFields) { if (!totp && !options.onlyVisibleFields) {
// not able to find any viewable totp fields. maybe there are some "hidden" ones? // not able to find any viewable totp fields. maybe there are some "hidden" ones?
totp = this.findTotpField(pageDetails, pf, true, true, true); totp = this.findTotpField(pageDetails, pf, true, true, false);
} }
if (totp) { if (totp) {
@ -741,6 +734,15 @@ export default class AutofillService implements AutofillServiceInterface {
let exp: string = null; let exp: string = null;
for (let i = 0; i < CreditCardAutoFillConstants.MonthAbbr.length; i++) { for (let i = 0; i < CreditCardAutoFillConstants.MonthAbbr.length; i++) {
if ( if (
this.fieldAttrsContain(
fillFields.exp,
CreditCardAutoFillConstants.MonthAbbr[i] +
"/" +
CreditCardAutoFillConstants.YearAbbrLong[i]
)
) {
exp = fullMonth + "/" + fullYear;
} else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
CreditCardAutoFillConstants.MonthAbbr[i] + CreditCardAutoFillConstants.MonthAbbr[i] +
@ -753,12 +755,12 @@ export default class AutofillService implements AutofillServiceInterface {
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
CreditCardAutoFillConstants.MonthAbbr[i] + CreditCardAutoFillConstants.YearAbbrLong[i] +
"/" + "/" +
CreditCardAutoFillConstants.YearAbbrLong[i] CreditCardAutoFillConstants.MonthAbbr[i]
) )
) { ) {
exp = fullMonth + "/" + fullYear; exp = fullYear + "/" + fullMonth;
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
@ -772,12 +774,12 @@ export default class AutofillService implements AutofillServiceInterface {
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
CreditCardAutoFillConstants.YearAbbrLong[i] + CreditCardAutoFillConstants.MonthAbbr[i] +
"/" + "-" +
CreditCardAutoFillConstants.MonthAbbr[i] CreditCardAutoFillConstants.YearAbbrLong[i]
) )
) { ) {
exp = fullYear + "/" + fullMonth; exp = fullMonth + "-" + fullYear;
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
@ -791,12 +793,12 @@ export default class AutofillService implements AutofillServiceInterface {
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
CreditCardAutoFillConstants.MonthAbbr[i] + CreditCardAutoFillConstants.YearAbbrLong[i] +
"-" + "-" +
CreditCardAutoFillConstants.YearAbbrLong[i] CreditCardAutoFillConstants.MonthAbbr[i]
) )
) { ) {
exp = fullMonth + "-" + fullYear; exp = fullYear + "-" + fullMonth;
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
@ -810,12 +812,10 @@ export default class AutofillService implements AutofillServiceInterface {
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
CreditCardAutoFillConstants.YearAbbrLong[i] + CreditCardAutoFillConstants.YearAbbrLong[i] + CreditCardAutoFillConstants.MonthAbbr[i]
"-" +
CreditCardAutoFillConstants.MonthAbbr[i]
) )
) { ) {
exp = fullYear + "-" + fullMonth; exp = fullYear + fullMonth;
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
@ -827,10 +827,10 @@ export default class AutofillService implements AutofillServiceInterface {
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
CreditCardAutoFillConstants.YearAbbrLong[i] + CreditCardAutoFillConstants.MonthAbbr[i] CreditCardAutoFillConstants.MonthAbbr[i] + CreditCardAutoFillConstants.YearAbbrLong[i]
) )
) { ) {
exp = fullYear + fullMonth; exp = fullMonth + fullYear;
} else if ( } else if (
this.fieldAttrsContain( this.fieldAttrsContain(
fillFields.exp, fillFields.exp,
@ -839,13 +839,6 @@ export default class AutofillService implements AutofillServiceInterface {
partYear != null partYear != null
) { ) {
exp = fullMonth + partYear; exp = fullMonth + partYear;
} else if (
this.fieldAttrsContain(
fillFields.exp,
CreditCardAutoFillConstants.MonthAbbr[i] + CreditCardAutoFillConstants.YearAbbrLong[i]
)
) {
exp = fullMonth + fullYear;
} }
if (exp != null) { if (exp != null) {
@ -1340,7 +1333,8 @@ export default class AutofillService implements AutofillServiceInterface {
(canBeReadOnly || !f.readonly) && (canBeReadOnly || !f.readonly) &&
(withoutForm || f.form === passwordField.form) && (withoutForm || f.form === passwordField.form) &&
(canBeHidden || f.viewable) && (canBeHidden || f.viewable) &&
(f.type === "text" || f.type === "number") (f.type === "text" || f.type === "number") &&
AutofillService.fieldIsFuzzyMatch(f, AutoFillConstants.TotpFieldNames)
) { ) {
totpField = f; totpField = f;
@ -1516,7 +1510,7 @@ export default class AutofillService implements AutofillServiceInterface {
} }
static hasValue(str: string): boolean { static hasValue(str: string): boolean {
return str && str !== ""; return Boolean(str && str !== "");
} }
static setFillScriptForFocus( static setFillScriptForFocus(

View File

@ -695,6 +695,9 @@ export default class MainBackground {
return new Promise<void>((resolve) => { return new Promise<void>((resolve) => {
setTimeout(async () => { setTimeout(async () => {
await this.environmentService.setUrlsFromStorage(); await this.environmentService.setUrlsFromStorage();
// Workaround to ignore stateService.activeAccount until URLs are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = true;
if (!this.isPrivateMode) { if (!this.isPrivateMode) {
await this.refreshBadge(); await this.refreshBadge();
} }

View File

@ -4,6 +4,7 @@ import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import BrowserPlatformUtilsService from "../platform/services/browser-platform-utils.service"; import BrowserPlatformUtilsService from "../platform/services/browser-platform-utils.service";
require("./scss/popup.scss"); require("./scss/popup.scss");
require("./scss/tailwind.css");
import { AppModule } from "./app.module"; import { AppModule } from "./app.module";

View File

@ -0,0 +1,5 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import "../../../../../libs/components/src/tw-theme.css";

View File

@ -19,7 +19,11 @@
{{ "passwordGeneratorPolicyInEffect" | i18n }} {{ "passwordGeneratorPolicyInEffect" | i18n }}
</app-callout> </app-callout>
<div class="generated-block" *ngIf="type === 'password'"> <div class="generated-block" *ngIf="type === 'password'">
<div class="generated-wrapper" [innerHTML]="password | colorPassword" appSelectCopy></div> <div
class="generated-wrapper"
[innerHTML]="password | colorPassword"
[appCopyText]="password"
></div>
<div class="action-buttons"> <div class="action-buttons">
<button <button
type="button" type="button"
@ -41,7 +45,11 @@
</div> </div>
</div> </div>
<div class="generated-block" *ngIf="type === 'username'"> <div class="generated-block" *ngIf="type === 'username'">
<div class="generated-wrapper" [innerHTML]="username | colorPassword" appSelectCopy></div> <div
class="generated-wrapper"
[innerHTML]="username | colorPassword"
[appCopyText]="username"
></div>
<div class="action-buttons" #form [appApiAction]="usernameGeneratingPromise"> <div class="action-buttons" #form [appApiAction]="usernameGeneratingPromise">
<button <button
type="button" type="button"

View File

@ -22,7 +22,7 @@
<div class="row-main-content"> <div class="row-main-content">
<div <div
class="monospaced password-wrapper" class="monospaced password-wrapper"
appSelectCopy [appCopyText]="h.password"
[innerHTML]="h.password | colorPassword" [innerHTML]="h.password | colorPassword"
></div> ></div>
<span class="detail">{{ h.date | date : "medium" }}</span> <span class="detail">{{ h.date | date : "medium" }}</span>

View File

@ -62,7 +62,7 @@ export class VaultSelectComponent implements OnInit, OnDestroy {
selectedVault$: Observable<string | null> = this._selectedVault.asObservable(); selectedVault$: Observable<string | null> = this._selectedVault.asObservable();
enforcePersonalOwnership = false; enforcePersonalOwnership = false;
overlayPostition: ConnectedPosition[] = [ overlayPosition: ConnectedPosition[] = [
{ {
originX: "start", originX: "start",
originY: "bottom", originY: "bottom",
@ -149,7 +149,7 @@ export class VaultSelectComponent implements OnInit, OnDestroy {
.withPush(true) .withPush(true)
.withViewportMargin(10) .withViewportMargin(10)
.withGrowAfterOpen(true) .withGrowAfterOpen(true)
.withPositions(this.overlayPostition); .withPositions(this.overlayPosition);
this.overlayRef = this.overlay.create({ this.overlayRef = this.overlay.create({
hasBackdrop: true, hasBackdrop: true,

View File

@ -72,7 +72,7 @@
<div <div
*ngIf="showPassword && !showPasswordCount" *ngIf="showPassword && !showPasswordCount"
class="monospaced password-wrapper" class="monospaced password-wrapper"
appSelectCopy [appCopyText]="cipher.login.password"
[innerHTML]="cipher.login.password | colorPassword" [innerHTML]="cipher.login.password | colorPassword"
></div> ></div>
<div <div

View File

@ -118,10 +118,10 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="Name" xml:space="preserve"> <data name="Name" xml:space="preserve">
<value>Bitwarden Free Password Manager</value> <value>Bitwarden - Rheolydd cyfineiriau am ddim</value>
</data> </data>
<data name="Summary" xml:space="preserve"> <data name="Summary" xml:space="preserve">
<value>A secure and free password manager for all of your devices</value> <value>Rheolydd diogel a rhad ac am ddim ar gyfer eich holl ddyfeisiau</value>
</data> </data>
<data name="Description" xml:space="preserve"> <data name="Description" xml:space="preserve">
<value>Bitwarden, Inc. is the parent company of 8bit Solutions LLC. <value>Bitwarden, Inc. is the parent company of 8bit Solutions LLC.
@ -152,7 +152,7 @@ Secure and share sensitive data within your Bitwarden Vault from any browser, mo
</value> </value>
</data> </data>
<data name="AssetTitle" xml:space="preserve"> <data name="AssetTitle" xml:space="preserve">
<value>A secure and free password manager for all of your devices</value> <value>Rheolydd diogel a rhad ac am ddim ar gyfer eich holl ddyfeisiau</value>
</data> </data>
<data name="ScreenshotSync" xml:space="preserve"> <data name="ScreenshotSync" xml:space="preserve">
<value>Sync and access your vault from multiple devices</value> <value>Sync and access your vault from multiple devices</value>
@ -170,6 +170,6 @@ Secure and share sensitive data within your Bitwarden Vault from any browser, mo
<value>Automatically generate strong, random, and secure passwords</value> <value>Automatically generate strong, random, and secure passwords</value>
</data> </data>
<data name="ScreenshotEdit" xml:space="preserve"> <data name="ScreenshotEdit" xml:space="preserve">
<value>Your information is managed securely using AES-256 bit encryption</value> <value>Mae eich gwybodaeth yn cael ei reoli'n ddiogel gan ddefnyddio manyleb amgryptio AES 256 did</value>
</data> </data>
</root> </root>

View File

@ -124,19 +124,19 @@
<value>Saugi ir nemokama slaptažodžių tvarkyklė visiems įrenginiams</value> <value>Saugi ir nemokama slaptažodžių tvarkyklė visiems įrenginiams</value>
</data> </data>
<data name="Description" xml:space="preserve"> <data name="Description" xml:space="preserve">
<value>Bitwarden, Inc. yra pagrindinė 8bit Solutions LLC įmonė. <value>Bitwarden, Inc. yra pagrindinė 8bit Solutions LLC įmonė.
ĮVARDINTA GERIAUSIU SLAPTAŽODŽIŲ TVARKYTOJU. ĮVARDINTA GERIAUSIU SLAPTAŽODŽIŲ TVARKYTOJU.
Tvarkykite, saugokite, saugokite ir bendrinkite neribotą skaičių slaptažodžių neribotuose įrenginiuose iš bet kurios vietos. Bitwarden teikia atvirojo kodo slaptažodžių valdymo sprendimus visiems tiek namuose, tiek darbe, tiek keliaujant. Tvarkykite, saugokite, saugokite ir bendrinkite neribotą skaičių slaptažodžių neribotuose įrenginiuose iš bet kurios vietos. Bitwarden teikia atvirojo kodo slaptažodžių valdymo sprendimus visiems tiek namuose, tiek darbe, tiek keliaujant.
Generuokite stiprius, unikalius ir atsitiktinius slaptažodžius pagal saugos reikalavimus kiekvienai lankomai svetainei. Generuokite stiprius, unikalius ir atsitiktinius slaptažodžius pagal saugos reikalavimus kiekvienai lankomai svetainei.
Bitwarden Send greitai perduoda užšifruotą informaciją failus ir paprastą tekstą tiesiogiai bet kam. Bitwarden Send greitai perduoda užšifruotą informaciją failus ir paprastą tekstą tiesiogiai bet kam.
Bitwarden siūlo komandų ir įmonių planus įmonėms, kad galėtumėte saugiai dalytis slaptažodžiais su kolegomis. Bitwarden siūlo komandų ir įmonių planus įmonėms, kad galėtumėte saugiai dalytis slaptažodžiais su kolegomis.
Kodėl verta rinktis Bitwarden: Kodėl rinktis Bitwarden:
Pasaulinės klasės šifravimas Pasaulinės klasės šifravimas
Slaptažodžiai yra apsaugoti naudojant pažangų šifravimą nuo galo iki galo (AES-256 bitai, žyma su grotelėmis ir PBKDF2 SHA-256), todėl jūsų duomenys išliks saugūs ir privatūs. Slaptažodžiai yra apsaugoti naudojant pažangų šifravimą nuo galo iki galo (AES-256 bitai, žyma su grotelėmis ir PBKDF2 SHA-256), todėl jūsų duomenys išliks saugūs ir privatūs.
@ -145,10 +145,10 @@ Integruotas slaptažodžių generatorius
Generuokite stiprius, unikalius ir atsitiktinius slaptažodžius pagal saugos reikalavimus kiekvienai lankomai svetainei. Generuokite stiprius, unikalius ir atsitiktinius slaptažodžius pagal saugos reikalavimus kiekvienai lankomai svetainei.
Pasauliniai vertimai Pasauliniai vertimai
„Bitwarden“ vertimai egzistuoja 40 kalbų ir mūsų pasaulinės bendruomenės dėka auga. Bitwarden vertimai egzistuoja 40 kalbose ir vis daugėja mūsų pasaulinės bendruomenės dėka.
Įvairių platformų programos Įvairių platformų programos
Apsaugokite ir bendrinkite neskelbtinus duomenis savo Bitwarden Vault iš bet kurios naršyklės, mobiliojo įrenginio ar stalinio kompiuterio OS ir kt. Apsaugokite ir bendrinkite neskelbtinus duomenis savo Bitwarden Vault iš bet kurios naršyklės, mobiliojo įrenginio ar stalinio kompiuterio OS ir kt.
</value> </value>
</data> </data>
<data name="AssetTitle" xml:space="preserve"> <data name="AssetTitle" xml:space="preserve">

View File

@ -0,0 +1,6 @@
/* eslint-disable no-undef, @typescript-eslint/no-var-requires */
const config = require("../../libs/components/tailwind.config.base");
config.content = ["./src/**/*.{html,ts}", "../../libs/components/src/**/*.{html,ts}"];
module.exports = config;

View File

@ -10,8 +10,9 @@
"sourceMap": true, "sourceMap": true,
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/angular/*": ["../../libs/angular/src/*"], "@bitwarden/angular/*": ["../../libs/angular/src/*"],
"@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/components": ["../../libs/components/src"],
"@bitwarden/exporter/*": ["../../libs/exporter/src/*"] "@bitwarden/exporter/*": ["../../libs/exporter/src/*"]
}, },
"useDefineForClassFields": false "useDefineForClassFields": false

View File

@ -42,6 +42,16 @@ const moduleRules = [
}, },
type: "asset/resource", type: "asset/resource",
}, },
{
test: /\.css$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
},
"css-loader",
"postcss-loader",
],
},
{ {
test: /\.scss$/, test: /\.scss$/,
use: [ use: [

View File

@ -0,0 +1,4 @@
/* eslint-disable no-undef */
module.exports = {
plugins: [require("tailwindcss"), require("autoprefixer"), require("postcss-nested")],
};

View File

@ -10,6 +10,7 @@ import {
} from "@angular/core"; } from "@angular/core";
import { DomSanitizer } from "@angular/platform-browser"; import { DomSanitizer } from "@angular/platform-browser";
import { Router } from "@angular/router"; import { Router } from "@angular/router";
import { ipcRenderer } from "electron";
import { IndividualConfig, ToastrService } from "ngx-toastr"; import { IndividualConfig, ToastrService } from "ngx-toastr";
import { firstValueFrom, Subject, takeUntil } from "rxjs"; import { firstValueFrom, Subject, takeUntil } from "rxjs";
@ -232,7 +233,7 @@ export class AppComponent implements OnInit, OnDestroy {
this.systemService.cancelProcessReload(); this.systemService.cancelProcessReload();
break; break;
case "reloadProcess": case "reloadProcess":
(window.location as any).reload(true); ipcRenderer.send("reload-process");
break; break;
case "syncStarted": case "syncStarted":
break; break;

View File

@ -42,7 +42,7 @@
(backdropClick)="close()" (backdropClick)="close()"
(detach)="close()" (detach)="close()"
[cdkConnectedOverlayOpen]="showSwitcher && isOpen" [cdkConnectedOverlayOpen]="showSwitcher && isOpen"
[cdkConnectedOverlayPositions]="overlayPostition" [cdkConnectedOverlayPositions]="overlayPosition"
cdkConnectedOverlayMinWidth="250px" cdkConnectedOverlayMinWidth="250px"
> >
<div <div

View File

@ -68,7 +68,7 @@ export class AccountSwitcherComponent implements OnInit, OnDestroy {
activeAccount?: ActiveAccount; activeAccount?: ActiveAccount;
serverUrl: string; serverUrl: string;
authStatus = AuthenticationStatus; authStatus = AuthenticationStatus;
overlayPostition: ConnectedPosition[] = [ overlayPosition: ConnectedPosition[] = [
{ {
originX: "end", originX: "end",
originY: "bottom", originY: "bottom",

View File

@ -3,8 +3,8 @@ import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { isDev } from "../utils"; import { isDev } from "../utils";
// tslint:disable-next-line
require("../scss/styles.scss"); require("../scss/styles.scss");
require("../scss/tailwind.css");
import { AppModule } from "./app.module"; import { AppModule } from "./app.module";

View File

@ -44,6 +44,9 @@ export class InitService {
this.nativeMessagingService.init(); this.nativeMessagingService.init();
await this.stateService.init(); await this.stateService.init();
await this.environmentService.setUrlsFromStorage(); await this.environmentService.setUrlsFromStorage();
// Workaround to ignore stateService.activeAccount until URLs are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = true;
this.syncService.fullSync(true); this.syncService.fullSync(true);
(this.vaultTimeoutService as VaultTimeoutService).init(true); (this.vaultTimeoutService as VaultTimeoutService).init(true);
const locale = await this.stateService.getLocale(); const locale = await this.stateService.getLocale();

View File

@ -12,7 +12,11 @@
{{ "passwordGeneratorPolicyInEffect" | i18n }} {{ "passwordGeneratorPolicyInEffect" | i18n }}
</app-callout> </app-callout>
<div class="generated-block" *ngIf="type === 'password'"> <div class="generated-block" *ngIf="type === 'password'">
<div class="generated-wrapper" [innerHTML]="password | colorPassword" appSelectCopy></div> <div
class="generated-wrapper"
[innerHTML]="password | colorPassword"
[appCopyText]="password"
></div>
<div class="action-buttons"> <div class="action-buttons">
<button <button
type="button" type="button"
@ -35,7 +39,11 @@
</div> </div>
</div> </div>
<div class="generated-block" *ngIf="type === 'username'"> <div class="generated-block" *ngIf="type === 'username'">
<div class="generated-wrapper" [innerHTML]="username | colorPassword" appSelectCopy></div> <div
class="generated-wrapper"
[innerHTML]="username | colorPassword"
[appCopyText]="username"
></div>
<div class="action-buttons" #form [appApiAction]="usernameGeneratingPromise"> <div class="action-buttons" #form [appApiAction]="usernameGeneratingPromise">
<button <button
type="button" type="button"

View File

@ -11,7 +11,7 @@
<div class="row-main"> <div class="row-main">
<div <div
class="password-wrapper monospaced" class="password-wrapper monospaced"
appSelectCopy [appCopyText]="h.password"
[innerHTML]="h.password | colorPassword" [innerHTML]="h.password | colorPassword"
></div> ></div>
<span class="detail">{{ h.date | date : "medium" }}</span> <span class="detail">{{ h.date | date : "medium" }}</span>

View File

@ -2267,6 +2267,6 @@
"message": "Selghehuisves" "message": "Selghehuisves"
}, },
"accessDenied": { "accessDenied": {
"message": "Access denied. You do not have permission to view this page." "message": "Toegang geweier. U het nie toestemming om hierdie blad te sien nie."
} }
} }

View File

@ -2125,7 +2125,7 @@
"message": "Tunnistelauseke" "message": "Tunnistelauseke"
}, },
"needAnotherOption": { "needAnotherOption": {
"message": "Laitteella kirjautuminen on määritettävä Bitwarden-mobiilisovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?" "message": "Laitteella kirjautuminen on määritettävä Bitwarden-sovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?"
}, },
"viewAllLoginOptions": { "viewAllLoginOptions": {
"message": "Näytä kaikki kirjautumisvaihtoehdot" "message": "Näytä kaikki kirjautumisvaihtoehdot"

View File

@ -1335,7 +1335,7 @@
"message": "Підтвердити експорт сховища" "message": "Підтвердити експорт сховища"
}, },
"exportWarningDesc": { "exportWarningDesc": {
"message": "Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх." "message": "Ваші експортовані дані сховища незашифровані. Не зберігайте і не надсилайте їх незахищеними каналами (як-от електронна пошта). Після використання негайно видаліть їх."
}, },
"encExportKeyWarningDesc": { "encExportKeyWarningDesc": {
"message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, необхідно виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту." "message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, необхідно виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту."

View File

@ -2125,7 +2125,7 @@
"message": "指纹短语" "message": "指纹短语"
}, },
"needAnotherOption": { "needAnotherOption": {
"message": "必须在 Bitwarden 应用程序的设置中启用设备登录。需要其他选项吗?" "message": "设备登录必须在 Bitwarden 应用程序的设置中启用。需要其他选项吗?"
}, },
"viewAllLoginOptions": { "viewAllLoginOptions": {
"message": "查看所有登录选项" "message": "查看所有登录选项"

View File

@ -98,6 +98,7 @@ export class Main {
this.windowMain = new WindowMain( this.windowMain = new WindowMain(
this.stateService, this.stateService,
this.logService, this.logService,
this.storageService,
(arg) => this.processDeepLink(arg), (arg) => this.processDeepLink(arg),
(win) => this.trayMain.setupWindowListeners(win) (win) => this.trayMain.setupWindowListeners(win)
); );

View File

@ -1,11 +1,13 @@
import { once } from "node:events";
import * as path from "path"; import * as path from "path";
import * as url from "url"; import * as url from "url";
import { app, BrowserWindow, screen } from "electron"; import { app, BrowserWindow, ipcMain, nativeTheme, screen, session } from "electron";
import { WindowState } from "@bitwarden/common/models/domain/window-state"; import { WindowState } from "@bitwarden/common/models/domain/window-state";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service"; import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
import { AbstractStorageService } from "@bitwarden/common/platform/abstractions/storage.service";
import { cleanUserAgent, isDev, isMacAppStore, isSnapStore } from "../utils"; import { cleanUserAgent, isDev, isMacAppStore, isSnapStore } from "../utils";
@ -19,6 +21,7 @@ export class WindowMain {
private windowStateChangeTimer: NodeJS.Timer; private windowStateChangeTimer: NodeJS.Timer;
private windowStates: { [key: string]: WindowState } = {}; private windowStates: { [key: string]: WindowState } = {};
private enableAlwaysOnTop = false; private enableAlwaysOnTop = false;
private session: Electron.Session;
readonly defaultWidth = 950; readonly defaultWidth = 950;
readonly defaultHeight = 600; readonly defaultHeight = 600;
@ -26,11 +29,26 @@ export class WindowMain {
constructor( constructor(
private stateService: StateService, private stateService: StateService,
private logService: LogService, private logService: LogService,
private storageService: AbstractStorageService,
private argvCallback: (argv: string[]) => void = null, private argvCallback: (argv: string[]) => void = null,
private createWindowCallback: (win: BrowserWindow) => void private createWindowCallback: (win: BrowserWindow) => void
) {} ) {}
init(): Promise<any> { init(): Promise<any> {
// Perform a hard reload of the render process by crashing it. This is suboptimal but ensures that all memory gets
// cleared, as the process itself will be completely garbage collected.
ipcMain.on("reload-process", async () => {
// User might have changed theme, ensure the window is updated.
this.win.setBackgroundColor(await this.getBackgroundColor());
const crashEvent = once(this.win.webContents, "render-process-gone");
this.win.webContents.forcefullyCrashRenderer();
await crashEvent;
this.win.webContents.reloadIgnoringCache();
this.session.clearCache();
});
return new Promise<void>((resolve, reject) => { return new Promise<void>((resolve, reject) => {
try { try {
if (!isMacAppStore() && !isSnapStore()) { if (!isMacAppStore() && !isSnapStore()) {
@ -108,6 +126,8 @@ export class WindowMain {
); );
this.enableAlwaysOnTop = await this.stateService.getEnableAlwaysOnTop(); this.enableAlwaysOnTop = await this.stateService.getEnableAlwaysOnTop();
this.session = session.fromPartition("persist:bitwarden", { cache: false });
// Create the browser window. // Create the browser window.
this.win = new BrowserWindow({ this.win = new BrowserWindow({
width: this.windowStates[mainWindowSizeKey].width, width: this.windowStates[mainWindowSizeKey].width,
@ -120,13 +140,14 @@ export class WindowMain {
icon: process.platform === "linux" ? path.join(__dirname, "/images/icon.png") : undefined, icon: process.platform === "linux" ? path.join(__dirname, "/images/icon.png") : undefined,
titleBarStyle: process.platform === "darwin" ? "hiddenInset" : undefined, titleBarStyle: process.platform === "darwin" ? "hiddenInset" : undefined,
show: false, show: false,
backgroundColor: "#fff", backgroundColor: await this.getBackgroundColor(),
alwaysOnTop: this.enableAlwaysOnTop, alwaysOnTop: this.enableAlwaysOnTop,
webPreferences: { webPreferences: {
spellcheck: false, spellcheck: false,
nodeIntegration: true, nodeIntegration: true,
backgroundThrottling: false, backgroundThrottling: false,
contextIsolation: false, contextIsolation: false,
session: this.session,
}, },
}); });
@ -201,6 +222,26 @@ export class WindowMain {
} }
} }
// Retrieve the background color
// Resolves background color missmatch when starting the application.
async getBackgroundColor(): Promise<string> {
const data: { theme?: string } = await this.storageService.get("global");
let theme = data?.theme;
if (theme == null || theme === "system") {
theme = nativeTheme.shouldUseDarkColors ? "dark" : "light";
}
switch (theme) {
case "light":
return "#ededed";
case "dark":
return "#222222";
case "nord":
return "#3b4252";
}
}
async toggleAlwaysOnTop() { async toggleAlwaysOnTop() {
this.enableAlwaysOnTop = !this.win.isAlwaysOnTop(); this.enableAlwaysOnTop = !this.win.isAlwaysOnTop();
this.win.setAlwaysOnTop(this.enableAlwaysOnTop); this.win.setAlwaysOnTop(this.enableAlwaysOnTop);

View File

@ -16,7 +16,10 @@ body {
body { body {
color: $text-color; color: $text-color;
background-color: $background-color-alt2;
// We initially rely on electron to provide the appropiate background color.
// This ensures the background color while reloading is correct to avoid a jarring missmatch.
background-color: transparent;
@include themify($themes) { @include themify($themes) {
color: themed("textColor"); color: themed("textColor");

View File

@ -0,0 +1,5 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import "../../../../libs/components/src/tw-theme.css";

View File

@ -28,7 +28,7 @@ $brand-primary-accent: #1252a3;
$background-color: white; $background-color: white;
$background-color-alt: #f9f9f9; $background-color-alt: #f9f9f9;
$background-color-alt2: #ededed; $background-color-alt2: #ededed; // Ensure the `window.main.ts` is updated with this value
$box-background-color: $background-color; $box-background-color: $background-color;
$box-background-hover-color: $list-item-hover; $box-background-hover-color: $list-item-hover;
@ -50,6 +50,7 @@ $themes: (
backgroundColor: $background-color, backgroundColor: $background-color,
borderColorAlt: $border-color-alt, borderColorAlt: $border-color-alt,
backgroundColorAlt: $background-color-alt, backgroundColorAlt: $background-color-alt,
// Ensure the `window.main.ts` is updated with this value
backgroundColorAlt2: $background-color-alt2, backgroundColorAlt2: $background-color-alt2,
scrollbarColor: rgba(100, 100, 100, 0.2), scrollbarColor: rgba(100, 100, 100, 0.2),
scrollbarHoverColor: rgba(100, 100, 100, 0.4), scrollbarHoverColor: rgba(100, 100, 100, 0.4),
@ -107,6 +108,7 @@ $themes: (
backgroundColor: #363636, backgroundColor: #363636,
borderColorAlt: #6e788a, borderColorAlt: #6e788a,
backgroundColorAlt: #3d3d3d, backgroundColorAlt: #3d3d3d,
// Ensure the `window.main.ts` is updated with this value
backgroundColorAlt2: #222222, backgroundColorAlt2: #222222,
scrollbarColor: #4d4d4d, scrollbarColor: #4d4d4d,
scrollbarHoverColor: #5f5f5f, scrollbarHoverColor: #5f5f5f,
@ -164,6 +166,7 @@ $themes: (
backgroundColor: $nord2, backgroundColor: $nord2,
borderColorAlt: $nord5, borderColorAlt: $nord5,
backgroundColorAlt: $nord1, backgroundColorAlt: $nord1,
// Ensure the `window.main.ts` is updated with this value
backgroundColorAlt2: $nord1, backgroundColorAlt2: $nord1,
scrollbarColor: $nord4, scrollbarColor: $nord4,
scrollbarHoverColor: $nord6, scrollbarHoverColor: $nord6,

View File

@ -52,7 +52,7 @@
<div <div
*ngIf="showPassword && !showPasswordCount" *ngIf="showPassword && !showPasswordCount"
class="monospaced password-wrapper" class="monospaced password-wrapper"
appSelectCopy [appCopyText]="cipher.login.password"
[innerHTML]="cipher.login.password | colorPassword" [innerHTML]="cipher.login.password | colorPassword"
></div> ></div>
<div <div

View File

@ -0,0 +1,6 @@
/* eslint-disable no-undef, @typescript-eslint/no-var-requires */
const config = require("../../libs/components/tailwind.config.base");
config.content = ["./src/**/*.{html,ts}", "../../libs/components/src/**/*.{html,ts}"];
module.exports = config;

View File

@ -10,8 +10,9 @@
"types": [], "types": [],
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/angular/*": ["../../libs/angular/src/*"], "@bitwarden/angular/*": ["../../libs/angular/src/*"],
"@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/components": ["../../libs/components/src"],
"@bitwarden/exporter/*": ["../../libs/exporter/src/*"] "@bitwarden/exporter/*": ["../../libs/exporter/src/*"]
}, },
"useDefineForClassFields": false "useDefineForClassFields": false

View File

@ -109,6 +109,16 @@ const renderer = {
}, },
type: "asset/resource", type: "asset/resource",
}, },
{
test: /\.css$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
},
"css-loader",
"postcss-loader",
],
},
{ {
test: /\.scss$/, test: /\.scss$/,
use: [ use: [

View File

@ -38,14 +38,13 @@ export class InitService {
init() { init() {
return async () => { return async () => {
// Workaround to ignore stateService.activeAccount until process.env.URLS are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = false;
await this.stateService.init(); await this.stateService.init();
const urls = process.env.URLS as Urls; const urls = process.env.URLS as Urls;
urls.base ??= this.win.location.origin; urls.base ??= this.win.location.origin;
await this.environmentService.setUrls(urls); await this.environmentService.setUrls(urls);
// Workaround to ignore stateService.activeAccount until process.env.URLS are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = true; this.environmentService.initialized = true;
setTimeout(() => this.notificationsService.init(), 3000); setTimeout(() => this.notificationsService.init(), 3000);

View File

@ -8,7 +8,7 @@
<div class="card-body"> <div class="card-body">
<bit-color-password <bit-color-password
[password]="type === 'password' ? password : username" [password]="type === 'password' ? password : username"
appSelectCopy [appCopyText]="type === 'password' ? password : username"
></bit-color-password> ></bit-color-password>
</div> </div>
</div> </div>

View File

@ -10,7 +10,7 @@
<bit-color-password <bit-color-password
[password]="h.password" [password]="h.password"
class="tw-block tw-font-mono" class="tw-block tw-font-mono"
appSelectCopy [appCopyText]="h.password"
></bit-color-password> ></bit-color-password>
<small bitTypography="body2" class="tw-text-muted"> <small bitTypography="body2" class="tw-text-muted">
{{ h.date | date : "medium" }} {{ h.date | date : "medium" }}

File diff suppressed because it is too large Load Diff

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "تسجيل الدخول باستخدام جهاز" "message": "تسجيل الدخول باستخدام جهاز"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "تسجيل الدخول باستخدام الجهاز يجب أن يكون مفعلاً في إعدادات تطبيق بيتواردن على هاتفك. هل تحتاج إلى خِيار آخر؟" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "تسجيل الدخول باستخدام كلمة المرور الرئيسية" "message": "تسجيل الدخول باستخدام كلمة المرور الرئيسية"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Cihazla giriş et" "message": "Cihazla giriş et"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Cihazla giriş etmə, Bitwarden mobil tətbiqinin tənzimləmələrində fəallaşdırılmalıdır. Başqa bir seçimə ehtiyacınız var?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Ana parolla giriş et" "message": "Ana parolla giriş et"
@ -6627,7 +6627,7 @@
"message": "Secrets Manager" "message": "Secrets Manager"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "\"Secrets Manager\"ə istifadəçi müraciətini aktivləşdir."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "This user can access Secrets Manager" "message": "This user can access Secrets Manager"
@ -6859,18 +6859,18 @@
"message": "İstifadəçi, hesab bərpası vasitəsilə verilən bir parolu güncəllədi." "message": "İstifadəçi, hesab bərpası vasitəsilə verilən bir parolu güncəllədi."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "\"Secrets Manager\"ə müraciət aktivləşdirildi",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Müraciəti aktivləşdir"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Grant the following members access to Secrets Manager. The role granted in the Password Manager will apply to Secrets Manager.", "message": "Grant the following members access to Secrets Manager. The role granted in the Password Manager will apply to Secrets Manager.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "\"Secrets Manager\"i aktivləşdir"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Təşkilatınızın barmaq izi ifadəsi", "message": "Təşkilatınızın barmaq izi ifadəsi",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Увайсці з прыладай" "message": "Увайсці з прыладай"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Неабходна ўключыць уваход з прыладай у наладах мабільнай праграмы Bitwarden. Неабходны іншы варыянт?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Увайсці з асноўным паролем" "message": "Увайсці з асноўным паролем"
@ -6627,7 +6627,7 @@
"message": "Менеджар сакрэтаў" "message": "Менеджар сакрэтаў"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Актываваць доступ карыстальнікаў да менеджара сакрэтаў."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Гэты карыстальнік можа атрымаць доступ да менеджара сакрэтаў" "message": "Гэты карыстальнік можа атрымаць доступ да менеджара сакрэтаў"
@ -6859,18 +6859,18 @@
"message": "Карыстальнік абнавіў пароль пры аднаўленні ўліковага запісу." "message": "Карыстальнік абнавіў пароль пры аднаўленні ўліковага запісу."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Доступ карыстальнікаў да менеджара сакрэтаў актываваны",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Актываваць доступ"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Забяспечце доступ наступным удзельнікам да менеджара сакрэтаў. Роля, якая забяспечана ў менеджары пароляў будзе ўжывацца і да менеджара сакрэтаў.", "message": "Забяспечце доступ наступным удзельнікам да менеджара сакрэтаў. Роля, якая забяспечана ў менеджары пароляў будзе ўжывацца і да менеджара сакрэтаў.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Актываваць менеджар сакрэтаў"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Фраза адбітку пальца вашай арганізацыі", "message": "Фраза адбітку пальца вашай арганізацыі",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Вписване с устройство" "message": "Вписване с устройство"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Вписването с устройство трябва да е включено в настройките на мобилното приложение на Битуорден. Друга настройка ли търсите?" "message": "Вписването с устройство трябва да е включено в настройките на приложението на Битуорден. Друга настройка ли търсите?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Вписване с главната парола" "message": "Вписване с главната парола"
@ -6627,7 +6627,7 @@
"message": "Управление на тайни" "message": "Управление на тайни"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Включване на достъпа на потребителите до Управлението на тайни."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Този потребител има достъп до Управлението на тайни" "message": "Този потребител има достъп до Управлението на тайни"
@ -6859,18 +6859,18 @@
"message": "Потребителят промени парола издадена чрез възстановяването на профили." "message": "Потребителят промени парола издадена чрез възстановяването на профили."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Достъпът до Управлението на тайни е включен",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Включване на достъпа"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Дайте на следните членове достъп до Управлението на тайни. Ролята, която всеки от тях има в Управителя на пароли, ще се приложи и в Управлението на тайни.", "message": "Дайте на следните членове достъп до Управлението на тайни. Ролята, която всеки от тях има в Управителя на пароли, ще се приложи и в Управлението на тайни.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Включване на Управлението на тайни"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Уникална фраза, идентифицираща организацията ви", "message": "Уникална фраза, идентифицираща организацията ви",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Inici de sessió amb dispositiu" "message": "Inici de sessió amb dispositiu"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "L'inici de sessió amb el dispositiu ha d'estar activat a la configuració de l'aplicació mòbil Bitwarden. Necessiteu una altra opció?" "message": "L'inici de sessió amb el dispositiu ha d'estar activat a la configuració de l'aplicació Bitwarden. Necessiteu una altra opció?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Inici de sessió amb contrasenya mestra" "message": "Inici de sessió amb contrasenya mestra"
@ -6627,7 +6627,7 @@
"message": "Administrador de secrets" "message": "Administrador de secrets"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Activa l'accés dels usuaris a l'administrador de secrets."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Aquest usuari pot accedir a l'administrador de secrets" "message": "Aquest usuari pot accedir a l'administrador de secrets"
@ -6859,18 +6859,18 @@
"message": "L'usuari ha actualitzat una contrasenya emesa mitjançant la recuperació del compte." "message": "L'usuari ha actualitzat una contrasenya emesa mitjançant la recuperació del compte."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Activa l'accés a l'administrador de secrets",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Activa l'accés"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Concedeix als membres següents accés a l'administrador de secrets. El rol concedit l'administrador de contrasenyes s'aplicarà a l'administrador de secrets.", "message": "Concedeix als membres següents accés a l'administrador de secrets. El rol concedit l'administrador de contrasenyes s'aplicarà a l'administrador de secrets.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Activa l'administrador de secrets"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Frase d'empremta digital de l'organització", "message": "Frase d'empremta digital de l'organització",
@ -6931,7 +6931,7 @@
"message": "La supressió de membres que no tenen contrasenyes mestres sense establir-ne una pot restringir l'accés al seu compte complet." "message": "La supressió de membres que no tenen contrasenyes mestres sense establir-ne una pot restringir l'accés al seu compte complet."
}, },
"startYour7DayFreeTrialOfBitwardenFor": { "startYour7DayFreeTrialOfBitwardenFor": {
"message": "Start your 7-Day free trial of Bitwarden for $ORG$", "message": "Inicieu la vostra prova gratuïta de 7 dies de Bitwarden per a $ORG$",
"placeholders": { "placeholders": {
"org": { "org": {
"content": "$1", "content": "$1",
@ -6940,15 +6940,15 @@
} }
}, },
"next": { "next": {
"message": "Next" "message": "Següent"
}, },
"usFlag": { "usFlag": {
"message": "US flag" "message": "Bandera EUA"
}, },
"euFlag": { "euFlag": {
"message": "EU flag" "message": "Bandera UE"
}, },
"selectedRegionFlag": { "selectedRegionFlag": {
"message": "Selected region flag" "message": "Bandera de la regió seleccionada"
} }
} }

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Přihlásit se zařízením" "message": "Přihlásit se zařízením"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Přihlášení zařízením musí být nastaveno v mobilní aplikaci Bitwarden. Potřebujete další volby?" "message": "Přihlášení zařízením musí být nastaveno v aplikaci Bitwarden. Potřebujete další volby?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Přihlásit se pomocí hlavního hesla" "message": "Přihlásit se pomocí hlavního hesla"
@ -6627,7 +6627,7 @@
"message": "Správce tajných klíčů" "message": "Správce tajných klíčů"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Aktivuje přístup uživatele ke správci tajných klíčů."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Tento uživatel může přistupovat ke správci tajných klíčů" "message": "Tento uživatel může přistupovat ke správci tajných klíčů"
@ -6859,18 +6859,18 @@
"message": "Uživatel aktualizoval heslo vydané prostřednictvím obnovení účtu." "message": "Uživatel aktualizoval heslo vydané prostřednictvím obnovení účtu."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Aktivován přístup uživatele ke správci tajných klíčů",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Aktivovat přístup"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Udělte následujícím členům přístup ke správci tajných klíčů. Role udělená ve správci hesel se bude vztahovat na správce tajných klíčů.", "message": "Udělte následujícím členům přístup ke správci tajných klíčů. Role udělená ve správci hesel se bude vztahovat na správce tajných klíčů.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Aktivovat správce tajných klíčů"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Fráze otisku prstu Vaší organizace", "message": "Fráze otisku prstu Vaší organizace",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log ind med enhed" "message": "Log ind med enhed"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log ind med enhed skal være opsat i indstillingerne i Bitwarden mobil-appen. Behov for en anden mulighed?" "message": "Log ind med enhed skal være opsat i indstillingerne i Bitwarden-appen. Brug for en anden mulighed?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log ind med hovedadgangskode" "message": "Log ind med hovedadgangskode"
@ -6627,7 +6627,7 @@
"message": "Hemmelighedshåndtering" "message": "Hemmelighedshåndtering"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Aktivér brugeradgang til Hemmelighedshåndtering."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Denne bruger kan tilgå Hemmelighedshåndtering" "message": "Denne bruger kan tilgå Hemmelighedshåndtering"
@ -6859,18 +6859,18 @@
"message": "Bruger har opdateret en adgangskode udstedt via kontogendannelse." "message": "Bruger har opdateret en adgangskode udstedt via kontogendannelse."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Aktivér adgang til Hemmelighedshåndtering",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Aktivere adgang"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Tildel flg. medlemmers adgang til Hemmelighedshåndtering. Den i Adgangskodehåndtering tildelte rolle vil gælde for Hemmelighedshåndtering.", "message": "Tildel flg. medlemmers adgang til Hemmelighedshåndtering. Den i Adgangskodehåndtering tildelte rolle vil gælde for Hemmelighedshåndtering.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Aktivere Hemmelighedshåndtering"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Din organisations fingeraftrykssætning", "message": "Din organisations fingeraftrykssætning",

View File

@ -618,7 +618,7 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Mit Gerät anmelden" "message": "Mit Gerät anmelden"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Die Anmeldung über ein Gerät muss in den Einstellungen der Bitwarden App eingerichtet werden. Benötigst du eine andere Option?" "message": "Die Anmeldung über ein Gerät muss in den Einstellungen der Bitwarden App eingerichtet werden. Benötigst du eine andere Option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Σύνδεση με χρήση συσκευής" "message": "Σύνδεση με χρήση συσκευής"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Συνδεθείτε με τον κύριο κωδικό πρόσβασης" "message": "Συνδεθείτε με τον κύριο κωδικό πρόσβασης"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Saluti kun la aparato" "message": "Saluti kun la aparato"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Saluti kun la ĉefpasvorto" "message": "Saluti kun la ĉefpasvorto"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Iniciar sesión con el dispositivo" "message": "Iniciar sesión con el dispositivo"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Iniciar sesión con el dispositivo debe estar habilitado en los ajustes de la aplicación móvil Bitwarden. ¿Necesitas otra opción?" "message": "Iniciar sesión con el dispositivo debe configurarse en los ajustes de la aplicación Bitwarden. ¿Necesitas otra opción?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Iniciar sesión con contraseña maestra" "message": "Iniciar sesión con contraseña maestra"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Logi sisse ülemparooliga" "message": "Logi sisse ülemparooliga"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Hasi saioa gailuarekin" "message": "Hasi saioa gailuarekin"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Bitwarden mugikorreko aplikazioaren konfigurazioan, gailuarekin saioa hastea gaituta egon behar du. Beste aukerarik behar duzu?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Hasi saioa pasahitz nagusiarekin" "message": "Hasi saioa pasahitz nagusiarekin"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "ورود با دستگاه" "message": "ورود با دستگاه"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "ورود به سیستم با دستگاه باید در تنظیمات برنامه‌ی موبایل Bitwarden تنظیم شود. به گزینه دیگری نیاز دارید؟" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "با کلمه عبور اصلی وارد شوید" "message": "با کلمه عبور اصلی وارد شوید"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Laitteella kirjautuminen" "message": "Laitteella kirjautuminen"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Laitteella kirjautuminen on määritettävä Bitwarden-mobiilisovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?" "message": "Laitteella kirjautuminen on määritettävä Bitwarden-sovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Kirjaudu pääsalasanalla" "message": "Kirjaudu pääsalasanalla"
@ -6627,7 +6627,7 @@
"message": "Salaisuushallinta" "message": "Salaisuushallinta"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Myönnä käyttäjälle Salaisuushallinnan käyttöoikeus."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Käyttäjällä on Salaisuushallinnan käyttöoikeus" "message": "Käyttäjällä on Salaisuushallinnan käyttöoikeus"
@ -6859,18 +6859,18 @@
"message": "Käyttäjä vaihtoi tilin palautusavun määrittämän salasanan." "message": "Käyttäjä vaihtoi tilin palautusavun määrittämän salasanan."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Aktivoi Salaisuushallinnan",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Aktivoi"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Myönnä seuraaville jäsenille Salaisuushallinnan käyttöoikeus. Salasananhallinnassa myönnetty rooli pätee myös Salaisuushallinnassa.", "message": "Myönnä seuraaville jäsenille Salaisuushallinnan käyttöoikeus. Salasananhallinnassa myönnetty rooli pätee myös Salaisuushallinnassa.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Aktivoi Salaisuushallinta"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Organisaatiosi tunnistelauseke", "message": "Organisaatiosi tunnistelauseke",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Mag-log in gamit ang device" "message": "Mag-log in gamit ang device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Dapat nakahanda ang pagla-log in gamit ang device sa mga setting ng mobile app ng Bitwarden. Kailangan ng higit pang opsyon?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Mag-log in gamit ang master password" "message": "Mag-log in gamit ang master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Se connecter avec l'appareil" "message": "Se connecter avec l'appareil"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "La connexion avec l'appareil doit être activée dans les paramètres de l'application mobile Bitwarden. Avez-vous besoin d'une autre option?" "message": "La connexion avec l'appareil doit être configurée dans les paramètres de l'application Bitwarden. Besoin d'une autre option ?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Se connecter avec le mot de passe principal" "message": "Se connecter avec le mot de passe principal"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Prijava uređajem" "message": "Prijava uređajem"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Prijava uređajem mora biti namještena u postavka Bitwarden mobilne aplikacije. Trebaš drugu opciju?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Prijava glavnom lozinkom" "message": "Prijava glavnom lozinkom"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Bejelentkezés eszközzel" "message": "Bejelentkezés eszközzel"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Az eszközzel történő bejelentkezést engedélyezni kell a Biwarden mobilalkalmazás beállításaiban. Másik opcióra van szükség?" "message": "Az eszközzel történő bejelentkezést be kell állítani a Bitwarden alkalmazás beállításaiban. Más opcióra van szükség?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Bejelentkezés mesterjelszóval" "message": "Bejelentkezés mesterjelszóval"
@ -6627,7 +6627,7 @@
"message": "Titkos kód kezelő" "message": "Titkos kód kezelő"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "A felhasználói hozzáférés bekapcsolása a Titkos kód kezelőhöz."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Ez a felhasználó elérheti a Titkos kód kezelőt" "message": "Ez a felhasználó elérheti a Titkos kód kezelőt"
@ -6859,18 +6859,18 @@
"message": "A felhasználó frissítette a fiók helyreállítás során kiadott jelszót." "message": "A felhasználó frissítette a fiók helyreállítás során kiadott jelszót."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "A hozzáférés engedélyezése a Titkos kód kezelőhöz",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Hozzáférés bekapcsolása"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Hozzáférés kiosztása a következő tagoknak a Titkos kód kezelőhöz.. A Jelszókezelőben megadott szerepkör a Titkos kód kezelőre vonatkozik.", "message": "Hozzáférés kiosztása a következő tagoknak a Titkos kód kezelőhöz.. A Jelszókezelőben megadott szerepkör a Titkos kód kezelőre vonatkozik.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Titkos kód kezelő bekapcsolása"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "A szervezet ujjnyomat kifejezése", "message": "A szervezet ujjnyomat kifejezése",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Masuk dengan perangkat" "message": "Masuk dengan perangkat"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Masuk dengan kata sandi utama" "message": "Masuk dengan kata sandi utama"

View File

@ -618,7 +618,7 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Accedi con dispositivo" "message": "Accedi con dispositivo"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "L'accesso con dispositivo deve essere abilitato nelle impostazioni dell'app Bitwarden. Ti serve un'altra opzione?" "message": "L'accesso con dispositivo deve essere abilitato nelle impostazioni dell'app Bitwarden. Ti serve un'altra opzione?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
@ -6627,7 +6627,7 @@
"message": "Gestore dei Segreti" "message": "Gestore dei Segreti"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Attiva l'accesso dell'utente al Gestore dei Segreti."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Questo utente può accedere al Gestore dei Segreti" "message": "Questo utente può accedere al Gestore dei Segreti"
@ -6859,18 +6859,18 @@
"message": "L'utente ha aggiornato una password emessa tramite il recupero dell'account." "message": "L'utente ha aggiornato una password emessa tramite il recupero dell'account."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Accesso attivato al Gestore dei Segreti",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Attiva accesso"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Concedi ai seguenti membri l'accesso al Gestore dei Segreti. Il ruolo concesso nel gestore di password si applicherà al Gestore dei Segreti.", "message": "Concedi ai seguenti membri l'accesso al Gestore dei Segreti. Il ruolo concesso nel gestore di password si applicherà al Gestore dei Segreti.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Attiva Gestore dei Segreti"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Frase impronta della tua organizzazione", "message": "Frase impronta della tua organizzazione",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "デバイスでログイン" "message": "デバイスでログイン"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Bitwarden モバイルアプリの設定で有効化する必要があります。別のオプションが必要ですか?" "message": "Bitwarden アプリで「デバイスでログイン」の設定をする必要があります。別のオプションが必要ですか?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "マスターパスワードでログイン" "message": "マスターパスワードでログイン"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "შესვლა მოწყობილობით" "message": "შესვლა მოწყობილობით"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "შესვლა მოწყობილობით უნდა იყოს გამართული Bitwarden-ის მობილური აპლიკაციის პარამეტრებში. სხვა ვარიანთი გჭირდებათ?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "ავტორიზაცია მთავარი პაროლით" "message": "ავტორიზაცია მთავარი პაროლით"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "기기로 로그인" "message": "기기로 로그인"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "기기로 로그인하려면 Bitwarden 모바일 앱 설정에서 설정해야 합니다. 다른 방식이 필요하신가요?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "마스터 비밀번호로 로그인" "message": "마스터 비밀번호로 로그인"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Pieteikties ar ierīci" "message": "Pieteikties ar ierīci"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Ir jāuzstāda pieteikšanās ar ierīci Bitwarden tālruņa lietotnes iestatījumos. Nepieciešama cita iespēja?" "message": "Ir jāuzstāda pieteikšanās ar ierīci Bitwarden lietotnes iestatījumos. Nepieciešama cita iespēja?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Pieteikties ar galveno paroli" "message": "Pieteikties ar galveno paroli"
@ -6627,7 +6627,7 @@
"message": "Noslēpumu pārvaldnieks" "message": "Noslēpumu pārvaldnieks"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Ieslēgt lietotāju piekļuvi Noslēpumu pārvaldniekam."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Šis lietotājs var piekļūt Noslēpumu pārvaldniekam" "message": "Šis lietotājs var piekļūt Noslēpumu pārvaldniekam"
@ -6859,18 +6859,18 @@
"message": "Lietotājs atjaunināja konta atkopšanas izsniegtu paroli." "message": "Lietotājs atjaunināja konta atkopšanas izsniegtu paroli."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Ieslēgta piekļuve Noslēpumu pārvaldniekam",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Ieslēgt piekļuvi"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Nodrošināt zemāk uzskaitītajiem dalībniekiem piekļuvi Noslēpumu pārvaldniekam. Paroļu pārvaldniekā piešķirtā loma attiecas arī uz Noslēpumu pārvaldnieku.", "message": "Nodrošināt zemāk uzskaitītajiem dalībniekiem piekļuvi Noslēpumu pārvaldniekam. Paroļu pārvaldniekā piešķirtā loma attiecas arī uz Noslēpumu pārvaldnieku.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Ieslēgt Noslēpumu pārvaldnieku"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Apvienības atpazīšanas vārdkopa", "message": "Apvienības atpazīšanas vārdkopa",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Logg på med enhet" "message": "Logg på med enhet"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Logg på med enhet må settes opp i innstillingene i Bitwarden appen. Trenger du et annet valg?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Logg på med hovedpassord" "message": "Logg på med hovedpassord"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Inloggen met apparaat" "message": "Inloggen met apparaat"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Inloggen met apparaat moet zijn ingeschakeld in de instellingen van de mobiele Bitwarden-app. Een andere optie nodig?" "message": "Je moet Inloggen met apparaat instellen in de instellingen van de Bitwarden-app. Behoefte aan een andere mogelijkheid?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Inloggen met je hoofdwachtwoord" "message": "Inloggen met je hoofdwachtwoord"
@ -6627,7 +6627,7 @@
"message": "Secrets Manager" "message": "Secrets Manager"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Gebruikerstoegang tot Secrets Manager inschakelen."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Deze gebruiker heeft toegang tot Secrets Manager" "message": "Deze gebruiker heeft toegang tot Secrets Manager"
@ -6859,18 +6859,18 @@
"message": "Gebruiker heeft een via accountherstel uitgegeven wachtwoord bijgewerkt." "message": "Gebruiker heeft een via accountherstel uitgegeven wachtwoord bijgewerkt."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Toegang tot Secrets Manager ingeschakeld",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Toegang inschakelen"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Geef de volgende leden toegang tot de Secrets Manager. De rol die is toegekend in de Password Manager zal van toepassing zijn op de Secrets Manager.", "message": "Geef de volgende leden toegang tot de Secrets Manager. De rol die is toegekend in de Password Manager zal van toepassing zijn op de Secrets Manager.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Secrets Manager inschakelen"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "De vingerafdrukzin van je organisatie", "message": "De vingerafdrukzin van je organisatie",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Zaloguj się za pomocą urządzenia" "message": "Zaloguj się za pomocą urządzenia"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Logowanie za pomocą urządzenia musi być włączone w ustawieniach aplikacji mobilnej Bitwarden. Potrzebujesz innej opcji?" "message": "Logowanie za pomocą urządzenia musi być włączone w ustawieniach aplikacji Bitwarden. Potrzebujesz innej opcji?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Logowanie hasłem głównym" "message": "Logowanie hasłem głównym"

View File

@ -618,7 +618,7 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Fazer login com dispositivo" "message": "Fazer login com dispositivo"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Login com dispositivo deve ser habilitado nas configurações do aplicativo móvel do Bitwarden. Necessita de outra opção?" "message": "Login com dispositivo deve ser habilitado nas configurações do aplicativo móvel do Bitwarden. Necessita de outra opção?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
@ -965,13 +965,13 @@
"message": "Confirmar Exportação de Cofre" "message": "Confirmar Exportação de Cofre"
}, },
"confirmSecretsExport": { "confirmSecretsExport": {
"message": "Confirm secrets export" "message": "Confirmar exportação de segredos"
}, },
"exportWarningDesc": { "exportWarningDesc": {
"message": "Esta exportação contém os dados do seu cofre em um formato não criptografado. Você não deve armazenar ou enviar o arquivo exportado por canais inseguros (como e-mail). Exclua o arquivo imediatamente após terminar de usá-lo." "message": "Esta exportação contém os dados do seu cofre em um formato não criptografado. Você não deve armazenar ou enviar o arquivo exportado por canais inseguros (como e-mail). Exclua o arquivo imediatamente após terminar de usá-lo."
}, },
"exportSecretsWarningDesc": { "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": "Esta exportação contém seus dados de segredos em um formato não criptografado. Você não deve armazenar ou enviar o arquivo exportado por canais inseguros (como e-mail). Exclua imediatamente após terminar de usá-lo."
}, },
"encExportKeyWarningDesc": { "encExportKeyWarningDesc": {
"message": "Esta exportação criptografa seus dados usando a chave de criptografia da sua conta. Se você rotacionar a chave de criptografia da sua conta, você deve exportar novamente, já que você não será capaz de descriptografar este arquivo de exportação." "message": "Esta exportação criptografa seus dados usando a chave de criptografia da sua conta. Se você rotacionar a chave de criptografia da sua conta, você deve exportar novamente, já que você não será capaz de descriptografar este arquivo de exportação."
@ -986,7 +986,7 @@
"message": "Exportar Cofre" "message": "Exportar Cofre"
}, },
"exportSecrets": { "exportSecrets": {
"message": "Export secrets" "message": "Exportar segredos"
}, },
"fileFormat": { "fileFormat": {
"message": "Formato do Arquivo" "message": "Formato do Arquivo"
@ -2667,10 +2667,10 @@
"message": "A tentativa de login falhou com o login incorreto em duas etapas." "message": "A tentativa de login falhou com o login incorreto em duas etapas."
}, },
"incorrectPassword": { "incorrectPassword": {
"message": "Incorrect password" "message": "Senha incorreta"
}, },
"incorrectCode": { "incorrectCode": {
"message": "Incorrect code" "message": "Código incorreto"
}, },
"exportedVault": { "exportedVault": {
"message": "Cofre exportado." "message": "Cofre exportado."
@ -6624,13 +6624,13 @@
"message": "Gerenciador de Segredos Beta" "message": "Gerenciador de Segredos Beta"
}, },
"secretsManager": { "secretsManager": {
"message": "Secrets Manager" "message": "Gerenciador de Segredos"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Ative o acesso do usuário ao Gerenciador Secretos."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "This user can access Secrets Manager" "message": "Este usuário pode acessar o gerente secreto"
}, },
"important": { "important": {
"message": "Importante:" "message": "Importante:"
@ -6859,64 +6859,64 @@
"message": "User updated a password issued through account recovery." "message": "User updated a password issued through account recovery."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Acesso ativado ao Gerenciador de Segredos",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Ativar acesso"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Grant the following members access to Secrets Manager. The role granted in the Password Manager will apply to Secrets Manager.", "message": "Conceda aos seguintes membros acesso ao Gerenciador de Segredos. A função concedida no Gerenciador de Senhas será aplicada ao Gerenciador de Segredos.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Ativar Gerenciador de Segredos"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Your organization's fingerprint phrase", "message": "A frase biométrica da sua organização",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their organization's public key with another user, for the purposes of sharing." "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their organization's public key with another user, for the purposes of sharing."
}, },
"deviceApprovals": { "deviceApprovals": {
"message": "Device approvals" "message": "Aprovações do dispositivo"
}, },
"deviceApprovalsDesc": { "deviceApprovalsDesc": {
"message": "Approve login requests below to allow the requesting member to finish logging in. Unapproved requests expire after 1 week. Verify the members information before approving." "message": "Aprovar as solicitações de login abaixo para permitir que o membro solicitante termine o login. Solicitações não aprovadas expiram após 1 semana. Verifique as informações do membro antes de aprovar."
}, },
"deviceInfo": { "deviceInfo": {
"message": "Device info" "message": "Informações do dispositivo"
}, },
"time": { "time": {
"message": "Time" "message": "Horário"
}, },
"denyAllRequests": { "denyAllRequests": {
"message": "Deny all requests" "message": "Negar todas as solicitações"
}, },
"denyRequest": { "denyRequest": {
"message": "Deny request" "message": "Negar pedido"
}, },
"approveRequest": { "approveRequest": {
"message": "Approve request" "message": "Aprovar solicitação"
}, },
"noDeviceRequests": { "noDeviceRequests": {
"message": "No device requests" "message": "Nenhum pedido de dispositivo"
}, },
"noDeviceRequestsDesc": { "noDeviceRequestsDesc": {
"message": "Member device approval requests will appear here" "message": "Os pedidos de aprovação de dispositivo de membro aparecerão aqui"
}, },
"loginRequestDenied": { "loginRequestDenied": {
"message": "Login request denied" "message": "Solicitação de login negada"
}, },
"allLoginRequestsDenied": { "allLoginRequestsDenied": {
"message": "All login requests denied" "message": "Todas as solicitações de login negadas"
}, },
"loginRequestApproved": { "loginRequestApproved": {
"message": "Login request approved" "message": "Solicitação de login aprovada"
}, },
"removeOrgUserNoMasterPasswordTitle": { "removeOrgUserNoMasterPasswordTitle": {
"message": "A conta não tem uma senha mestre" "message": "A conta não tem uma senha mestre"
}, },
"removeOrgUserNoMasterPasswordDesc": { "removeOrgUserNoMasterPasswordDesc": {
"message": "Removing $USER$ without setting a master password for them may restrict access to their full account. Are you sure you want to continue?", "message": "Remover $USER$ sem definir uma senha mestra pode restringir o acesso deles à conta toda. Tem certeza de que deseja continuar?",
"placeholders": { "placeholders": {
"user": { "user": {
"content": "$1", "content": "$1",
@ -6928,10 +6928,10 @@
"message": "Nenhuma senha mestre" "message": "Nenhuma senha mestre"
}, },
"removeMembersWithoutMasterPasswordWarning": { "removeMembersWithoutMasterPasswordWarning": {
"message": "Removing members who do not have master passwords without setting one for them may restrict access to their full account." "message": "Remover membros que não têm senhas mestres sem definir uma para eles pode restringir o acesso à sua conta completa."
}, },
"startYour7DayFreeTrialOfBitwardenFor": { "startYour7DayFreeTrialOfBitwardenFor": {
"message": "Start your 7-Day free trial of Bitwarden for $ORG$", "message": "Comece o seu período de teste gratuito de 7 dias do Bitwarden para $ORG$",
"placeholders": { "placeholders": {
"org": { "org": {
"content": "$1", "content": "$1",
@ -6940,15 +6940,15 @@
} }
}, },
"next": { "next": {
"message": "Next" "message": "Avançar"
}, },
"usFlag": { "usFlag": {
"message": "US flag" "message": "Bandeira dos EUA"
}, },
"euFlag": { "euFlag": {
"message": "EU flag" "message": "Bandeira Europa"
}, },
"selectedRegionFlag": { "selectedRegionFlag": {
"message": "Selected region flag" "message": "Sinalização de região selecionada"
} }
} }

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Iniciar sessão com o dispositivo" "message": "Iniciar sessão com o dispositivo"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "O início de sessão com o dispositivo deve ser ativado nas definições da aplicação móvel do Bitwarden. Necessita de outra opção?" "message": "O início de sessão com o dispositivo deve ser ativado nas definições da aplicação Bitwarden. Necessita de outra opção?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Iniciar sessão com a palavra-passe mestra" "message": "Iniciar sessão com a palavra-passe mestra"
@ -5008,7 +5008,7 @@
"message": "Assertion consumer service (ACS) URL" "message": "Assertion consumer service (ACS) URL"
}, },
"spNameIdFormat": { "spNameIdFormat": {
"message": "Name ID format" "message": "Formato de identificador de nome"
}, },
"spOutboundSigningAlgorithm": { "spOutboundSigningAlgorithm": {
"message": "Outbound signing algorithm" "message": "Outbound signing algorithm"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Autentificați-vă cu dispozitivul" "message": "Autentificați-vă cu dispozitivul"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Autentificarea cu dispozitivul trebuie să fie configurată în setările aplicației mobile Bitwarden. Aveți nevoie de o altă opțiune?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Autentificați-vă cu parola principală" "message": "Autentificați-vă cu parola principală"

View File

@ -618,7 +618,7 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Войти с помощью устройства" "message": "Войти с помощью устройства"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Вход с устройства должен быть настроен в настройках мобильного приложения Bitwarden. Нужен другой вариант?" "message": "Вход с устройства должен быть настроен в настройках мобильного приложения Bitwarden. Нужен другой вариант?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
@ -5263,10 +5263,10 @@
"message": "SSO отключен" "message": "SSO отключен"
}, },
"enabledKeyConnector": { "enabledKeyConnector": {
"message": "Соединитель ключей включен" "message": "Соединитель ключей активирован"
}, },
"disabledKeyConnector": { "disabledKeyConnector": {
"message": "Соединитель ключей отключен" "message": "Соединитель ключей деактивирован"
}, },
"keyConnectorWarning": { "keyConnectorWarning": {
"message": "После того как участники начнут использовать соединитель ключей, ваша организация не сможет вернуться к расшифровке посредством мастер-пароля. Продолжайте только в том случае, если вам удобно развертывать и управлять сервером ключей." "message": "После того как участники начнут использовать соединитель ключей, ваша организация не сможет вернуться к расшифровке посредством мастер-пароля. Продолжайте только в том случае, если вам удобно развертывать и управлять сервером ключей."
@ -5623,7 +5623,7 @@
"description": "the text, 'SCIM', is an acronymn and should not be translated." "description": "the text, 'SCIM', is an acronymn and should not be translated."
}, },
"scimEnabledCheckboxDescHelpText": { "scimEnabledCheckboxDescHelpText": {
"message": "Установите предпочтительного поставщика идентификационных данных, настроив URL и ключ API SCIM", "message": "Установить предпочтительного поставщика идентификационных данных, настроив URL и ключ API SCIM",
"description": "the text, 'SCIM', is an acronymn and should not be translated." "description": "the text, 'SCIM', is an acronymn and should not be translated."
}, },
"scimApiKeyHelperText": { "scimApiKeyHelperText": {
@ -6627,7 +6627,7 @@
"message": "Менеджер секретов" "message": "Менеджер секретов"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Активировать доступ пользователей к менеджеру секретов."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Этот пользователь может получить доступ к менеджеру секретов" "message": "Этот пользователь может получить доступ к менеджеру секретов"
@ -6859,18 +6859,18 @@
"message": "Пользователь обновил пароль, выданный через восстановление аккаунта." "message": "Пользователь обновил пароль, выданный через восстановление аккаунта."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Активирован доступ к менеджеру секретов",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Активировать доступ"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Предоставить следующим пользователям доступ к менеджеру секретов. Роль, предоставленная в менеджере паролей, будет применяться и к менеджеру секретов.", "message": "Предоставить следующим пользователям доступ к менеджеру секретов. Роль, предоставленная в менеджере паролей, будет применяться и к менеджеру секретов.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Активировать менеджер секретов"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Фраза отпечатка вашей организации", "message": "Фраза отпечатка вашей организации",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Prihlásenie pomocou zariadenia" "message": "Prihlásenie pomocou zariadenia"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Prihlásenie pomocou zariadenia musí byť povolené v nastaveniach mobilnej aplikácie Biwarden. Potrebujete inú možnosť?" "message": "Prihlásenie pomocou zariadenia musí byť nastavené v nastaveniach aplikácie Bitwarden. Potrebujete inú možnosť?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Prihlásenie pomocou hlavného hesla" "message": "Prihlásenie pomocou hlavného hesla"
@ -6627,7 +6627,7 @@
"message": "Secrets Manager" "message": "Secrets Manager"
}, },
"secretsManagerAccessDescription": { "secretsManagerAccessDescription": {
"message": "Activate user access to Secrets Manager." "message": "Aktivovať používateľovi prístup k Secrets Manager."
}, },
"userAccessSecretsManagerGA": { "userAccessSecretsManagerGA": {
"message": "Tento používateľ má prístup k Secrets Manager" "message": "Tento používateľ má prístup k Secrets Manager"
@ -6859,18 +6859,18 @@
"message": "Použivateľ aktualizoval heslo ktoré bolo vydané pri obnove konta." "message": "Použivateľ aktualizoval heslo ktoré bolo vydané pri obnove konta."
}, },
"activatedAccessToSecretsManager": { "activatedAccessToSecretsManager": {
"message": "Activated access to Secrets Manager", "message": "Aktivovaný prístup k Secrets Manager",
"description": "Confirmation message that one or more users gained access to Secrets Manager" "description": "Confirmation message that one or more users gained access to Secrets Manager"
}, },
"activateAccess": { "activateAccess": {
"message": "Activate access" "message": "Aktivovať prístup"
}, },
"bulkEnableSecretsManagerDescription": { "bulkEnableSecretsManagerDescription": {
"message": "Povoliť následujúcim členom prístup k Secrets Manager. Rola udelená v správcovi hesiel bude aplikovaná aj na Secrets Manager.", "message": "Povoliť následujúcim členom prístup k Secrets Manager. Rola udelená v správcovi hesiel bude aplikovaná aj na Secrets Manager.",
"description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager." "description": "This description is shown to an admin when they are attempting to add more users to Secrets Manager."
}, },
"activateSecretsManager": { "activateSecretsManager": {
"message": "Activate Secrets Manager" "message": "Aktivovať Secrets Manager"
}, },
"yourOrganizationsFingerprint": { "yourOrganizationsFingerprint": {
"message": "Fráza odtlačku vašej organizácie", "message": "Fráza odtlačku vašej organizácie",

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Prijava z napravo" "message": "Prijava z napravo"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Prijava z napravo mora biti nastavljena v nastavitvah mobilne aplikacije Bitwarden. Potrebujete drugo možnost?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Prijava z glavnim geslom" "message": "Prijava z glavnim geslom"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Пријавите се са уређајем" "message": "Пријавите се са уређајем"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Пријава помоћу уређаја мора бити омогућена у подешавањима Bitwarden апликације. Потребна је друга опција?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Пријавите се са главном лозинком" "message": "Пријавите се са главном лозинком"

View File

@ -618,8 +618,8 @@
"loginWithDevice": { "loginWithDevice": {
"message": "Log in with device" "message": "Log in with device"
}, },
"loginWithDeviceEnabledInfo": { "loginWithDeviceEnabledNote": {
"message": "Log in with device must be set up in the settings of the Bitwarden mobile app. Need another option?" "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
}, },
"loginWithMasterPassword": { "loginWithMasterPassword": {
"message": "Log in with master password" "message": "Log in with master password"

Some files were not shown because too many files have changed in this diff Show More