1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-05 23:53:33 +00:00

Compare commits

...

77 Commits

Author SHA1 Message Date
Jacob Fink
664d8d1f2c create navigation service 2021-12-30 09:31:56 -05:00
github-actions[bot]
4c2e7331e3 Autosync the updated translations (#1699)
Co-authored-by: github-actions <>
2021-12-24 01:12:47 +01:00
Micaiah Martin
b55a450f44 Added logic for version check step (#1695) 2021-12-20 13:19:46 -07:00
Federico Maccaroni
b28e265ed4 Updated Delete account view UI (#1692) 2021-12-20 12:31:12 -03:00
github-actions[bot]
6164c764b4 Autosync the updated translations (#1693)
Co-authored-by: github-actions <>
2021-12-17 01:25:55 +01:00
Jake Fink
ad3b401ed3 remove re-throws of exceptions, hiding stack trace (#1680)
* remove re-throws of exceptions, hiding stack trace

* revert to catch all ApiExceptions

* add back throw in auditService

* whitespace
2021-12-16 15:34:33 -05:00
Federico Maccaroni
adb8bb4f1b Fix by workaround crash on LabelRenderer and when changing themes #1689 (#1690) 2021-12-16 11:36:06 -03:00
Federico Maccaroni
04c7409418 Fix Unsafe deserialization of Parcel data Intent (#1691)
* Fix crash produced by unsafe deserialization of Parcel data passed on the intent

* Fix crash produced by unsafe deserialization of Parcel data passed on the intent on other activities and renamed intent extension method
2021-12-15 15:09:08 -03:00
Federico Maccaroni
705b8ac12b Fix Clipboard clear after time on iOS (#1679)
* Fixed Clipboard clear after x seconds depending on what the user set. Also refactored a bit to make the Clipboard a custom service to provide a better way to handle this situation #1464

* Clear some usings #1464
2021-12-10 17:41:36 -03:00
Jake Fink
23a164b245 include entitlements in ios.extension simulator builds (#1684) 2021-12-10 10:46:40 -05:00
github-actions[bot]
6f936343ae Bumped version to 2.15.1 (#1683)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-10 10:03:06 -05:00
github-actions[bot]
5eeec7d9ed Autosync the updated translations (#1681)
Co-authored-by: github-actions <>
2021-12-10 01:18:44 +01:00
github-actions[bot]
b95efae7fb Bumped version to 2.15.0 (#1676)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-08 09:57:29 -05:00
github-actions[bot]
4a1f28caf8 Autosync the updated translations (#1661)
Co-authored-by: github-actions <>
2021-12-07 17:03:34 +01:00
Jake Fink
dddc38ef64 move splash screen logic to OnResignActivation (#1674) 2021-12-07 09:45:05 -05:00
Jake Fink
05bcc10277 remove "singleTask" launch mode on Android 11+ (#1673)
* remove "singleTask" launch mode on Android 12+

* remove commented and unneccesary code

* fix formatting and change from Android 12 to Android 11
2021-12-06 14:17:56 -05:00
Micaiah Martin
ea1ee2c3d3 Added version bump workflow (#1669) 2021-11-30 15:53:18 -07:00
Jake Fink
2a373dd3fc only prompt for sso if using key connector (#1667) 2021-11-29 15:37:19 -05:00
Federico Maccaroni
14d2b833d8 Fix crash produced when adding a custom field on a Secure Note, because it try to load the control of linked fields even if it's not the type (#1668) 2021-11-29 15:33:29 -03:00
Federico Maccaroni
9fdf2ada6f Added account deletion feature on settings (#1621)
* Added account deletion feature on settings

* Disabled using Microsoft.AppCenter.Crashes for FDroid

* Moved drawable on Android.csproj to be with the others

Co-authored-by: Federico Maccaroni <fmaccaroni@bitwarden.com>
2021-11-24 16:09:39 -03:00
qflair
833103b2a0 Add support for Pluma Browser for Android (#1639) 2021-11-24 10:12:30 -05:00
Jonathan Almeida
6bae85b22d Update Focus/Klar accessibility and autofill IDs (#1535) 2021-11-24 09:44:10 -05:00
Jake Fink
34dfb0b57e Add workaround to Android entry renderer (#1658) 2021-11-23 08:18:31 -05:00
Thomas Rittson
ff35e3c022 [Key Connector] Hide MP input in iOS extensions (#1656)
* Hide MP on iOS unlock screen

* Update navbar if using biometric auth only

* Tidy up logic
2021-11-23 09:50:34 +10:00
Jake Fink
316cb4d21c ui changes for lock screen if using key connector with biometrics (#1654) 2021-11-19 17:25:19 -05:00
Federico Maccaroni
7d42d19ae3 Revert "Add Share app Extension on iOS for Send (#1647)" (#1655)
This reverts commit 75ed72f91b.
2021-11-19 17:00:54 -03:00
Federico Maccaroni
75ed72f91b Add Share app Extension on iOS for Send (#1647)
* WIP Add Share app extension on iOS for Send

* Added Share app extension on iOS for Send and some code fixes as well

* Updated iOS csprojs configs to linkskip the new extension project and also added AdHoc and AppStore configurations to iOS.ShareExtension.csproj

* Code clean up and transformed bundle resources into links to the already used pngs of the main iOS project on ShareExtension

* Updated build.yml to include provisioning profile for iOS Share extension

* Adding in the missing provisioning profile

* Removed .DS_Store from the iOS.ShareExtension csproj Resources

* switching out the share extension profile

* Added Share extension provisioning profile configuration on export options app store for github and also removed custom info.plist config for localhost which is not necessary

Co-authored-by: Joseph Flinn <joseph.s.flinn@gmail.com>
2021-11-19 15:05:00 -03:00
Jake Fink
e9b0bbb3a9 Bug/cme autofill unlock (#1653)
* Show SSO login if using key-connector without bio or pin

* remove additional call to enable biometrics and change method name
- ordered methods to group private and public

* allow sso for first biometric authenitcation
2021-11-19 11:24:48 -05:00
Jake Fink
94994af4a9 ui changes export vault screen for key connector (#1651)
* ui changes export vault screen for key connector

* update label and remove period
2021-11-19 09:44:01 -05:00
github-actions[bot]
68c484b67f Autosync the updated translations (#1652)
Co-authored-by: github-actions <>
2021-11-19 13:04:21 +01:00
Federico Maccaroni
1b60ac3699 Fixed missing FavIcons on Android #1640 (#1649)
* Set custom HttpClient for FFImageLoading to set AndroidClientHandler in order to load icons from icon server due to a problem with the SSL certificate when using the default HttpClientHandler #1640

* Using cleanup for FDroid  #1640

* Added System.Net.Http on Android.csproj for FDroid only to check if that fixes the build
2021-11-18 17:38:23 -03:00
Thomas Rittson
1c006d6218 Hide Master Pass On Restart for Key Connector (#1650) 2021-11-19 05:01:44 +10:00
Jake Fink
3e0e620bb7 Show SSO login if using key-connector without bio or pin (#1648)
* Show SSO login if using key-connector without bio or pin

* remove additional call to enable biometrics and change method name
- ordered methods to group private and public
2021-11-17 12:44:27 -05:00
github-actions[bot]
14177efdda Autosync the updated translations (#1642)
Co-authored-by: github-actions <>
2021-11-16 10:58:30 -05:00
Jake Fink
3ee80beda8 pass OrgId to SSO login while using CME (#1646) 2021-11-16 09:34:26 -05:00
Jake Fink
13869b5a1b [KeyConnector] Add support for key connector OTP (#1633)
* initial commit
- add UsesKeyConnector to UserService
- add models
- begin work on authentication

* finish auth workflow for key connector sso login
- finish api call for get user key
- start api calls for posts to key connector

* Bypass lock page if already unlocked

* Move logic to KeyConnectorService, log out if no pin or biometric is set

* Disable password reprompt when using key connector

* hide password reprompt checkbox when editing or adding cipher

* add PostUserKey and PostSetKeyConnector calls

* add ConvertMasterPasswordPage

* add functionality to RemoveMasterPasswordPage
- rename Convert to Remove

* Hide Change Master Password button if using key connector

* Add OTP verification for export component

* Update src/App/Pages/Vault/AddEditPage.xaml.cs

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* remove toolbar item "close"

* Update src/Core/Models/Request/KeyConnectorUserKeyRequest.cs

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* remove new line in resource string
- format warning as two labels
- set label in code behind for loading simultaneously

* implement GetAndSetKey in KeyConnectorService
- ignore EnvironmentService call

* remove unnecesary orgIdentifier

* move RemoveMasterPasswordPage call to LockPage

* add spacing to export vault page

* log out if no PIN or bio on lock page with key connector

* Delete excessive whitespace

* Delete excessive whitespace

* Change capitalisation of OTP

* add default value to models for backwards compatibility

* remove this keyword

* actually handle exceptions

* move RemoveMasterPasswordPage to TabPage using messaging service

* add minor improvements

* remove 'this.'

Co-authored-by: Hinton <oscar@oscarhinton.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2021-11-10 20:46:48 -05:00
Thomas Rittson
90b62d61ae [Linked fields] Add Linked Field as a custom field type (#1563)
* Add linked fields support

* Fix style, don't show linked field if Secure Note

* Finish basic linked fields for Login

* Use Field.LinkedId to store linked field info

* Reset Linked Custom Fields if cipherType changes

* Refactor to use ItemView class

* Use enum for LinkedId

* Detect if no linkedFieldOptions
2021-11-09 07:34:16 +10:00
Vince Grassia
3cb8adeeff Change Release workflow to allow releases from 'rc' and 'hotfix' branches (#1632) 2021-11-08 09:48:40 -05:00
Joseph Flinn
5b972eec24 fixing a typo (#1634) 2021-11-05 11:38:51 -07:00
Joseph Flinn
e97ac1dd9b Updating the crowdin sync process (#1630) 2021-11-05 10:59:15 -07:00
Jake Fink
df496e39ff load app resources into ThemeManager before appearance adjustments (#1631) 2021-11-05 09:51:48 -04:00
Joseph Flinn
dbf94c1b56 Updating gh-pages (#1628) 2021-11-04 09:29:07 -07:00
Matt Portune
4b0fb2840e bump version for testflight (#1629) 2021-11-03 13:04:54 -04:00
stevenlele
629c696c81 [SupportedBrowsers] Add Captive Login and drop Alook (#1625) 2021-11-02 09:17:10 -04:00
Joseph Flinn
bf1aa7c4eb Version bump 2.14.2 (#1622) 2021-10-29 12:50:11 -07:00
Jake Fink
318a3e4de9 fix for bug stopping vault timeout to never (#1618)
- use nullable int on settings page and in vault service
2021-10-29 10:31:38 -04:00
Makoto Kato
0f992d27b3 Turn off autofill compatibility mode on the latest Firefox and Firefox beta. (#1592) 2021-10-28 14:44:24 -04:00
Jake Fink
83fd6736f6 add date and time formatting methods to localize service (#1616)
- uses Apple APIs for formatting on iOS
- uses .Net APIs for formatting Android
- implemented across project
- remove unnecesary calls to DateTimeConverter
2021-10-28 12:52:41 -04:00
Matt Portune
397250368a remove numeric restriction on cc number field (#1617) 2021-10-28 12:52:04 -04:00
Joseph Flinn
5e4365084b Version bump 2.14.1 (#1614) 2021-10-28 06:50:13 -07:00
Joseph Flinn
ea5e4aafa3 adding the missing flag for sed in the fdroid build (#1613) 2021-10-28 06:49:29 -07:00
Joseph Flinn
69d1de47c6 Fixing release template name (#1611) 2021-10-27 13:10:21 -07:00
Joseph Flinn
0d3f819e93 Version Bump 2.14.0 (#1610) 2021-10-27 08:40:08 -07:00
github-actions[bot]
3760e0f9f4 Autosync the updated translations (#1609)
Co-authored-by: github-actions <>
2021-10-27 07:52:31 -07:00
Thomas Rittson
5a13cb53ba Add PR template (#1608) 2021-10-27 18:59:59 +10:00
Jake Fink
0e9cbe4539 add reveal button to password reprompt on iOS (#1607)
* add reveal button to password reprompt on iOS

* format special chars as unicode
2021-10-26 17:46:11 -04:00
Federico Maccaroni
b8c1107c94 Fixed long secure notes edition scrolling when focused issue (#1257) (#1601)
* Fixed long secure notes edition scrolling when focused issue (#1257)

* Improved fix long secure notes edition scrolling when focused issue to not use a new editor custom renderer but an effect (#1257)

* Fixed long editor, on text and notes on send when scrolling when focused issue (#1257)
2021-10-25 16:28:45 -03:00
Federico Maccaroni
a07ef1a1d6 Fix html labels colors issue (#1516) (#1603) 2021-10-25 16:28:14 -03:00
Joseph Flinn
99ccd62bcd Release branch constraint on build (#1599)
* adding in the release branch constraint to the build workflow for mobile

* moving the branch check to a setup job
2021-10-22 13:16:57 -07:00
Joseph Flinn
bfb050a6f9 Change release branch contraint (#1598)
* removing the master branch release ci code execution

* updating some verbiage
2021-10-22 09:24:48 -07:00
Matt Portune
4e0b05571d utilize iOS safe area in UI (#1597) 2021-10-22 10:06:17 -04:00
Matt Portune
d93d70fd66 Autofill support for upcoming changes to google search (#1596) 2021-10-21 10:45:48 -04:00
Matt Portune
41098ff05b fix gap in background color application resulting in flashing during transitions, part 2 (#1595) 2021-10-18 09:56:20 -04:00
Matt Portune
4ed7491116 fix for crash when checking for running accessibility service without activity (#1591) 2021-10-18 09:56:12 -04:00
Matt Portune
1ebad6bca5 fix for crash when terminating app (#1589) 2021-10-16 07:56:17 -04:00
Matt Portune
48e3986264 fix gap in theme application resulting in flashing during transitions (#1588) 2021-10-15 15:46:24 -04:00
Vince Grassia
88a1d8d4e8 Add notify constraint (#1587) 2021-10-15 13:06:53 -04:00
Jake Fink
f3ff991abe check password for null before setting cursor position (#1586) 2021-10-15 10:56:12 -04:00
Kyle Spearrin
17b89dc21c New Crowdin updates (#1583)
* New translations AppResources.resx (Romanian)

* New translations AppResources.resx (Norwegian Nynorsk)

* New translations AppResources.resx (Chinese Traditional)

* New translations AppResources.resx (Vietnamese)

* New translations AppResources.resx (Portuguese, Brazilian)

* New translations AppResources.resx (Indonesian)

* New translations AppResources.resx (Persian)

* New translations AppResources.resx (Tamil)

* New translations AppResources.resx (Bengali)

* New translations AppResources.resx (Thai)

* New translations AppResources.resx (Croatian)

* New translations AppResources.resx (Estonian)

* New translations AppResources.resx (Ukrainian)

* New translations AppResources.resx (Latvian)

* New translations AppResources.resx (Azerbaijani)

* New translations AppResources.resx (Hindi)

* New translations AppResources.resx (English, United Kingdom)

* New translations AppResources.resx (Filipino)

* New translations AppResources.resx (Malayalam)

* New translations AppResources.resx (Bosnian)

* New translations AppResources.resx (Sinhala)

* New translations AppResources.resx (Kannada)

* New translations AppResources.resx (Norwegian Bokmal)

* New translations AppResources.resx (Chinese Simplified)

* New translations AppResources.resx (Turkish)

* New translations AppResources.resx (French)

* New translations AppResources.resx (Hebrew)

* New translations AppResources.resx (Spanish)

* New translations AppResources.resx (Afrikaans)

* New translations AppResources.resx (Belarusian)

* New translations AppResources.resx (Bulgarian)

* New translations AppResources.resx (Catalan)

* New translations AppResources.resx (Czech)

* New translations AppResources.resx (Danish)

* New translations AppResources.resx (German)

* New translations AppResources.resx (Greek)

* New translations AppResources.resx (Finnish)

* New translations AppResources.resx (Hungarian)

* New translations AppResources.resx (Swedish)

* New translations AppResources.resx (Italian)

* New translations AppResources.resx (Japanese)

* New translations AppResources.resx (Korean)

* New translations AppResources.resx (Dutch)

* New translations AppResources.resx (Polish)

* New translations AppResources.resx (Portuguese)

* New translations AppResources.resx (Russian)

* New translations AppResources.resx (Slovak)

* New translations AppResources.resx (Slovenian)

* New translations AppResources.resx (Serbian (Cyrillic))

* New translations AppResources.resx (English, India)

* New translations copy.resx (English, United Kingdom)

* New translations copy.resx (Chinese Simplified)

* New translations copy.resx (English, India)

* New translations copy.resx (English, United Kingdom)

* New translations copy.resx (Chinese Simplified)

* New translations copy.resx (English, India)
2021-10-14 19:22:33 -04:00
github-actions[bot]
ff76a3ec15 Autosync the updated translations (#1582)
Co-authored-by: github-actions <>
2021-10-14 18:04:06 -04:00
Vince Grassia
3a2e012c42 Add Slack alerts for Build workflow failures (#1581) 2021-10-14 14:34:24 -04:00
Matt Portune
a0bb16c35f fix for crash on startup when policies are non-existent (#1579) 2021-10-14 13:53:57 -04:00
Jake Fink
62a8d1c017 fix for Captcha crashing on account creation (#1580) 2021-10-14 13:42:48 -04:00
Matt Portune
ce4e3ed1cd support for new btnReturnText in mobile webauthn connector (#1576)
* support for new btnReturnText in mobile webauthn connector

* added header text for connector localization
2021-10-14 11:53:41 -04:00
Matt Portune
4669275680 Fix for Android 5.x crash caused by new switch styling (#1575) 2021-10-13 12:26:54 -04:00
Jake Fink
fc1000acc1 loop through URIs to find website before showing default icons (#1572)
- create static class for uri logic (keeping converter for future)
- create new property in viewmodel for icon source
- check if icons are enabled and source for icon before showing default glyph
2021-10-12 11:00:33 -04:00
Oscar Hinton
c9ce7256e5 MaximumVaultTimeout policy fixes (#1573) 2021-10-12 15:35:01 +02:00
230 changed files with 16656 additions and 2203 deletions

32
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,32 @@
## Type of change
- [ ] Bug fix
- [ ] New feature development
- [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc)
- [ ] Build/deploy pipeline (DevOps)
- [ ] Other
## Objective
<!--Describe what the purpose of this PR is. For example: what bug you're fixing or what new feature you're adding-->
## Code changes
<!--Explain the changes you've made to each file or major component. This should help the reviewer understand your changes-->
<!--Also refer to any related changes or PRs in other repositories-->
* **file.ext:** Description of what was changed and why
## Screenshots
<!--Required for any UI changes. Delete if not applicable-->
## Testing requirements
<!--What functionality requires testing by QA? This includes testing new behavior and regression testing-->
## Before you submit
- [ ] I have added **unit tests** where it makes sense to do so (encouraged but not required)
- [ ] This change requires a **documentation update** (notify the documentation team)
- [ ] This change has particular **deployment requirements** (notify the DevOps team)

View File

@@ -23,9 +23,38 @@ jobs:
- name: Print lines of code
run: cloc --vcs git --exclude-dir Resources,store,test,Properties --include-lang C#,XAML
setup:
name: Setup
runs-on: ubuntu-20.04
outputs:
rc_branch_exists: ${{ steps.branch-check.outputs.rc_branch_exists }}
hotfix_branch_exists: ${{ steps.branch-check.outputs.hotfix_branch_exists }}
steps:
- name: Checkout repo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
- name: Check if special branches exist
id: branch-check
run: |
if [[ $(git ls-remote --heads origin rc) ]]; then
echo "::set-output name=rc_branch_exists::1"
else
echo "::set-output name=rc_branch_exists::0"
fi
if [[ $(git ls-remote --heads origin hotfix) ]]; then
echo "::set-output name=hotfix_branch_exists::1"
else
echo "::set-output name=hotfix_branch_exists::0"
fi
shell: bash
android:
name: Android
runs-on: windows-2019
needs: setup
steps:
- name: Set up MSBuild
uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1
@@ -147,20 +176,13 @@ jobs:
path: ./com.x8bit.bitwarden.apk
if-no-files-found: error
- name: Check if RC branch exists
id: rc-branch-check
run: |
if [[ $(git ls-remote --heads origin rc) ]]; then
echo "::set-output name=branch_exists::1"
else
echo "::set-output name=branch_exists::0"
fi
shell: bash
- name: Deploy to Play Store
if: |
(github.ref == 'refs/heads/master' && steps.rc-branch-check.outputs.branch_exists == 0)
|| github.ref == 'refs/heads/rc'
(github.ref == 'refs/heads/master'
&& needs.setup.outputs.rc_branch_exists == 0
&& needs.setup.outputs.hotfix_branch_exists == 0)
|| (github.ref == 'refs/heads/rc' && needs.setup.outputs.hotfix_branch_exists == 0)
|| github.ref == 'refs/heads/hotfix'
run: |
PUBLISHER_PATH="$GITHUB_WORKSPACE/store/google/Publisher/bin/Release/netcoreapp2.0/Publisher.dll"
CREDS_PATH="$HOME/secrets/play_creds.json"
@@ -207,7 +229,7 @@ jobs:
echo "##### Setting Version Code $BUILD_NUMBER"
echo "########################################"
sed "s/android:versionCode=\"1\"/android:versionCode=\"$BUILD_NUMBER\"/" \
sed -i "s/android:versionCode=\"1\"/android:versionCode=\"$BUILD_NUMBER\"/" \
./src/Android/Properties/AndroidManifest.xml
shell: bash
@@ -331,6 +353,7 @@ jobs:
ios:
name: Apple iOS
runs-on: macos-11
needs: setup
steps:
- name: Print environment
run: |
@@ -447,20 +470,13 @@ jobs:
path: ./bitwarden-export/Bitwarden.ipa
if-no-files-found: error
- name: Check if RC branch exists
id: rc-branch-check
run: |
if [[ $(git ls-remote --heads origin rc) ]]; then
echo "::set-output name=branch_exists::1"
else
echo "::set-output name=branch_exists::0"
fi
shell: bash
- name: Deploy to App Store
if: |
(github.ref == 'refs/heads/master' && steps.rc-branch-check.outputs.branch_exists == 0)
|| github.ref == 'refs/heads/rc'
(github.ref == 'refs/heads/master'
&& needs.setup.outputs.rc_branch_exists == 0
&& needs.setup.outputs.hotfix_branch_exists == 0)
|| (github.ref == 'refs/heads/rc' && needs.setup.outputs.hotfix_branch_exists == 0)
|| github.ref == 'refs/heads/hotfix'
env:
APPLE_ID_USERNAME: ${{ secrets.APPLE_ID_USERNAME }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
@@ -468,3 +484,99 @@ jobs:
xcrun altool --upload-app --type ios --file "./bitwarden-export/Bitwarden.ipa" \
--username "$APPLE_ID_USERNAME" --password "$APPLE_ID_PASSWORD"
shell: bash
crowdin-push:
name: Crowdin Push
if: github.ref == 'refs/heads/master'
needs:
- android
- f-droid
- ios
runs-on: ubuntu-20.04
env:
_CROWDIN_PROJECT_ID: "269690"
steps:
- name: Checkout repo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
- name: Login to Azure
uses: Azure/login@77f1b2e3fb80c0e8645114159d17008b8a2e475a
with:
creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }}
- name: Retrieve secrets
id: retrieve-secrets
uses: Azure/get-keyvault-secrets@80ccd3fafe5662407cc2e55f202ee34bfff8c403
with:
keyvault: "bitwarden-prod-kv"
secrets: "crowdin-api-token"
- name: Upload Sources
uses: crowdin/github-action@e39093fd75daae7859c68eded4b43d42ec78d8ea # v1.3.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
with:
config: crowdin.yml
crowdin_branch_name: master
upload_sources: true
upload_translations: false
check-failures:
name: Check for failures
if: always()
runs-on: ubuntu-20.04
needs:
- cloc
- android
- f-droid
- ios
- crowdin-push
steps:
- name: Check if any job failed
if: |
(github.ref == 'refs/heads/master')
|| (github.ref == 'refs/heads/rc')
|| (github.ref == 'refs/heads/hotfix')
env:
CLOC_STATUS: ${{ needs.cloc.result }}
ANDROID_STATUS: ${{ needs.android.result }}
F_DROID_STATUS: ${{ needs.f-droid.result }}
IOS_STATUS: ${{ needs.ios.result }}
CROWDIN_PUSH_STATUS: ${{ needs.crowdin-push.result }}
run: |
if [ "$CLOC_STATUS" = "failure" ]; then
exit 1
elif [ "$ANDROID_STATUS" = "failure" ]; then
exit 1
elif [ "$F_DROID_STATUS" = "failure" ]; then
exit 1
elif [ "$IOS_STATUS" = "failure" ]; then
exit 1
elif [ "$CROWDIN_PUSH_STATUS" = "failure" ]; then
exit 1
fi
- name: Login to Azure - Prod Subscription
uses: Azure/login@77f1b2e3fb80c0e8645114159d17008b8a2e475a
if: failure()
with:
creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }}
- name: Retrieve secrets
id: retrieve-secrets
uses: Azure/get-keyvault-secrets@80ccd3fafe5662407cc2e55f202ee34bfff8c403
if: failure()
with:
keyvault: "bitwarden-prod-kv"
secrets: "devops-alerts-slack-webhook-url"
- name: Notify Slack on failure
uses: act10ns/slack@e4e71685b9b239384b0f676a63c32367f59c2522 # v1.2.2
if: failure()
env:
SLACK_WEBHOOK_URL: ${{ steps.retrieve-secrets.outputs.devops-alerts-slack-webhook-url }}
with:
status: ${{ job.status }}

View File

@@ -4,8 +4,8 @@ name: Crowdin Sync
on:
workflow_dispatch:
inputs: {}
# schedule:
# - cron: '0 0 * * *'
schedule:
- cron: '0 0 * * 5'
jobs:
crowdin-sync:

View File

@@ -3,16 +3,34 @@ name: Release
on:
workflow_dispatch:
inputs:
release_type:
description: 'Release Options'
required: true
default: 'Initial Release'
type: choice
options:
- Initial Release
- Redeploy
jobs:
release:
name: Create Release
runs-on: ubuntu-20.04
outputs:
branch-name: ${{ steps.branch.outputs.branch-name }}
steps:
- name: Branch check
run: |
if [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ "$GITHUB_REF" != "refs/heads/hotfix" ]]; then
echo "==================================="
echo "[!] Can only release from the 'rc' or 'hotfix' branches"
echo "==================================="
exit 1
fi
- name: Checkout repo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
ref: rc
- name: Retrieve Mobile release version
id: retrieve-mobile-version
@@ -22,6 +40,7 @@ jobs:
shell: bash
- name: Check to make sure Mobile release version has been bumped
if: ${{ github.event.inputs.release_type == 'Initial Release' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
@@ -36,12 +55,18 @@ jobs:
fi
shell: bash
- name: Get branch name
id: branch
run: |
BRANCH_NAME=$(basename ${{ github.ref }})
echo "::set-output name=branch-name::$BRANCH_NAME"
- name: Download all artifacts
uses: dawidd6/action-download-artifact@b9571484721e8187f1fd08147b497129f8972c74 # v2.14.0
with:
workflow: build.yml
workflow_conclusion: success
branch: rc
branch: ${{ steps.branch.outputs.branch-name }}
- name: Create release
uses: ncipollo/release-action@95215a3cb6e6a1908b3c44e00b4fdb15548b1e09 # v2.8.5
@@ -52,7 +77,7 @@ jobs:
./Bitwarden.ipa/Bitwarden.ipa"
commit: ${{ github.sha }}
tag: v${{ steps.retrieve-mobile-version.outputs.mobile_version }}
name: Test Version ${{ steps.retrieve-mobile-version.outputs.mobile_version }}
name: Version ${{ steps.retrieve-mobile-version.outputs.mobile_version }}
body: "<insert release notes here>"
token: ${{ secrets.GITHUB_TOKEN }}
draft: true
@@ -65,15 +90,13 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
ref: rc
- name: Download F-Droid .apk artifact
uses: dawidd6/action-download-artifact@b9571484721e8187f1fd08147b497129f8972c74 # v2.14.0
with:
workflow: build.yml
workflow_conclusion: success
branch: rc
branch: ${{ needs.release.outputs.branch-name }}
name: com.x8bit.bitwarden-fdroid.apk
- name: Set up Node

83
.github/workflows/version-bump.yml vendored Normal file
View File

@@ -0,0 +1,83 @@
---
name: Version Bump
on:
workflow_dispatch:
inputs:
version_number:
description: "New Version"
required: true
jobs:
bump_version:
name: "Create version_bump_${{ github.event.inputs.version_number }} branch"
runs-on: ubuntu-20.04
steps:
- name: Checkout Branch
uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
- name: Create Version Branch
run: |
git switch -c version_bump_${{ github.event.inputs.version_number }}
git push -u origin version_bump_${{ github.event.inputs.version_number }}
- name: Checkout Version Branch
uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
with:
ref: version_bump_${{ github.event.inputs.version_number }}
- name: Bump Version - Android XML
uses: bitwarden/gh-actions/version-bump@0c263b3963211ccaf5804313c3b3a0bcc52d4b19
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/Android/Properties/AndroidManifest.xml"
- name: Bump Version - iOS.Autofill
uses: bitwarden/gh-actions/version-bump@0c263b3963211ccaf5804313c3b3a0bcc52d4b19
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS.Autofill/Info.plist"
- name: Bump Version - iOS.Extension
uses: bitwarden/gh-actions/version-bump@0c263b3963211ccaf5804313c3b3a0bcc52d4b19
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS.Extension/Info.plist"
- name: Bump Version - iOS
uses: bitwarden/gh-actions/version-bump@0c263b3963211ccaf5804313c3b3a0bcc52d4b19
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS/Info.plist"
- name: Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git commit -m "Bumped version to ${{ github.event.inputs.version_number }}" -a
- name: Push changes
run: git push -u origin version_bump_${{ github.event.inputs.version_number }}
- name: Create Version PR
env:
PR_BRANCH: "version_bump_${{ github.event.inputs.version_number }}"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
BASE_BRANCH: master
TITLE: "Bump version to ${{ github.event.inputs.version_number }}"
run: |
gh pr create --title "$TITLE" \
--base "$BASE" \
--head "$PR_BRANCH" \
--label "version update" \
--label "automated pr" \
--body "
## Type of change
- [ ] Bug fix
- [ ] New feature development
- [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc)
- [ ] Build/deploy pipeline (DevOps)
- [X] Other
## Objective
Automated version bump to ${{ github.event.inputs.version_number }}"

View File

@@ -1,7 +1,9 @@
project_id_env: _CROWDIN_PROJECT_ID
api_token_env: CROWDIN_API_TOKEN
preserve_hierarchy: true
files:
- source: /src/App/Resources/AppResources.resx
dest: /src/App/Resources/%original_file_name%
translation: /src/App/Resources/AppResources.%two_letters_code%.resx
update_option: update_as_unapproved
languages_mapping:
@@ -13,6 +15,7 @@ files:
en-GB: en-GB
en-IN: en-IN
- source: /store/apple/en/copy.resx
dest: /store/apple/en/%original_file_name%
translation: /store/apple/%two_letters_code%/copy.resx
update_option: update_as_unapproved
languages_mapping:
@@ -24,6 +27,7 @@ files:
en-GB: en-GB
en-IN: en-IN
- source: /store/google/en/copy.resx
dest: /store/google/en/%original_file_name%
translation: /store/google/%two_letters_code%/copy.resx
update_option: update_as_unapproved
languages_mapping:

710
package-lock.json generated
View File

@@ -1,8 +1,468 @@
{
"name": "bitwarden-mobile",
"version": "0.0.0",
"lockfileVersion": 1,
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "bitwarden-mobile",
"version": "0.0.0",
"devDependencies": {
"gh-pages": "^3.2.3"
}
},
"node_modules/array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"dev": true,
"dependencies": {
"array-uniq": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"dev": true,
"dependencies": {
"lodash": "^4.17.14"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"node_modules/commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"node_modules/email-addresses": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz",
"integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==",
"dev": true
},
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true,
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/filename-reserved-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
"integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/filenamify": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
"integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
"dev": true,
"dependencies": {
"filename-reserved-regex": "^2.0.0",
"strip-outer": "^1.0.1",
"trim-repeated": "^1.0.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
"integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
"dependencies": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
"pkg-dir": "^4.1.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/avajs/find-cache-dir?sponsor=1"
}
},
"node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"node_modules/gh-pages": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz",
"integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==",
"dev": true,
"dependencies": {
"async": "^2.6.1",
"commander": "^2.18.0",
"email-addresses": "^3.0.1",
"filenamify": "^4.3.0",
"find-cache-dir": "^3.3.1",
"fs-extra": "^8.1.0",
"globby": "^6.1.0"
},
"bin": {
"gh-pages": "bin/gh-pages.js",
"gh-pages-clean": "bin/gh-pages-clean.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/globby": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"dev": true,
"dependencies": {
"array-union": "^1.0.1",
"glob": "^7.0.3",
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/graceful-fs": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
"dev": true
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"node_modules/jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"dependencies": {
"p-locate": "^4.1.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"dependencies": {
"semver": "^6.0.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"dependencies": {
"wrappy": "1"
}
},
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"dependencies": {
"p-try": "^2.0.0"
},
"engines": {
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"dependencies": {
"p-limit": "^2.2.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"dependencies": {
"pinkie": "^2.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"dependencies": {
"find-up": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/strip-outer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
"integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
"dev": true,
"dependencies": {
"escape-string-regexp": "^1.0.2"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/trim-repeated": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
"integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
"dev": true,
"dependencies": {
"escape-string-regexp": "^1.0.2"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true,
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
}
},
"dependencies": {
"array-union": {
"version": "1.0.2",
@@ -20,18 +480,18 @@
"dev": true
},
"async": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"dev": true,
"requires": {
"lodash": "^4.17.10"
"lodash": "^4.17.14"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"brace-expansion": {
@@ -45,9 +505,15 @@
}
},
"commander": {
"version": "2.15.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"concat-map": {
@@ -56,6 +522,12 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"email-addresses": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz",
"integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==",
"dev": true
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -63,39 +535,50 @@
"dev": true
},
"filename-reserved-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
"integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
"integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
"dev": true
},
"filenamify": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
"integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
"integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
"dev": true,
"requires": {
"filename-reserved-regex": "^1.0.0",
"strip-outer": "^1.0.0",
"filename-reserved-regex": "^2.0.0",
"strip-outer": "^1.0.1",
"trim-repeated": "^1.0.0"
}
},
"filenamify-url": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz",
"integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=",
"find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
"integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
"requires": {
"filenamify": "^1.0.0",
"humanize-url": "^1.0.0"
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
"pkg-dir": "^4.1.0"
}
},
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"fs-extra": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
"integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
@@ -107,24 +590,24 @@
"dev": true
},
"gh-pages": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz",
"integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==",
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz",
"integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==",
"dev": true,
"requires": {
"async": "2.6.1",
"commander": "2.15.1",
"filenamify-url": "^1.0.0",
"fs-extra": "^5.0.0",
"globby": "^6.1.0",
"graceful-fs": "4.1.11",
"rimraf": "^2.6.2"
"async": "^2.6.1",
"commander": "^2.18.0",
"email-addresses": "^3.0.1",
"filenamify": "^4.3.0",
"find-cache-dir": "^3.3.1",
"fs-extra": "^8.1.0",
"globby": "^6.1.0"
}
},
"glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
"integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -149,21 +632,11 @@
}
},
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
"dev": true
},
"humanize-url": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz",
"integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=",
"dev": true,
"requires": {
"normalize-url": "^1.0.0",
"strip-url-auth": "^1.0.0"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -175,15 +648,9 @@
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"jsonfile": {
@@ -195,12 +662,30 @@
"graceful-fs": "^4.1.6"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
"semver": "^6.0.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -210,18 +695,6 @@
"brace-expansion": "^1.1.7"
}
},
"normalize-url": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
"integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
"dev": true,
"requires": {
"object-assign": "^4.0.1",
"prepend-http": "^1.0.0",
"query-string": "^4.1.0",
"sort-keys": "^1.0.0"
}
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -237,6 +710,36 @@
"wrappy": "1"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -264,44 +767,19 @@
"pinkie": "^2.0.0"
}
},
"prepend-http": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
"dev": true
},
"query-string": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
"integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"requires": {
"object-assign": "^4.1.0",
"strict-uri-encode": "^1.0.0"
"find-up": "^4.0.0"
}
},
"rimraf": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"sort-keys": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
"integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
"dev": true,
"requires": {
"is-plain-obj": "^1.0.0"
}
},
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
"strip-outer": {
@@ -313,12 +791,6 @@
"escape-string-regexp": "^1.0.2"
}
},
"strip-url-auth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz",
"integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=",
"dev": true
},
"trim-repeated": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",

View File

@@ -6,6 +6,6 @@
"clean:l10n": "git push origin --delete l10n_master"
},
"devDependencies": {
"gh-pages": "^1.2.0"
"gh-pages": "^3.2.3"
}
}

View File

@@ -6,6 +6,7 @@ using Android.Views;
using System;
using Bit.Core.Abstractions;
using Bit.Core.Utilities;
using Bit.Droid.Utilities;
namespace Bit.Droid.Accessibility
{
@@ -17,6 +18,7 @@ namespace Bit.Droid.Accessibility
protected override void OnCreate(Bundle bundle)
{
Intent?.Validate();
base.OnCreate(bundle);
HandleIntent(Intent, 932473);
}

View File

@@ -31,7 +31,6 @@ namespace Bit.Droid.Accessibility
// So keep them in sync with:
// - AutofillHelpers.{TrustedBrowsers,CompatBrowsers}
// - Resources/xml/autofillservice.xml
new Browser("alook.browser", "search_fragment_input_view"),
new Browser("com.amazon.cloud9", "url"),
new Browser("com.android.browser", "url"),
new Browser("com.android.chrome", "url_bar"),
@@ -52,6 +51,7 @@ namespace Bit.Droid.Accessibility
new Browser("com.ecosia.android", "url_bar"),
new Browser("com.google.android.apps.chrome", "url_bar"),
new Browser("com.google.android.apps.chrome_dev", "url_bar"),
// Rem. for "com.google.android.captiveportallogin": URL displayed in ActionBar subtitle without viewId.
new Browser("com.jamal2367.styx", "search"),
new Browser("com.kiwibrowser.browser", "url_bar"),
new Browser("com.microsoft.emmx", "url_bar"),
@@ -67,6 +67,7 @@ namespace Bit.Droid.Accessibility
new Browser("com.opera.mini.native", "url_field"),
new Browser("com.opera.mini.native.beta", "url_field"),
new Browser("com.opera.touch", "addressbarEdit"),
new Browser("com.qflair.browserq", "url"),
new Browser("com.qwant.liberty", "mozac_browser_toolbar_url_view,url_bar_title"), // 2nd = Legacy (before v4)
new Browser("com.sec.android.app.sbrowser", "location_bar_edit_text"),
new Browser("com.sec.android.app.sbrowser.beta", "location_bar_edit_text"),
@@ -101,8 +102,10 @@ namespace Bit.Droid.Accessibility
new Browser("org.mozilla.fennec_fdroid", "mozac_browser_toolbar_url_view,url_bar_title"), // 2nd = Legacy
new Browser("org.mozilla.firefox", "mozac_browser_toolbar_url_view,url_bar_title"), // 2nd = Legacy
new Browser("org.mozilla.firefox_beta", "mozac_browser_toolbar_url_view,url_bar_title"), // 2nd = Legacy
new Browser("org.mozilla.focus", "display_url"),
new Browser("org.mozilla.klar", "display_url"),
new Browser("org.mozilla.focus", "mozac_browser_toolbar_url_view,display_url"), // 2nd = Legacy
new Browser("org.mozilla.focus.beta", "mozac_browser_toolbar_url_view,display_url"), // 2nd = Legacy
new Browser("org.mozilla.focus.nightly", "mozac_browser_toolbar_url_view,display_url"), // 2nd = Legacy
new Browser("org.mozilla.klar", "mozac_browser_toolbar_url_view,display_url"), // 2nd = Legacy
new Browser("org.mozilla.reference.browser", "mozac_browser_toolbar_url_view"),
new Browser("org.mozilla.rocket", "display_url"),
new Browser("org.torproject.torbrowser", "mozac_browser_toolbar_url_view,url_bar_title"), // 2nd = Legacy (before v10.0.3)

View File

@@ -68,6 +68,7 @@
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml" />
<Reference Include="System.Net.Http" Condition="'$(Configuration)'=='FDroid'" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Plugin.CurrentActivity">
@@ -148,6 +149,8 @@
<Compile Include="Utilities\ThemeHelpers.cs" />
<Compile Include="WebAuthCallbackActivity.cs" />
<Compile Include="Renderers\SelectableLabelRenderer.cs" />
<Compile Include="Services\ClipboardService.cs" />
<Compile Include="Utilities\IntentExtensions.cs" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\FontAwesome.ttf" />
@@ -171,6 +174,7 @@
<AndroidResource Include="Resources\drawable\cog.xml" />
<AndroidResource Include="Resources\drawable\icon.xml" />
<AndroidResource Include="Resources\drawable\ic_launcher_foreground.xml" />
<AndroidResource Include="Resources\drawable\ic_warning.xml" />
<AndroidResource Include="Resources\drawable\id.xml" />
<AndroidResource Include="Resources\drawable\info.xml" />
<AndroidResource Include="Resources\drawable\list_item_bg.xml" />
@@ -204,6 +208,8 @@
<AndroidResource Include="Resources\values-night\styles.xml" />
<AndroidResource Include="Resources\values\styles.xml" />
<AndroidResource Include="Resources\values\colors.xml" />
<AndroidResource Include="Resources\values\manifest.xml" />
<AndroidResource Include="Resources\values-v30\manifest.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\splash_screen.xml" />
@@ -269,5 +275,8 @@
<SubType>Designer</SubType>
</AndroidResource>
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\values-v30\" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
</Project>

View File

@@ -35,7 +35,10 @@ namespace Bit.Droid.Autofill
public static HashSet<string> TrustedBrowsers = new HashSet<string>
{
"com.duckduckgo.mobile.android",
"com.google.android.googlequicksearchbox",
"org.mozilla.focus",
"org.mozilla.focus.beta",
"org.mozilla.focus.nightly",
"org.mozilla.klar",
};
@@ -48,7 +51,6 @@ namespace Bit.Droid.Autofill
// - ... to keep this list in sync with values in AccessibilityHelpers.SupportedBrowsers [Section A], too.
public static HashSet<string> CompatBrowsers = new HashSet<string>
{
"alook.browser",
"com.amazon.cloud9",
"com.android.browser",
"com.android.chrome",
@@ -68,6 +70,7 @@ namespace Bit.Droid.Autofill
"com.ecosia.android",
"com.google.android.apps.chrome",
"com.google.android.apps.chrome_dev",
"com.google.android.captiveportallogin",
"com.jamal2367.styx",
"com.kiwibrowser.browser",
"com.microsoft.emmx",
@@ -83,6 +86,7 @@ namespace Bit.Droid.Autofill
"com.opera.mini.native",
"com.opera.mini.native.beta",
"com.opera.touch",
"com.qflair.browserq",
"com.qwant.liberty",
"com.sec.android.app.sbrowser",
"com.sec.android.app.sbrowser.beta",

View File

@@ -19,28 +19,14 @@ using System.Threading.Tasks;
using AndroidX.Core.Content;
using Bit.App.Utilities;
using ZXing.Net.Mobile.Android;
using Android.Util;
namespace Bit.Droid
{
[Activity(
Label = "Bitwarden",
Icon = "@mipmap/ic_launcher",
Theme = "@style/LaunchTheme",
MainLauncher = true,
LaunchMode = LaunchMode.SingleTask,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation |
ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden |
ConfigChanges.Navigation | ConfigChanges.UiMode)]
[IntentFilter(
new[] { Intent.ActionSend },
Categories = new[] { Intent.CategoryDefault },
DataMimeTypes = new[]
{
@"application/*",
@"image/*",
@"video/*",
@"text/*"
})]
// Activity and IntentFilter declarations have been moved to Properties/AndroidManifest.xml
// They have been hardcoded so we can use the default LaunchMode on Android 11+
// LaunchMode defined in values/manifest.xml for Android 10- and values-v30/manifest.xml for Android 11+
// See https://github.com/bitwarden/mobile/pull/1673 for details
[Register("com.x8bit.bitwarden.MainActivity")]
public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
@@ -49,9 +35,7 @@ namespace Bit.Droid
private IBroadcasterService _broadcasterService;
private IUserService _userService;
private IAppIdService _appIdService;
private IStorageService _storageService;
private IEventService _eventService;
private PendingIntent _clearClipboardPendingIntent;
private PendingIntent _eventUploadPendingIntent;
private AppOptions _appOptions;
private string _activityKey = $"{nameof(MainActivity)}_{Java.Lang.JavaSystem.CurrentTimeMillis().ToString()}";
@@ -63,9 +47,6 @@ namespace Bit.Droid
var eventUploadIntent = new Intent(this, typeof(EventUploadReceiver));
_eventUploadPendingIntent = PendingIntent.GetBroadcast(this, 0, eventUploadIntent,
PendingIntentFlags.UpdateCurrent);
var clearClipboardIntent = new Intent(this, typeof(ClearClipboardAlarmReceiver));
_clearClipboardPendingIntent = PendingIntent.GetBroadcast(this, 0, clearClipboardIntent,
PendingIntentFlags.UpdateCurrent);
var policy = new StrictMode.ThreadPolicy.Builder().PermitAll().Build();
StrictMode.SetThreadPolicy(policy);
@@ -75,12 +56,14 @@ namespace Bit.Droid
_broadcasterService = ServiceContainer.Resolve<IBroadcasterService>("broadcasterService");
_userService = ServiceContainer.Resolve<IUserService>("userService");
_appIdService = ServiceContainer.Resolve<IAppIdService>("appIdService");
_storageService = ServiceContainer.Resolve<IStorageService>("storageService");
_eventService = ServiceContainer.Resolve<IEventService>("eventService");
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
// this needs to be called here before base.OnCreate(...)
Intent?.Validate();
base.OnCreate(savedInstanceState);
if (!CoreHelpers.InDebugMode())
{
@@ -123,10 +106,6 @@ namespace Bit.Droid
{
ExitApp();
}
else if (message.Command == "copiedToClipboard")
{
var task = ClearClipboardAlarmAsync(message.Data as Tuple<string, int?, bool>);
}
});
}
@@ -159,7 +138,15 @@ namespace Bit.Droid
base.OnNewIntent(intent);
try
{
if (intent.GetBooleanExtra("generatorTile", false))
if (intent?.GetStringExtra("uri") is string uri)
{
_messagingService.Send("popAllAndGoToAutofillCiphers");
if (_appOptions != null)
{
_appOptions.Uri = uri;
}
}
else if (intent.GetBooleanExtra("generatorTile", false))
{
_messagingService.Send("popAllAndGoToTabGenerator");
if (_appOptions != null)
@@ -385,6 +372,7 @@ namespace Bit.Droid
private void AppearanceAdjustments()
{
Window?.SetStatusBarColor(ThemeHelpers.NavBarBackgroundColor);
Window?.DecorView.SetBackgroundColor(ThemeHelpers.BackgroundColor);
ThemeHelpers.SetAppearance(ThemeManager.GetTheme(true), ThemeManager.OsDarkModeEnabled());
}
@@ -394,30 +382,6 @@ namespace Bit.Droid
Java.Lang.JavaSystem.Exit(0);
}
private async Task ClearClipboardAlarmAsync(Tuple<string, int?, bool> data)
{
if (data.Item3)
{
return;
}
var clearMs = data.Item2;
if (clearMs == null)
{
var clearSeconds = await _storageService.GetAsync<int?>(Constants.ClearClipboardKey);
if (clearSeconds != null)
{
clearMs = clearSeconds.Value * 1000;
}
}
if (clearMs == null)
{
return;
}
var triggerMs = Java.Lang.JavaSystem.CurrentTimeMillis() + clearMs.Value;
var alarmManager = GetSystemService(AlarmService) as AlarmManager;
alarmManager.Set(AlarmType.Rtc, triggerMs, _clearClipboardPendingIntent);
}
private void StartEventAlarm()
{
var alarmManager = GetSystemService(AlarmService) as AlarmManager;

View File

@@ -16,6 +16,8 @@ using Bit.Droid.Utilities;
using Plugin.CurrentActivity;
using Plugin.Fingerprint;
using Xamarin.Android.Net;
using System.Net.Http;
using System.Net;
#if !FDROID
using Android.Gms.Security;
#endif
@@ -78,7 +80,8 @@ namespace Bit.Droid
FFImageLoading.ImageService.Instance.Initialize(new FFImageLoading.Config.Configuration
{
FadeAnimationEnabled = false,
FadeAnimationForCachedImages = false
FadeAnimationForCachedImages = false,
HttpClient = new HttpClient(new AndroidClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate })
});
ZXing.Net.Mobile.Forms.Android.Platform.Init();
});
@@ -110,6 +113,7 @@ namespace Bit.Droid
ServiceContainer.Register<ICryptoPrimitiveService>("cryptoPrimitiveService", cryptoPrimitiveService);
ServiceContainer.Register<IStorageService>("storageService", mobileStorageService);
ServiceContainer.Register<IStorageService>("secureStorageService", secureStorageService);
ServiceContainer.Register<IClipboardService>("clipboardService", new ClipboardService(mobileStorageService));
ServiceContainer.Register<IDeviceActionService>("deviceActionService", deviceActionService);
ServiceContainer.Register<IPlatformUtilsService>("platformUtilsService", platformUtilsService);
ServiceContainer.Register<IBiometricService>("biometricService", biometricService);

View File

@@ -1,61 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="1"
android:versionName="2.13.1"
android:installLocation="internalOnly"
package="com.x8bit.bitwarden">
<?xml version='1.0' encoding='UTF-8'?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:versionCode="1" android:versionName="2.15.1" android:installLocation="internalOnly" package="com.x8bit.bitwarden">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<application
android:label="Bitwarden"
android:theme="@style/LaunchTheme"
android:allowBackup="false"
tools:replace="android:allowBackup"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:networkSecurityConfig="@xml/network_security_config">
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.x8bit.bitwarden.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
<application android:label="Bitwarden" android:theme="@style/LaunchTheme" android:allowBackup="false" tools:replace="android:allowBackup" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:networkSecurityConfig="@xml/network_security_config">
<provider android:name="androidx.core.content.FileProvider" android:authorities="com.x8bit.bitwarden.fileprovider" android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths"/>
</provider>
<meta-data android:name="android.max_aspect" android:value="2.1" />
<meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions" />
<meta-data android:name="android.max_aspect" android:value="2.1"/>
<meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/>
<!-- Support for Samsung "Multi Window" mode (for Android < 7.0 users) -->
<meta-data android:name="com.samsung.android.sdk.multiwindow.enable" android:value="true" />
<meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true" />
<meta-data android:name="com.samsung.android.sdk.multiwindow.enable" android:value="true"/>
<meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true"/>
<!-- Support for LG "Dual Window" mode (for Android < 7.0 users) -->
<meta-data android:name="com.lge.support.SPLIT_WINDOW" android:value="true" />
<meta-data android:name="com.lge.support.SPLIT_WINDOW" android:value="true"/>
<!-- Declare MainActivity manually so we can set LaunchMode using API dependant resource -->
<activity android:name="com.x8bit.bitwarden.MainActivity" android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|uiMode" android:exported="true" android:icon="@mipmap/ic_launcher" android:label="Bitwarden" android:launchMode="@integer/launchModeAPIlevel" android:theme="@style/LaunchTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/*"/>
<data android:mimeType="image/*"/>
<data android:mimeType="video/*"/>
<data android:mimeType="text/*"/>
</intent-filter>
</activity>
</application>
<!-- Package visibility (for Android 11+) -->
<queries>
<intent>
<action android:name="*"/>
</intent>
<intent>
<action android:name="*"/>
</intent>
</queries>
</manifest>

View File

@@ -29,7 +29,16 @@ namespace Bit.Droid.Renderers
Control.PaddingBottom + 20);
Control.ImeOptions = Control.ImeOptions | (ImeAction)ImeFlags.NoPersonalizedLearning |
(ImeAction)ImeFlags.NoExtractUi;
}
}
}
// Workaround for bug preventing long-press -> copy/paste on Android 11
// See https://issuetracker.google.com/issues/37095917
protected override void OnAttachedToWindow()
{
base.OnAttachedToWindow();
Control.Enabled = false;
Control.Enabled = true;
}
// Workaround for failure to disable text prediction on non-password fields

View File

@@ -2,6 +2,7 @@
using Android.Content;
using Android.Content.Res;
using Android.Graphics.Drawables;
using Android.OS;
using AndroidX.Core.Content.Resources;
using Bit.Droid.Renderers;
using Bit.Droid.Utilities;
@@ -35,6 +36,12 @@ namespace Bit.Droid.Renderers
private void UpdateColors()
{
if (Build.VERSION.SdkInt <= BuildVersionCodes.LollipopMr1)
{
// Android 5.x doesn't support ThumbTintList, and using SwitchCompat on every version after 5.x
// doesn't apply tinting the way we want. Let 5.x to do its own thing here.
return;
}
if (Control != null)
{
var t = ResourcesCompat.GetDrawable(Resources, Resource.Drawable.switch_thumb, null);

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="19dp"
android:viewportWidth="22"
android:viewportHeight="19">
<path
android:fillColor="#dd4b39"
android:pathData="M19.16 18.71H2.64c-0.36 0-0.72-0.09-1.03-0.27c-0.31-0.2-0.57-0.46-0.74-0.78c-0.18-0.32-0.27-0.67-0.27-1.04c0-0.36 0.1-0.72 0.28-1.03L9.14 1.1C9.32 0.76 9.58 0.5 9.89 0.32c0.3-0.18 0.65-0.28 1-0.28c0.36 0 0.7 0.1 1.02 0.28c0.3 0.18 0.56 0.44 0.74 0.75l8.26 14.51c0.18 0.31 0.28 0.67 0.28 1.03c0 0.37-0.09 0.72-0.26 1.04c-0.18 0.32-0.44 0.59-0.75 0.78c-0.31 0.18-0.66 0.28-1.02 0.27zM10.9 1.38c-0.13 0-0.26 0.04-0.38 0.1c-0.11 0.07-0.2 0.16-0.27 0.28L1.99 16.27c-0.07 0.11-0.1 0.24-0.1 0.36C1.9 16.76 1.92 16.9 2 17c0.06 0.12 0.16 0.22 0.27 0.3c0.12 0.06 0.25 0.1 0.38 0.1h16.52c0.13 0 0.26-0.04 0.37-0.1c0.12-0.08 0.21-0.18 0.28-0.3c0.06-0.1 0.1-0.23 0.1-0.36c0-0.12-0.04-0.25-0.1-0.36l-8.26-14.5c-0.07-0.13-0.17-0.22-0.28-0.29c-0.11-0.06-0.24-0.1-0.37-0.1zm0 11.42c-0.17 0-0.34-0.07-0.46-0.2c-0.12-0.12-0.19-0.29-0.19-0.46v-6.1c0-0.18 0.07-0.35 0.2-0.47c0.11-0.13 0.28-0.2 0.45-0.2c0.17 0 0.33 0.07 0.45 0.2c0.12 0.12 0.19 0.3 0.19 0.47v6.1c0 0.17-0.07 0.34-0.19 0.47c-0.12 0.12-0.28 0.2-0.45 0.2zm0 3.3c0.42 0 0.76-0.36 0.76-0.8c0-0.43-0.34-0.78-0.76-0.78c-0.43 0-0.77 0.35-0.77 0.79c0 0.43 0.34 0.79 0.77 0.79z"/>
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<integer name="launchModeAPIlevel">0</integer>
</resources>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<integer name="launchModeAPIlevel">2</integer>
</resources>

View File

@@ -11,9 +11,6 @@
-->
<autofill-service xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsInlineSuggestions="true">
<compatibility-package
android:name="alook.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.amazon.cloud9"
android:maxLongVersionCode="10000000000"/>
@@ -71,6 +68,9 @@
<compatibility-package
android:name="com.google.android.apps.chrome_dev"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.google.android.captiveportallogin"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.jamal2367.styx"
android:maxLongVersionCode="10000000000"/>
@@ -116,6 +116,9 @@
<compatibility-package
android:name="com.opera.touch"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.qflair.browserq"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.qwant.liberty"
android:maxLongVersionCode="10000000000"/>
@@ -211,10 +214,10 @@
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.mozilla.firefox"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="2015836711"/>
<compatibility-package
android:name="org.mozilla.firefox_beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="2015849447"/>
<compatibility-package
android:name="org.mozilla.reference.browser"
android:maxLongVersionCode="10000000000"/>

View File

@@ -0,0 +1,57 @@
using System;
using System.Threading.Tasks;
using Android.App;
using Android.Content;
using Bit.Core;
using Bit.Core.Abstractions;
using Bit.Droid.Receivers;
using Plugin.CurrentActivity;
using Xamarin.Essentials;
namespace Bit.Droid.Services
{
public class ClipboardService : IClipboardService
{
private readonly IStorageService _storageService;
private readonly Lazy<PendingIntent> _clearClipboardPendingIntent;
public ClipboardService(IStorageService storageService)
{
_storageService = storageService;
_clearClipboardPendingIntent = new Lazy<PendingIntent>(() =>
PendingIntent.GetBroadcast(CrossCurrentActivity.Current.Activity,
0,
new Intent(CrossCurrentActivity.Current.Activity, typeof(ClearClipboardAlarmReceiver)),
PendingIntentFlags.UpdateCurrent));
}
public async Task CopyTextAsync(string text, int expiresInMs = -1)
{
await Clipboard.SetTextAsync(text);
await ClearClipboardAlarmAsync(expiresInMs);
}
private async Task ClearClipboardAlarmAsync(int expiresInMs = -1)
{
var clearMs = expiresInMs;
if (clearMs < 0)
{
// if not set then we need to check if the user set this config
var clearSeconds = await _storageService.GetAsync<int?>(Constants.ClearClipboardKey);
if (clearSeconds != null)
{
clearMs = clearSeconds.Value * 1000;
}
}
if (clearMs < 0)
{
return;
}
var triggerMs = Java.Lang.JavaSystem.CurrentTimeMillis() + clearMs;
var alarmManager = CrossCurrentActivity.Current.Activity.GetSystemService(Context.AlarmService) as AlarmManager;
alarmManager.Set(AlarmType.Rtc, triggerMs, _clearClipboardPendingIntent.Value);
}
}
}

View File

@@ -640,8 +640,7 @@ namespace Bit.Droid.Services
public bool AutofillAccessibilityServiceRunning()
{
var activity = (MainActivity)CrossCurrentActivity.Current.Activity;
var enabledServices = Settings.Secure.GetString(activity.ContentResolver,
var enabledServices = Settings.Secure.GetString(Application.Context.ContentResolver,
Settings.Secure.EnabledAccessibilityServices);
return Application.Context.PackageName != null &&
(enabledServices?.Contains(Application.Context.PackageName) ?? false);

View File

@@ -98,5 +98,15 @@ namespace Bit.Droid.Services
Console.WriteLine(".NET Fallback Language/Locale:" + netLanguage + " (application-specific)");
return netLanguage;
}
public string GetLocaleShortDate(DateTime? date)
{
return date?.ToShortDateString() ?? string.Empty;
}
public string GetLocaleShortTime(DateTime? time)
{
return time?.ToShortTimeString() ?? string.Empty;
}
}
}

View File

@@ -0,0 +1,22 @@
using Android.Content;
using Android.OS;
namespace Bit.Droid.Utilities
{
public static class IntentExtensions
{
public static void Validate(this Intent intent)
{
try
{
// Check if getting the bundle of the extras causes any exception when unparcelling
// Note: getting the bundle like this will cause to call unparcel() internally
var b = intent?.Extras?.GetBundle("trashstringwhichhasnousebuttocheckunparcel");
}
catch (BadParcelableException)
{
intent.ReplaceExtras((Bundle)null);
}
}
}
}

View File

@@ -16,6 +16,10 @@ namespace Bit.Droid.Utilities
{
get => ThemeManager.GetResourceColor("MutedColor").ToAndroid();
}
public static Color BackgroundColor
{
get => ThemeManager.GetResourceColor("BackgroundColor").ToAndroid();
}
public static Color NavBarBackgroundColor
{
get => ThemeManager.GetResourceColor("NavigationBarBackgroundColor").ToAndroid();

View File

@@ -1,5 +1,7 @@
using Android.App;
using Android.Content.PM;
using Android.OS;
using Bit.Droid.Utilities;
namespace Bit.Droid
{
@@ -9,5 +11,12 @@ namespace Bit.Droid
[IntentFilter(new[] { Android.Content.Intent.ActionView },
Categories = new[] { Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable },
DataScheme = "bitwarden")]
public class WebAuthCallbackActivity : Xamarin.Essentials.WebAuthenticatorCallbackActivity { }
public class WebAuthCallbackActivity : Xamarin.Essentials.WebAuthenticatorCallbackActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
Intent?.Validate();
base.OnCreate(savedInstanceState);
}
}
}

View File

@@ -1,9 +1,22 @@
using System.Globalization;
using System;
using System.Globalization;
namespace Bit.App.Abstractions
{
public interface ILocalizeService
{
CultureInfo GetCurrentCultureInfo();
/// <summary>
/// Format date using device locale.
/// Needed for iOS as it provides locales unsupported in .Net
/// </summary>
string GetLocaleShortDate(DateTime? date);
/// <summary>
/// Format time using device locale.
/// Needed for iOS as it provides locales unsupported in .Net
/// </summary>
string GetLocaleShortTime(DateTime? time);
}
}

View File

@@ -0,0 +1,45 @@
using Bit.App.Pages;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace Bit.App.Abstractions
{
public interface INavigationService
{
/// <summary>
/// Sets the viewmodel to be the main page of the application
/// </summary>
void PresentAsMainPage(BaseViewModel viewModel);
/// <summary>
/// Sets the viewmodel as the main page of the application, and wraps its page within a Navigation page
/// </summary>
void PresentAsNavigatableMainPage(BaseViewModel viewModel);
/// <summary>
/// Navigate to the given page on top of the current navigation stack
/// </summary>
Task NavigateTo(BaseViewModel viewModel);
/// <summary>
/// Navigate to the previous item in the navigation stack
/// </summary>
Task NavigateBack();
/// <summary>
/// Navigate back to the element at the root of the navigation stack
/// </summary>
Task NavigateBackToRoot();
}
public interface IViewLocator
{
Page CreateAndBindPageFor<TViewModel>(TViewModel viewModel) where TViewModel : BaseViewModel;
}
public interface IMainPage
{
Page MainPage { get; set; }
}
}

View File

@@ -7,5 +7,9 @@ namespace Bit.App.Abstractions
string[] ProtectedFields { get; }
Task<bool> ShowPasswordPromptAsync();
Task<(string password, bool valid)> ShowPasswordPromptAndGetItAsync();
Task<bool> Enabled();
}
}

View File

@@ -124,6 +124,7 @@
<ItemGroup>
<Folder Include="Resources\" />
<Folder Include="Behaviors\" />
</ItemGroup>
<ItemGroup>
@@ -411,4 +412,7 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Remove="Behaviors\" />
</ItemGroup>
</Project>

View File

@@ -15,7 +15,7 @@ using Xamarin.Forms.Xaml;
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
namespace Bit.App
{
public partial class App : Application
public partial class App : Application, IMainPage
{
private readonly IUserService _userService;
private readonly IBroadcasterService _broadcasterService;
@@ -51,6 +51,8 @@ namespace Bit.App
_secureStorageService = ServiceContainer.Resolve<IStorageService>("secureStorageService");
_deviceActionService = ServiceContainer.Resolve<IDeviceActionService>("deviceActionService");
var navigator = new NavigationService(this, new ViewLocator());
Bootstrap();
_broadcasterService.Subscribe(nameof(App), async (message) =>
{
@@ -113,7 +115,8 @@ namespace Bit.App
}
else if (message.Command == "popAllAndGoToTabGenerator" ||
message.Command == "popAllAndGoToTabMyVault" ||
message.Command == "popAllAndGoToTabSend")
message.Command == "popAllAndGoToTabSend" ||
message.Command == "popAllAndGoToAutofillCiphers")
{
Device.BeginInvokeOnMainThread(async () =>
{
@@ -123,7 +126,11 @@ namespace Bit.App
{
await tabsPage.Navigation.PopModalAsync(false);
}
if (message.Command == "popAllAndGoToTabMyVault")
if (message.Command == "popAllAndGoToAutofillCiphers")
{
Current.MainPage = new NavigationPage(new AutofillCiphersPage(Options));
}
else if (message.Command == "popAllAndGoToTabMyVault")
{
Options.MyVaultTile = false;
tabsPage.ResetToVaultPage();
@@ -140,6 +147,15 @@ namespace Bit.App
}
});
}
else if (message.Command == "convertAccountToKeyConnector")
{
Device.BeginInvokeOnMainThread(async () =>
{
await Application.Current.MainPage.Navigation.PushModalAsync(
new NavigationPage(new RemoveMasterPasswordPage()));
});
}
});
}

View File

@@ -0,0 +1,43 @@
using Xamarin.Essentials;
using Xamarin.Forms;
namespace Bit.App.Behaviors
{
/// <summary>
/// This behavior prevents the Editor to be automatically scrolled to the bottom on focus.
/// This is needed due to this Xamarin Forms issue: https://github.com/xamarin/Xamarin.Forms/issues/2233
/// </summary>
public class EditorPreventAutoBottomScrollingOnFocusedBehavior : Behavior<Editor>
{
public static readonly BindableProperty ParentScrollViewProperty
= BindableProperty.Create(nameof(ParentScrollView), typeof(ScrollView), typeof(EditorPreventAutoBottomScrollingOnFocusedBehavior));
public ScrollView ParentScrollView
{
get => (ScrollView)GetValue(ParentScrollViewProperty);
set => SetValue(ParentScrollViewProperty, value);
}
protected override void OnAttachedTo(Editor bindable)
{
base.OnAttachedTo(bindable);
bindable.Focused += OnFocused;
}
private void OnFocused(object sender, FocusEventArgs e)
{
if (DeviceInfo.Platform.Equals(DevicePlatform.iOS) && ParentScrollView != null)
{
ParentScrollView.ScrollToAsync(ParentScrollView.ScrollX, ParentScrollView.ScrollY, true);
}
}
protected override void OnDetachingFrom(Editor bindable)
{
bindable.Focused -= OnFocused;
base.OnDetachingFrom(bindable);
}
}
}

View File

@@ -46,7 +46,7 @@
WidthRequest="22"
HeightRequest="22"
IsVisible="{Binding ShowIconImage}"
Source="{Binding Cipher, Converter={StaticResource iconImageConverter}}"
Source="{Binding IconImageSource, Mode=OneTime}"
AutomationProperties.IsInAccessibleTree="False" />
<Grid RowSpacing="0" ColumnSpacing="0" Grid.Row="0" Grid.Column="1" VerticalOptions="Center" Padding="0, 7">

View File

@@ -1,4 +1,5 @@
using Bit.Core.Models.View;
using Bit.App.Utilities;
using Bit.Core.Models.View;
using Bit.Core.Utilities;
namespace Bit.App.Controls
@@ -7,6 +8,7 @@ namespace Bit.App.Controls
{
private CipherView _cipher;
private bool _websiteIconsEnabled;
private string _iconImageSource = string.Empty;
public CipherViewCellViewModel(CipherView cipherView, bool websiteIconsEnabled)
{
@@ -28,8 +30,22 @@ namespace Bit.App.Controls
public bool ShowIconImage
{
get => WebsiteIconsEnabled && !string.IsNullOrWhiteSpace(Cipher.Login?.Uri) &&
Cipher.Login.Uri.StartsWith("http");
get => WebsiteIconsEnabled
&& !string.IsNullOrWhiteSpace(Cipher.Login?.Uri)
&& IconImageSource != null;
}
public string IconImageSource
{
get
{
if (_iconImageSource == string.Empty) // default value since icon source can return null
{
_iconImageSource = IconImageHelper.GetLoginIconImage(Cipher);
}
return _iconImageSource;
}
}
}
}

View File

@@ -0,0 +1,25 @@
using Xamarin.Forms;
namespace Bit.App.Effects
{
public class ScrollEnabledEffect : RoutingEffect
{
public static readonly BindableProperty IsScrollEnabledProperty =
BindableProperty.CreateAttached("IsScrollEnabled", typeof(bool), typeof(ScrollEnabledEffect), true);
public static bool GetIsScrollEnabled(BindableObject view)
{
return (bool)view.GetValue(IsScrollEnabledProperty);
}
public static void SetIsScrollEnabled(BindableObject view, bool value)
{
view.SetValue(IsScrollEnabledProperty, value);
}
public ScrollEnabledEffect()
: base("Bitwarden.ScrollEnabledEffect")
{
}
}
}

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" ?>
<pages:BaseContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Bit.App.Pages.Accounts.DeleteAccountPage"
xmlns:pages="clr-namespace:Bit.App.Pages"
xmlns:u="clr-namespace:Bit.App.Utilities"
x:DataType="pages:DeleteAccountViewModel"
Title="{Binding PageTitle}">
<ContentPage.BindingContext>
<pages:DeleteAccountViewModel />
</ContentPage.BindingContext>
<ContentPage.ToolbarItems>
<ToolbarItem Text="{u:I18n Close}" Clicked="Close_Clicked" Order="Primary" Priority="-1" />
</ContentPage.ToolbarItems>
<ContentPage.Resources>
<Style TargetType="Label" x:Key="lblDescription">
<Setter Property="FontSize" Value="{OnPlatform Android=Large, iOS=Small}" />
</Style>
</ContentPage.Resources>
<ContentPage.Content>
<Grid Padding="20, 30" RowSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image
Source="ic_warning"
WidthRequest="28"
HeightRequest="25"
HorizontalOptions="Start" />
<Label
Grid.Row="1"
Grid.ColumnSpan="2"
Text="{u:I18n DeletingYourAccountIsPermanent}"
HorizontalOptions="Start"
StyleClass="title-danger"
Margin="0,15,0,0"/>
<Label
Grid.Row="2"
Grid.ColumnSpan="2"
Text="{u:I18n DeleteAccountExplanation}"
Style="{StaticResource lblDescription}"
HorizontalOptions="Start"
Margin="0,6,50,0"
Opacity="0.6" />
<Button
Grid.Row="3"
Text="{u:I18n DeleteAccount}"
StyleClass="btn-danger"
HorizontalOptions="Start"
VerticalOptions="Start"
Margin="0,20,0,0"
Padding="16,0"
CornerRadius="2"
TextTransform="Uppercase"
Clicked="DeleteAccount_Clicked"/>
<Button
Grid.Row="3"
Grid.Column="1"
Text="{u:I18n Cancel}"
StyleClass="btn-secondary"
HorizontalOptions="Start"
VerticalOptions="Start"
Margin="0,20,0,0"
Padding="16,0"
CornerRadius="2"
TextTransform="Uppercase"
Clicked="Close_Clicked" />
</Grid>
</ContentPage.Content>
</pages:BaseContentPage>

View File

@@ -0,0 +1,33 @@
using System;
using Xamarin.Forms;
namespace Bit.App.Pages.Accounts
{
public partial class DeleteAccountPage : BaseContentPage
{
DeleteAccountViewModel _vm;
public DeleteAccountPage()
{
InitializeComponent();
_vm = BindingContext as DeleteAccountViewModel;
_vm.Page = this;
}
private async void Close_Clicked(object sender, EventArgs e)
{
if (DoOnce())
{
await Navigation.PopModalAsync();
}
}
private async void DeleteAccount_Clicked(object sender, EventArgs e)
{
if (DoOnce())
{
await _vm.DeleteAccountAsync();
}
}
}
}

View File

@@ -0,0 +1,84 @@
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.App.Resources;
using Bit.Core.Abstractions;
using Bit.Core.Exceptions;
using Bit.Core.Utilities;
#if !FDROID
using Microsoft.AppCenter.Crashes;
#endif
namespace Bit.App.Pages
{
public class DeleteAccountViewModel : BaseViewModel
{
readonly IApiService _apiService;
readonly IPasswordRepromptService _passwordRepromptService;
readonly IMessagingService _messagingService;
readonly ICryptoService _cryptoService;
readonly IPlatformUtilsService _platformUtilsService;
readonly IDeviceActionService _deviceActionService;
public DeleteAccountViewModel()
{
_apiService = ServiceContainer.Resolve<IApiService>("apiService");
_passwordRepromptService = ServiceContainer.Resolve<IPasswordRepromptService>("passwordRepromptService");
_messagingService = ServiceContainer.Resolve<IMessagingService>("messagingService");
_cryptoService = ServiceContainer.Resolve<ICryptoService>("cryptoService");
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
_deviceActionService = ServiceContainer.Resolve<IDeviceActionService>("deviceActionService");
PageTitle = AppResources.DeleteAccount;
}
public async Task DeleteAccountAsync()
{
try
{
if (Xamarin.Essentials.Connectivity.NetworkAccess == Xamarin.Essentials.NetworkAccess.None)
{
await _platformUtilsService.ShowDialogAsync(AppResources.InternetConnectionRequiredMessage,
AppResources.InternetConnectionRequiredTitle, AppResources.Ok);
return;
}
var (password, valid) = await _passwordRepromptService.ShowPasswordPromptAndGetItAsync();
if (!valid)
{
return;
}
await _deviceActionService.ShowLoadingAsync(AppResources.DeletingYourAccount);
var masterPasswordHashKey = await _cryptoService.HashPasswordAsync(password, null);
await _apiService.DeleteAccountAsync(new Core.Models.Request.DeleteAccountRequest
{
MasterPasswordHash = masterPasswordHashKey
});
await _deviceActionService.HideLoadingAsync();
_messagingService.Send("logout");
await _platformUtilsService.ShowDialogAsync(AppResources.YourAccountHasBeenPermanentlyDeleted);
}
catch (ApiException apiEx)
{
await _deviceActionService.HideLoadingAsync();
if (apiEx?.Error != null)
{
await _platformUtilsService.ShowDialogAsync(apiEx.Error.GetSingleMessage(), AppResources.AnErrorHasOccurred);
}
}
catch (System.Exception ex)
{
await _deviceActionService.HideLoadingAsync();
#if !FDROID
Crashes.TrackError(ex);
#endif
await _platformUtilsService.ShowDialogAsync(AppResources.AnErrorHasOccurred);
}
}
}
}

View File

@@ -34,7 +34,10 @@
<ScrollView>
<StackLayout Spacing="20">
<StackLayout StyleClass="box">
<Grid StyleClass="box-row" IsVisible="{Binding PinLock}">
<Grid
StyleClass="box-row"
IsVisible="{Binding PinLock}"
Padding="0, 10, 0, 0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -70,7 +73,11 @@
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n ToggleVisibility}" />
</Grid>
<Grid StyleClass="box-row" IsVisible="{Binding PinLock, Converter={StaticResource inverseBool}}">
<Grid
x:Name="_passwordGrid"
StyleClass="box-row"
IsVisible="{Binding PinLock, Converter={StaticResource inverseBool}}"
Padding="0, 10, 0, 0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
@@ -105,13 +112,17 @@
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n ToggleVisibility}" />
</Grid>
<Label
<StackLayout
StyleClass="box-row"
Padding="0, 10, 0, 0">
<Label
Text="{Binding LockedVerifyText}"
StyleClass="box-footer-label" />
<Label
Text="{Binding LoggedInAsText}"
StyleClass="box-footer-label"
Margin="0, 10, 0, 0" />
<Label
Text="{Binding LoggedInAsText}"
StyleClass="box-footer-label"
Margin="0, 10, 0, 0" />
</StackLayout>
</StackLayout>
<StackLayout Padding="10, 0">
<Label
@@ -120,9 +131,11 @@
IsVisible="{Binding BiometricIntegrityValid, Converter={StaticResource inverseBool}}" />
<Button Text="{Binding BiometricButtonText}" Clicked="Biometric_Clicked"
IsVisible="{Binding BiometricButtonVisible}"></Button>
<Button Text="{u:I18n Unlock}"
StyleClass="btn-primary"
Clicked="Unlock_Clicked" />
<Button
x:Name="_unlockButton"
Text="{u:I18n Unlock}"
StyleClass="btn-primary"
Clicked="Unlock_Clicked" />
</StackLayout>
</StackLayout>
</ScrollView>

View File

@@ -11,7 +11,6 @@ namespace Bit.App.Pages
{
public partial class LockPage : BaseContentPage
{
private readonly IStorageService _storageService;
private readonly AppOptions _appOptions;
private readonly bool _autoPromptBiometric;
private readonly LockPageViewModel _vm;
@@ -21,7 +20,6 @@ namespace Bit.App.Pages
public LockPage(AppOptions appOptions = null, bool autoPromptBiometric = true)
{
_storageService = ServiceContainer.Resolve<IStorageService>("storageService");
_appOptions = appOptions;
_autoPromptBiometric = autoPromptBiometric;
InitializeComponent();
@@ -65,7 +63,7 @@ namespace Bit.App.Pages
return;
}
_appeared = true;
await _vm.InitAsync(_autoPromptBiometric);
await _vm.InitAsync();
if (!_vm.BiometricLock)
{
if (_vm.PinLock)
@@ -77,6 +75,22 @@ namespace Bit.App.Pages
RequestFocus(MasterPasswordEntry);
}
}
else
{
if (_vm.UsingKeyConnector && !_vm.PinLock)
{
_passwordGrid.IsVisible = false;
_unlockButton.IsVisible = false;
}
if (_autoPromptBiometric)
{
var tasks = Task.Run(async () =>
{
await Task.Delay(500);
Device.BeginInvokeOnMainThread(async () => await _vm.PromptBiometricAsync());
});
}
}
}
private void Unlock_Clicked(object sender, EventArgs e)
@@ -130,6 +144,7 @@ namespace Bit.App.Pages
return;
}
var previousPage = await AppHelpers.ClearPreviousPage();
Application.Current.MainPage = new TabsPage(_appOptions, previousPage);
}
}

View File

@@ -28,6 +28,7 @@ namespace Bit.App.Pages
private readonly IEnvironmentService _environmentService;
private readonly IStateService _stateService;
private readonly IBiometricService _biometricService;
private readonly IKeyConnectorService _keyConnectorService;
private string _email;
private bool _showPassword;
@@ -35,6 +36,7 @@ namespace Bit.App.Pages
private bool _biometricLock;
private bool _biometricIntegrityValid = true;
private bool _biometricButtonVisible;
private bool _usingKeyConnector;
private string _biometricButtonText;
private string _loggedInAsText;
private string _lockedVerifyText;
@@ -54,6 +56,7 @@ namespace Bit.App.Pages
_environmentService = ServiceContainer.Resolve<IEnvironmentService>("environmentService");
_stateService = ServiceContainer.Resolve<IStateService>("stateService");
_biometricService = ServiceContainer.Resolve<IBiometricService>("biometricService");
_keyConnectorService = ServiceContainer.Resolve<IKeyConnectorService>("keyConnectorService");
PageTitle = AppResources.VerifyMasterPassword;
TogglePasswordCommand = new Command(TogglePassword);
@@ -76,6 +79,11 @@ namespace Bit.App.Pages
set => SetProperty(ref _pinLock, value);
}
public bool UsingKeyConnector
{
get => _usingKeyConnector;
}
public bool BiometricLock
{
get => _biometricLock;
@@ -119,11 +127,18 @@ namespace Bit.App.Pages
public string Pin { get; set; }
public Action UnlockedAction { get; set; }
public async Task InitAsync(bool autoPromptBiometric)
public async Task InitAsync()
{
_pinSet = await _vaultTimeoutService.IsPinLockSetAsync();
PinLock = (_pinSet.Item1 && _vaultTimeoutService.PinProtectedKey != null) || _pinSet.Item2;
BiometricLock = await _vaultTimeoutService.IsBiometricLockSetAsync() && await _cryptoService.HasKeyAsync();
// Users with key connector and without biometric or pin has no MP to unlock with
_usingKeyConnector = await _keyConnectorService.GetUsesKeyConnector();
if ( _usingKeyConnector && !(BiometricLock || PinLock))
{
await _vaultTimeoutService.LogOutAsync();
}
_email = await _userService.GetEmailAsync();
var webVault = _environmentService.GetWebVaultUrl();
if (string.IsNullOrWhiteSpace(webVault))
@@ -139,8 +154,16 @@ namespace Bit.App.Pages
}
else
{
PageTitle = AppResources.VerifyMasterPassword;
LockedVerifyText = AppResources.VaultLockedMasterPassword;
if (_usingKeyConnector)
{
PageTitle = AppResources.UnlockVault;
LockedVerifyText = AppResources.VaultLockedIdentity;
}
else
{
PageTitle = AppResources.VerifyMasterPassword;
LockedVerifyText = AppResources.VaultLockedMasterPassword;
}
}
if (BiometricLock)
@@ -159,14 +182,7 @@ namespace Bit.App.Pages
BiometricButtonText = supportsFace ? AppResources.UseFaceIDToUnlock :
AppResources.UseFingerprintToUnlock;
}
if (autoPromptBiometric)
{
var tasks = Task.Run(async () =>
{
await Task.Delay(500);
Device.BeginInvokeOnMainThread(async () => await PromptBiometricAsync());
});
}
}
}
@@ -317,8 +333,9 @@ namespace Bit.App.Pages
ShowPassword = !ShowPassword;
var page = (Page as LockPage);
var entry = PinLock ? page.PinEntry : page.MasterPasswordEntry;
var str = PinLock ? Pin : MasterPassword;
entry.Focus();
entry.CursorPosition = PinLock ? Pin.Length : MasterPassword.Length;
entry.CursorPosition = String.IsNullOrEmpty(str) ? 0 : str.Length;
}
public async Task PromptBiometricAsync()

View File

@@ -187,7 +187,7 @@ namespace Bit.App.Pages
ShowPassword = !ShowPassword;
var entry = (Page as LoginPage).MasterPasswordEntry;
entry.Focus();
entry.CursorPosition = MasterPassword.Length;
entry.CursorPosition = String.IsNullOrEmpty(MasterPassword) ? 0 : MasterPassword.Length;
}
}
}

View File

@@ -116,7 +116,14 @@ namespace Bit.App.Pages
{
RestoreAppOptionsFromCopy();
await AppHelpers.ClearPreviousPage();
Application.Current.MainPage = new NavigationPage(new LockPage(_appOptions));
if (await _vaultTimeoutService.IsLockedAsync())
{
Application.Current.MainPage = new NavigationPage(new LockPage(_appOptions));
}
else
{
Application.Current.MainPage = new TabsPage(_appOptions, null);
}
}
}
}

View File

@@ -139,7 +139,7 @@ namespace Bit.App.Pages
var code = GetResultCode(authResult, state);
if (!string.IsNullOrEmpty(code))
{
await LogIn(code, codeVerifier, redirectUri);
await LogIn(code, codeVerifier, redirectUri, OrgIdentifier);
}
else
{
@@ -164,11 +164,11 @@ namespace Bit.App.Pages
return code;
}
private async Task LogIn(string code, string codeVerifier, string redirectUri)
private async Task LogIn(string code, string codeVerifier, string redirectUri, string orgId)
{
try
{
var response = await _authService.LogInSsoAsync(code, codeVerifier, redirectUri);
var response = await _authService.LogInSsoAsync(code, codeVerifier, redirectUri, orgId);
await AppHelpers.ResetInvalidUnlockAttemptsAsync();
if (RememberOrgIdentifier)
{

View File

@@ -203,7 +203,7 @@ namespace Bit.App.Pages
ShowPassword = !ShowPassword;
var entry = (Page as RegisterPage).MasterPasswordEntry;
entry.Focus();
entry.CursorPosition = MasterPassword.Length;
entry.CursorPosition = String.IsNullOrEmpty(MasterPassword) ? 0 : MasterPassword.Length;
}
public void ToggleConfirmPassword()
@@ -211,7 +211,7 @@ namespace Bit.App.Pages
ShowPassword = !ShowPassword;
var entry = (Page as RegisterPage).ConfirmMasterPasswordEntry;
entry.Focus();
entry.CursorPosition = ConfirmMasterPassword.Length;
entry.CursorPosition = String.IsNullOrEmpty(ConfirmMasterPassword) ? 0 : ConfirmMasterPassword.Length;
}
}
}

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<pages:BaseContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Bit.App.Pages.RemoveMasterPasswordPage"
xmlns:pages="clr-namespace:Bit.App.Pages"
xmlns:u="clr-namespace:Bit.App.Utilities"
x:DataType="pages:RemoveMasterPasswordPageViewModel"
Title="{Binding PageTitle}">
<ContentPage.BindingContext>
<pages:RemoveMasterPasswordPageViewModel />
</ContentPage.BindingContext>
<StackLayout Spacing="20"
Padding="10, 5">
<StackLayout Spacing="18"
Padding="30">
<Label x:Name="_warningLabel"
HorizontalTextAlignment="Center"/>
<Label x:Name="_warningLabel2"
HorizontalTextAlignment="Center"/>
</StackLayout>
<StackLayout Spacing="5">
<Button Text="{u:I18n Continue}"
StyleClass="btn-primary"
Clicked="Continue_Clicked" />
<Button Text="{u:I18n LeaveOrganization}"
Clicked="LeaveOrg_Clicked" />
</StackLayout>
</StackLayout>
</pages:BaseContentPage>

View File

@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using Bit.App.Resources;
using Xamarin.Forms;
namespace Bit.App.Pages
{
public partial class RemoveMasterPasswordPage : BaseContentPage
{
private readonly RemoveMasterPasswordPageViewModel _vm;
public Action NavigateAction { get; set; }
public RemoveMasterPasswordPage()
{
InitializeComponent();
_vm = BindingContext as RemoveMasterPasswordPageViewModel;
}
protected override async void OnAppearing()
{
await _vm.Init();
_warningLabel.Text = string.Format(AppResources.RemoveMasterPasswordWarning,
_vm.Organization.Name);
_warningLabel2.Text = AppResources.RemoveMasterPasswordWarning2;
}
private async void Continue_Clicked(object sender, System.EventArgs e)
{
if (DoOnce())
{
await _vm.MigrateAccount();
await Navigation.PopModalAsync();
}
}
private async void LeaveOrg_Clicked(object sender, System.EventArgs e)
{
if (DoOnce())
{
var confirm = await DisplayAlert(AppResources.LeaveOrganization,
string.Format(AppResources.LeaveOrganizationName, _vm.Organization.Name),
AppResources.Yes, AppResources.No);
if (confirm)
{
await _vm.LeaveOrganization();
await Navigation.PopModalAsync();
}
}
}
protected override async void OnDisappearing()
{
NavigateAction?.Invoke();
}
}
}

View File

@@ -0,0 +1,56 @@
using System;
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.App.Resources;
using Bit.Core.Abstractions;
using Bit.Core.Models.Domain;
using Bit.Core.Utilities;
namespace Bit.App.Pages
{
public class RemoveMasterPasswordPageViewModel : BaseViewModel
{
private readonly IKeyConnectorService _keyConnectorService;
private readonly IDeviceActionService _deviceActionService;
private readonly IApiService _apiService;
private readonly ISyncService _syncService;
public Organization Organization;
public RemoveMasterPasswordPageViewModel()
{
PageTitle = AppResources.RemoveMasterPassword;
_keyConnectorService = ServiceContainer.Resolve<IKeyConnectorService>("keyConnectorService");
_deviceActionService = ServiceContainer.Resolve<IDeviceActionService>("deviceActionService");
_apiService = ServiceContainer.Resolve<IApiService>("apiService");
_syncService = ServiceContainer.Resolve<ISyncService>("syncService");
}
public async Task Init()
{
Organization = await _keyConnectorService.GetManagingOrganization();
}
public async Task MigrateAccount()
{
await _deviceActionService.ShowLoadingAsync(AppResources.Loading);
await _keyConnectorService.MigrateUser();
await _syncService.FullSyncAsync(true);
await _deviceActionService.HideLoadingAsync();
}
public async Task LeaveOrganization()
{
await _deviceActionService.ShowLoadingAsync(AppResources.Loading);
await _apiService.PostLeaveOrganization(Organization.Id);
await _syncService.FullSyncAsync(true);
await _deviceActionService.HideLoadingAsync();
}
}
}

View File

@@ -204,7 +204,9 @@ namespace Bit.App.Pages
{
callbackUri = callbackUri,
data = JsonConvert.SerializeObject(providerData),
headerText = AppResources.Fido2Title,
btnText = AppResources.Fido2AuthenticateWebAuthn,
btnReturnText = AppResources.Fido2ReturnToApp,
});
var url = _webVaultUrl + "/webauthn-mobile-connector.html?" + "data=" + data +

View File

@@ -23,6 +23,7 @@ namespace Bit.App.Pages
{
if (Device.RuntimePlatform == Device.iOS)
{
On<iOS>().SetUseSafeArea(true);
On<iOS>().SetModalPresentationStyle(UIModalPresentationStyle.FullScreen);
}
}

View File

@@ -27,7 +27,12 @@ namespace Bit.App.Pages
captchaRequiredText = AppResources.CaptchaRequired,
});
var url = environmentService.GetWebVaultUrl() + "/captcha-mobile-connector.html?" + "data=" + data +
var url = environmentService.GetWebVaultUrl();
if (url == null)
{
url = "https://vault.bitwarden.com";
}
url += "/captcha-mobile-connector.html?" + "data=" + data +
"&parent=" + Uri.EscapeDataString(callbackUri) + "&v=1";
WebAuthenticatorResult authResult = null;

View File

@@ -68,8 +68,7 @@
<controls:MonoLabel LineBreakMode="CharacterWrap"
Grid.Column="0"
Grid.Row="0"
StyleClass="list-title, list-title-platform"
TextType="Html"
StyleClass="list-title, list-title-platform, text-html"
Text="{Binding Password, Mode=OneWay, Converter={StaticResource coloredPassword}}" />
<Label LineBreakMode="TailTruncation"
Grid.Column="0"

View File

@@ -12,6 +12,7 @@ namespace Bit.App.Pages
{
private readonly IPlatformUtilsService _platformUtilsService;
private readonly IPasswordGenerationService _passwordGenerationService;
private readonly IClipboardService _clipboardService;
private bool _showNoData;
@@ -20,6 +21,7 @@ namespace Bit.App.Pages
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
_passwordGenerationService = ServiceContainer.Resolve<IPasswordGenerationService>(
"passwordGenerationService");
_clipboardService = ServiceContainer.Resolve<IClipboardService>("clipboardService");
PageTitle = AppResources.PasswordHistory;
History = new ExtendedObservableCollection<GeneratedPasswordHistory>();
@@ -51,7 +53,7 @@ namespace Bit.App.Pages
private async void CopyAsync(GeneratedPasswordHistory ph)
{
await _platformUtilsService.CopyToClipboardAsync(ph.Password);
await _clipboardService.CopyTextAsync(ph.Password);
_platformUtilsService.ShowToast("info", null,
string.Format(AppResources.ValueHasBeenCopied, AppResources.Password));
}

View File

@@ -63,10 +63,9 @@
</Frame>
</Grid>
<controls:MonoLabel
StyleClass="text-lg, text-html"
Text="{Binding ColoredPassword, Mode=OneWay}"
TextType="Html"
Margin="0, 20"
StyleClass="text-lg"
HorizontalTextAlignment="Center"
HorizontalOptions="CenterAndExpand"
LineBreakMode="CharacterWrap" />

View File

@@ -13,6 +13,7 @@ namespace Bit.App.Pages
{
private readonly IPasswordGenerationService _passwordGenerationService;
private readonly IPlatformUtilsService _platformUtilsService;
private readonly IClipboardService _clipboardService;
private PasswordGenerationOptions _options;
private PasswordGeneratorPolicyOptions _enforcedPolicyOptions;
@@ -38,6 +39,8 @@ namespace Bit.App.Pages
_passwordGenerationService = ServiceContainer.Resolve<IPasswordGenerationService>(
"passwordGenerationService");
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
_clipboardService = ServiceContainer.Resolve<IClipboardService>("clipboardService");
PageTitle = AppResources.PasswordGenerator;
TypeOptions = new List<string> { AppResources.Password, AppResources.Passphrase };
}
@@ -305,7 +308,7 @@ namespace Bit.App.Pages
public async Task CopyAsync()
{
await _platformUtilsService.CopyToClipboardAsync(Password);
await _clipboardService.CopyTextAsync(Password);
_platformUtilsService.ShowToast("success", null,
string.Format(AppResources.ValueHasBeenCopied, AppResources.Password));
}

View File

@@ -6,6 +6,8 @@
xmlns:pages="clr-namespace:Bit.App.Pages"
xmlns:u="clr-namespace:Bit.App.Utilities"
xmlns:controls="clr-namespace:Bit.App.Controls"
xmlns:behaviors="clr-namespace:Bit.App.Behaviors"
xmlns:effects="clr-namespace:Bit.App.Effects"
x:DataType="pages:SendAddEditPageViewModel"
x:Name="_page"
Title="{Binding PageTitle}">
@@ -201,7 +203,15 @@
Text="{Binding Send.Text.Text}"
IsEnabled="{Binding SendEnabled}"
StyleClass="box-value"
Margin="{Binding EditorMargins}" />
Margin="{Binding EditorMargins}"
effects:ScrollEnabledEffect.IsScrollEnabled="false" >
<Editor.Behaviors>
<behaviors:EditorPreventAutoBottomScrollingOnFocusedBehavior ParentScrollView="{x:Reference _scrollView}" />
</Editor.Behaviors>
<Editor.Effects>
<effects:ScrollEnabledEffect />
</Editor.Effects>
</Editor>
<BoxView
StyleClass="box-row-separator"
IsVisible="{Binding ShowEditorSeparators}" />
@@ -443,7 +453,15 @@
Text="{Binding Send.Notes}"
IsEnabled="{Binding SendEnabled}"
StyleClass="box-value"
Margin="{Binding EditorMargins}" />
Margin="{Binding EditorMargins}"
effects:ScrollEnabledEffect.IsScrollEnabled="false" >
<Editor.Behaviors>
<behaviors:EditorPreventAutoBottomScrollingOnFocusedBehavior ParentScrollView="{x:Reference _scrollView}" />
</Editor.Behaviors>
<Editor.Effects>
<effects:ScrollEnabledEffect />
</Editor.Effects>
</Editor>
<BoxView
StyleClass="box-row-separator"
IsVisible="{Binding ShowEditorSeparators}" />

View File

@@ -161,7 +161,7 @@ namespace Bit.App.Pages
if (DoOnce())
{
var page = new SendsPage(_vm.Filter, _vm.Type != null);
await Navigation.PushModalAsync(new NavigationPage(page), false);
await Navigation.PushModalAsync(new NavigationPage(page));
}
}

View File

@@ -17,7 +17,6 @@
<ContentPage.Resources>
<ResourceDictionary>
<u:DateTimeConverter x:Key="dateTime" />
<ToolbarItem Text="{u:I18n Close}" Clicked="Close_Clicked" Order="Primary" Priority="-1"
x:Name="_closeItem" x:Key="closeItem" />
<StackLayout

View File

@@ -25,21 +25,27 @@
</ContentPage.ToolbarItems>
<ScrollView>
<StackLayout Spacing="20">
<StackLayout StyleClass="box">
<Frame
IsVisible="{Binding DisablePrivateVaultPolicyEnabled}"
Padding="10"
Margin="0, 12, 0, 0"
HasShadow="False"
BackgroundColor="Transparent"
BorderColor="Accent">
<Label
Text="{u:I18n DisablePersonalVaultExportPolicyInEffect}"
StyleClass="text-muted, text-sm, text-bold"
HorizontalTextAlignment="Center" />
</Frame>
<StackLayout StyleClass="box-row, box-row-input, box-row-input-options-platform">
<StackLayout
StyleClass="box"
Spacing="20">
<Frame
IsVisible="{Binding DisablePrivateVaultPolicyEnabled}"
Padding="10"
Margin="0, 12, 0, 0"
HasShadow="False"
BackgroundColor="Transparent"
BorderColor="Accent">
<Label
Text="{u:I18n DisablePersonalVaultExportPolicyInEffect}"
StyleClass="text-muted, text-sm, text-bold"
HorizontalTextAlignment="Center" />
</Frame>
<Grid
RowSpacing="10"
RowDefinitions="70, Auto, Auto">
<StackLayout
StyleClass="box-row"
Grid.Row="0">
<Label
Text="{u:I18n FileFormat}"
StyleClass="box-label" />
@@ -51,23 +57,37 @@
StyleClass="box-value"
IsEnabled="{Binding DisablePrivateVaultPolicyEnabled, Converter={StaticResource inverseBool}}" />
</StackLayout>
<Grid StyleClass="box-row">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackLayout
StyleClass="box-row"
Grid.Row="1"
IsVisible="{Binding UseOTPVerification}">
<Label
Text="{u:I18n MasterPassword}"
Text="{u:I18n SendVerificationCodeToEmail}"
StyleClass="box-label"
LineBreakMode="WordWrap"
Margin="0,0,0,10" />
<Button x:Name="_requestOTP"
Text="{u:I18n SendCode}"
Clicked="RequestOTP_Clicked"
HorizontalOptions="Fill"
VerticalOptions="End"
IsEnabled="{Binding DisablePrivateVaultPolicyEnabled, Converter={StaticResource inverseBool}}"
Margin="0,0,0,10"/>
</StackLayout>
<Grid
StyleClass="box-row"
Grid.Row="2"
RowDefinitions="Auto,Auto,Auto"
ColumnDefinitions="*,Auto"
Padding="0">
<Label
Text="{Binding SecretName}"
StyleClass="box-label"
Grid.Row="0"
Grid.Column="0" />
Grid.ColumnSpan="2" />
<controls:MonoEntry
x:Name="_masterPassword"
Text="{Binding MasterPassword}"
x:Name="_secret"
Text="{Binding Secret}"
StyleClass="box-value"
IsSpellCheckEnabled="False"
IsTextPredictionEnabled="False"
@@ -81,22 +101,33 @@
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding ShowPasswordIcon}"
Command="{Binding TogglePasswordCommand}"
Grid.Row="0"
Grid.Row="1"
Grid.Column="1"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n ToggleVisibility}" />
AutomationProperties.Name="{u:I18n ToggleVisibility}"
IsVisible="{Binding UseOTPVerification, Converter={StaticResource inverseBool}}"/>
<Label
Text="{u:I18n ConfirmYourIdentity}"
StyleClass="box-footer-label"
LineBreakMode="WordWrap"
Grid.Row="2"
Margin="0,10,0,0"
IsVisible="{Binding UseOTPVerification}" />
</Grid>
</Grid>
<StackLayout
StyleClass="box-row">
<Label
Text="{u:I18n ExportVaultMasterPasswordDescription}"
StyleClass="box-footer-label, box-footer-label-switch" />
<StackLayout Spacing="20">
<Button Text="{u:I18n ExportVault}"
Clicked="ExportVault_Clicked"
HorizontalOptions="Fill"
VerticalOptions="End"
IsEnabled="{Binding DisablePrivateVaultPolicyEnabled, Converter={StaticResource inverseBool}}"/>
</StackLayout>
StyleClass="box-footer-label, box-footer-label-switch"
IsVisible="{Binding UseOTPVerification, Converter={StaticResource inverseBool}}"/>
<Button
Text="{u:I18n ExportVault}"
Clicked="ExportVault_Clicked"
HorizontalOptions="Fill"
VerticalOptions="End"
IsEnabled="{Binding DisablePrivateVaultPolicyEnabled, Converter={StaticResource inverseBool}}"/>
</StackLayout>
</StackLayout>
</ScrollView>

View File

@@ -17,7 +17,7 @@ namespace Bit.App.Pages
_vm = BindingContext as ExportVaultPageViewModel;
_vm.Page = this;
_fileFormatPicker.ItemDisplayBinding = new Binding("Value");
MasterPasswordEntry = _masterPassword;
SecretEntry = _secret;
}
protected async override void OnAppearing()
@@ -39,7 +39,7 @@ namespace Bit.App.Pages
});
}
});
RequestFocus(_masterPassword);
RequestFocus(_secret);
}
protected async override void OnDisappearing()
@@ -48,7 +48,7 @@ namespace Bit.App.Pages
_broadcasterService.Unsubscribe(nameof(ExportVaultPage));
}
public Entry MasterPasswordEntry { get; set; }
public Entry SecretEntry { get; set; }
private async void Close_Clicked(object sender, System.EventArgs e)
{
@@ -66,6 +66,15 @@ namespace Bit.App.Pages
}
}
private async void RequestOTP_Clicked(object sender, EventArgs e)
{
if (DoOnce())
{
await _vm.RequestOTP();
_requestOTP.IsEnabled = false;
}
}
void FileFormat_Changed(object sender, EventArgs e)
{
_vm?.UpdateWarning();

View File

@@ -4,11 +4,10 @@ using Bit.App.Resources;
using Bit.Core.Abstractions;
using Bit.Core.Utilities;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
#if !FDROID
using Microsoft.AppCenter.Crashes;
#endif
@@ -21,26 +20,33 @@ namespace Bit.App.Pages
private readonly IDeviceActionService _deviceActionService;
private readonly IPlatformUtilsService _platformUtilsService;
private readonly II18nService _i18nService;
private readonly ICryptoService _cryptoService;
private readonly IExportService _exportService;
private readonly IPolicyService _policyService;
private readonly IKeyConnectorService _keyConnectorService;
private readonly IUserVerificationService _userVerificationService;
private readonly IApiService _apiService;
private int _fileFormatSelectedIndex;
private string _exportWarningMessage;
private bool _showPassword;
private string _masterPassword;
private string _secret;
private byte[] _exportResult;
private string _defaultFilename;
private bool _initialized = false;
private bool _useOTPVerification = false;
private string _secretName;
private string _instructionText;
public ExportVaultPageViewModel()
{
_deviceActionService = ServiceContainer.Resolve<IDeviceActionService>("deviceActionService");
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
_i18nService = ServiceContainer.Resolve<II18nService>("i18nService");
_cryptoService = ServiceContainer.Resolve<ICryptoService>("cryptoService");
_exportService = ServiceContainer.Resolve<IExportService>("exportService");
_policyService = ServiceContainer.Resolve<IPolicyService>("policyService");
_keyConnectorService = ServiceContainer.Resolve<IKeyConnectorService>("keyConnectorService");
_userVerificationService = ServiceContainer.Resolve<IUserVerificationService>("userVerificationService");
_apiService = ServiceContainer.Resolve<IApiService>("apiService");
PageTitle = AppResources.ExportVault;
TogglePasswordCommand = new Command(TogglePassword);
@@ -59,7 +65,19 @@ namespace Bit.App.Pages
_initialized = true;
FileFormatSelectedIndex = FileFormatOptions.FindIndex(k => k.Key == "json");
DisablePrivateVaultPolicyEnabled = await _policyService.PolicyAppliesToUser(PolicyType.DisablePersonalVaultExport);
UseOTPVerification = await _keyConnectorService.GetUsesKeyConnector();
if (UseOTPVerification)
{
InstructionText = _i18nService.T("ExportVaultOTPDescription");
SecretName = _i18nService.T("VerificationCode");
}
else
{
InstructionText = _i18nService.T("ExportVaultMasterPasswordDescription");
SecretName = _i18nService.T("MasterPassword");
}
UpdateWarning();
}
@@ -94,10 +112,28 @@ namespace Bit.App.Pages
additionalPropertyNames: new string[] {nameof(ShowPasswordIcon)});
}
public string MasterPassword
public bool UseOTPVerification
{
get => _masterPassword;
set => SetProperty(ref _masterPassword, value);
get => _useOTPVerification;
set => SetProperty(ref _useOTPVerification, value);
}
public string Secret
{
get => _secret;
set => SetProperty(ref _secret, value);
}
public string SecretName
{
get => _secretName;
set => SetProperty(ref _secretName, value);
}
public string InstructionText
{
get => _instructionText;
set => SetProperty(ref _instructionText, value);
}
public Command TogglePasswordCommand { get; }
@@ -107,27 +143,13 @@ namespace Bit.App.Pages
public void TogglePassword()
{
ShowPassword = !ShowPassword;
(Page as ExportVaultPage).MasterPasswordEntry.Focus();
(Page as ExportVaultPage).SecretEntry.Focus();
}
public Command ExportVaultCommand { get; }
public async Task ExportVaultAsync()
{
if (string.IsNullOrEmpty(_masterPassword))
{
await _platformUtilsService.ShowDialogAsync(_i18nService.T("InvalidMasterPassword"));
return;
}
var passwordValid = await _cryptoService.CompareAndUpdateKeyHashAsync(_masterPassword, null);
MasterPassword = string.Empty;
if (!passwordValid)
{
await _platformUtilsService.ShowDialogAsync(_i18nService.T("InvalidMasterPassword"));
return;
}
bool userConfirmedExport = await _platformUtilsService.ShowDialogAsync(ExportWarningMessage,
_i18nService.T("ExportVaultConfirmationTitle"), _i18nService.T("ExportVault"), _i18nService.T("Cancel"));
@@ -136,6 +158,16 @@ namespace Bit.App.Pages
return;
}
var verificationType = await _keyConnectorService.GetUsesKeyConnector()
? VerificationType.OTP
: VerificationType.MasterPassword;
if (!await _userVerificationService.VerifyUser(Secret, verificationType))
{
return;
}
Secret = string.Empty;
try
{
var data = await _exportService.GetExport(FileFormatOptions[FileFormatSelectedIndex].Key);
@@ -162,6 +194,27 @@ namespace Bit.App.Pages
}
}
public async Task RequestOTP()
{
try
{
await _deviceActionService.ShowLoadingAsync(AppResources.Sending);
await _apiService.PostAccountRequestOTP();
await _deviceActionService.HideLoadingAsync();
_platformUtilsService.ShowToast("success", null, AppResources.CodeSent);
}
catch (ApiException e)
{
await _deviceActionService.HideLoadingAsync();
if (e?.Error != null)
{
await _platformUtilsService.ShowDialogAsync(e.Error.GetSingleMessage(),
AppResources.AnErrorHasOccurred);
}
}
}
public async void SaveFileSelected(string contentUri, string filename)
{
if (_deviceActionService.SaveFile(_exportResult, null, filename ?? _defaultFilename, contentUri))

View File

@@ -1,10 +1,11 @@
using System.ComponentModel;
using Bit.App.Abstractions;
using Bit.App.Resources;
using Bit.Core.Utilities;
using System.Linq;
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.App.Controls;
using Bit.App.Pages.Accounts;
using Bit.App.Resources;
using Bit.Core.Utilities;
using Xamarin.Forms;
namespace Bit.App.Pages
@@ -134,6 +135,10 @@ namespace Bit.App.Pages
{
await _vm.LogOutAsync();
}
else if (item.Name == AppResources.DeleteAccount)
{
await Navigation.PushModalAsync(new NavigationPage(new DeleteAccountPage()));
}
else if (item.Name == AppResources.LockNow)
{
await _vm.LockAsync();

View File

@@ -26,6 +26,9 @@ namespace Bit.App.Pages
private readonly ISyncService _syncService;
private readonly IBiometricService _biometricService;
private readonly IPolicyService _policyService;
private readonly ILocalizeService _localizeService;
private readonly IKeyConnectorService _keyConnectorService;
private readonly IClipboardService _clipboardService;
private const int CustomVaultTimeoutValue = -100;
@@ -35,6 +38,8 @@ namespace Bit.App.Pages
private string _lastSyncDate;
private string _vaultTimeoutDisplayValue;
private string _vaultTimeoutActionDisplayValue;
private bool _showChangeMasterPassword;
private List<KeyValuePair<string, int?>> _vaultTimeouts =
new List<KeyValuePair<string, int?>>
{
@@ -57,7 +62,7 @@ namespace Bit.App.Pages
};
private Policy _vaultTimeoutPolicy;
private int _vaultTimeout;
private int? _vaultTimeout;
public SettingsPageViewModel()
{
@@ -72,6 +77,9 @@ namespace Bit.App.Pages
_syncService = ServiceContainer.Resolve<ISyncService>("syncService");
_biometricService = ServiceContainer.Resolve<IBiometricService>("biometricService");
_policyService = ServiceContainer.Resolve<IPolicyService>("policyService");
_localizeService = ServiceContainer.Resolve<ILocalizeService>("localizeService");
_keyConnectorService = ServiceContainer.Resolve<IKeyConnectorService>("keyConnectorService");
_clipboardService = ServiceContainer.Resolve<IClipboardService>("clipboardService");
GroupedItems = new ExtendedObservableCollection<SettingsPageListGroup>();
PageTitle = AppResources.Settings;
@@ -86,8 +94,9 @@ namespace Bit.App.Pages
if (lastSync != null)
{
lastSync = lastSync.Value.ToLocalTime();
_lastSyncDate = string.Format("{0} {1}", lastSync.Value.ToShortDateString(),
lastSync.Value.ToShortTimeString());
_lastSyncDate = string.Format("{0} {1}",
_localizeService.GetLocaleShortDate(lastSync.Value),
_localizeService.GetLocaleShortTime(lastSync.Value));
}
if (await _policyService.PolicyAppliesToUser(PolicyType.MaximumVaultTimeout))
@@ -113,6 +122,9 @@ namespace Bit.App.Pages
_vaultTimeoutDisplayValue = AppResources.Custom;
}
_showChangeMasterPassword = IncludeLinksWithSubscriptionInfo() &&
!await _keyConnectorService.GetUsesKeyConnector();
BuildList();
}
@@ -125,7 +137,7 @@ namespace Bit.App.Pages
AppResources.Close);
if (copy)
{
await _platformUtilsService.CopyToClipboardAsync(debugText);
await _clipboardService.CopyTextAsync(debugText);
}
}
@@ -220,7 +232,7 @@ namespace Bit.App.Pages
await _vaultTimeoutService.LockAsync(true, true);
}
public async Task VaultTimeoutAsync(bool promptOptions = true, int newTimeout = 0)
public async Task VaultTimeoutAsync(bool promptOptions = true, int? newTimeout = 0)
{
var oldTimeout = _vaultTimeout;
@@ -237,7 +249,7 @@ namespace Bit.App.Pages
var cleanSelection = selection.Replace("✓ ", string.Empty);
var selectionOption = _vaultTimeouts.FirstOrDefault(o => o.Key == cleanSelection);
_vaultTimeoutDisplayValue = selectionOption.Key;
newTimeout = selectionOption.Value.GetValueOrDefault();
newTimeout = selectionOption.Value;
}
if (_vaultTimeoutPolicy != null)
@@ -309,9 +321,13 @@ namespace Bit.App.Pages
AppResources.SetPINDescription, null, AppResources.Submit, AppResources.Cancel, true);
if (!string.IsNullOrWhiteSpace(pin))
{
var masterPassOnRestart = await _platformUtilsService.ShowDialogAsync(
AppResources.PINRequireMasterPasswordRestart, AppResources.UnlockWithPIN,
AppResources.Yes, AppResources.No);
var masterPassOnRestart = false;
if (!await _keyConnectorService.GetUsesKeyConnector())
{
masterPassOnRestart = await _platformUtilsService.ShowDialogAsync(
AppResources.PINRequireMasterPasswordRestart, AppResources.UnlockWithPIN,
AppResources.Yes, AppResources.No);
}
var kdf = await _userService.GetKdfAsync();
var kdfIterations = await _userService.GetKdfIterationsAsync();
@@ -418,25 +434,6 @@ namespace Bit.App.Pages
new SettingsPageListItem { Name = AppResources.LockNow },
new SettingsPageListItem { Name = AppResources.TwoStepLogin }
};
if (_vaultTimeoutDisplayValue == AppResources.Custom)
{
securityItems.Insert(1, new SettingsPageListItem
{
Name = AppResources.Custom,
Time = TimeSpan.FromMinutes(Math.Abs((double) _vaultTimeout)),
});
}
if (_vaultTimeoutPolicy != null)
{
var maximumTimeout = _policyService.GetPolicyInt(_vaultTimeoutPolicy, "minutes").GetValueOrDefault();
securityItems.Insert(0, new SettingsPageListItem
{
Name = string.Format(AppResources.VaultTimeoutPolicyInEffect,
Math.Floor((float) maximumTimeout / 60),
maximumTimeout % 60),
UseFrame = true,
});
}
if (_supportsBiometric || _biometric)
{
var biometricName = AppResources.Biometrics;
@@ -452,12 +449,31 @@ namespace Bit.App.Pages
};
securityItems.Insert(2, item);
}
if (_vaultTimeoutDisplayValue == AppResources.Custom)
{
securityItems.Insert(1, new SettingsPageListItem
{
Name = AppResources.Custom,
Time = TimeSpan.FromMinutes(Math.Abs((double)_vaultTimeout.GetValueOrDefault())),
});
}
if (_vaultTimeoutPolicy != null)
{
var maximumTimeout = _policyService.GetPolicyInt(_vaultTimeoutPolicy, "minutes").GetValueOrDefault();
securityItems.Insert(0, new SettingsPageListItem
{
Name = string.Format(AppResources.VaultTimeoutPolicyInEffect,
Math.Floor((float)maximumTimeout / 60),
maximumTimeout % 60),
UseFrame = true,
});
}
var accountItems = new List<SettingsPageListItem>
{
new SettingsPageListItem { Name = AppResources.FingerprintPhrase },
new SettingsPageListItem { Name = AppResources.LogOut }
};
if (IncludeLinksWithSubscriptionInfo())
if (_showChangeMasterPassword)
{
accountItems.Insert(0, new SettingsPageListItem { Name = AppResources.ChangeMasterPassword });
}
@@ -476,7 +492,8 @@ namespace Bit.App.Pages
new SettingsPageListItem { Name = AppResources.Options },
new SettingsPageListItem { Name = AppResources.About },
new SettingsPageListItem { Name = AppResources.HelpAndFeedback },
new SettingsPageListItem { Name = AppResources.RateTheApp }
new SettingsPageListItem { Name = AppResources.RateTheApp },
new SettingsPageListItem { Name = AppResources.DeleteAccount }
};
GroupedItems.ResetWithRange(new List<SettingsPageListGroup>
{

View File

@@ -14,6 +14,7 @@ namespace Bit.App.Pages
private readonly IPlatformUtilsService _platformUtilsService;
private readonly IStorageService _storageService;
private readonly ISyncService _syncService;
private readonly ILocalizeService _localizeService;
private string _lastSync = "--";
private bool _inited;
@@ -25,6 +26,7 @@ namespace Bit.App.Pages
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
_storageService = ServiceContainer.Resolve<IStorageService>("storageService");
_syncService = ServiceContainer.Resolve<ISyncService>("syncService");
_localizeService = ServiceContainer.Resolve<ILocalizeService>("localizeService");
PageTitle = AppResources.Sync;
}
@@ -68,7 +70,9 @@ namespace Bit.App.Pages
if (last != null)
{
var localDate = last.Value.ToLocalTime();
LastSync = string.Format("{0} {1}", localDate.ToShortDateString(), localDate.ToShortTimeString());
LastSync = string.Format("{0} {1}",
_localizeService.GetLocaleShortDate(localDate),
_localizeService.GetLocaleShortTime(localDate));
}
else
{

View File

@@ -10,6 +10,7 @@ namespace Bit.App.Pages
public class TabsPage : TabbedPage
{
private readonly IMessagingService _messagingService;
private readonly IKeyConnectorService _keyConnectorService;
private NavigationPage _groupingsPage;
private NavigationPage _sendGroupingsPage;
@@ -18,6 +19,7 @@ namespace Bit.App.Pages
public TabsPage(AppOptions appOptions = null, PreviousPageInfo previousPage = null)
{
_messagingService = ServiceContainer.Resolve<IMessagingService>("messagingService");
_keyConnectorService = ServiceContainer.Resolve<IKeyConnectorService>("keyConnectorService");
_groupingsPage = new NavigationPage(new GroupingsPage(true, previousPage: previousPage))
{
@@ -72,6 +74,15 @@ namespace Bit.App.Pages
}
}
protected override async void OnAppearing()
{
base.OnAppearing();
if (await _keyConnectorService.UserNeedsMigration())
{
_messagingService.Send("convertAccountToKeyConnector");
}
}
public void ResetToVaultPage()
{
CurrentPage = _groupingsPage;

View File

@@ -7,6 +7,8 @@
xmlns:u="clr-namespace:Bit.App.Utilities"
xmlns:controls="clr-namespace:Bit.App.Controls"
xmlns:views="clr-namespace:Bit.Core.Models.View;assembly=BitwardenCore"
xmlns:behaviors="clr-namespace:Bit.App.Behaviors"
xmlns:effects="clr-namespace:Bit.App.Effects"
x:DataType="pages:AddEditPageViewModel"
x:Name="_page"
Title="{Binding PageTitle}">
@@ -239,7 +241,6 @@
StyleClass="box-value"
Grid.Row="1"
Grid.Column="0"
Keyboard="Numeric"
IsPassword="{Binding ShowCardNumber, Converter={StaticResource inverseBool}}"
IsSpellCheckEnabled="False"
IsTextPredictionEnabled="False" />
@@ -555,7 +556,7 @@
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<StackLayout StyleClass="box-row, box-row-switch">
<StackLayout x:Name="_passwordPrompt" StyleClass="box-row, box-row-switch">
<Label
Text="{u:I18n PasswordPrompt}"
StyleClass="box-label-regular" />
@@ -584,8 +585,16 @@
<Editor
x:Name="_notesEditor"
AutoSize="TextChanges"
Text="{Binding Cipher.Notes}"
StyleClass="box-value" />
StyleClass="box-value"
effects:ScrollEnabledEffect.IsScrollEnabled="false"
Text="{Binding Cipher.Notes}">
<Editor.Behaviors>
<behaviors:EditorPreventAutoBottomScrollingOnFocusedBehavior ParentScrollView="{x:Reference _scrollView}" />
</Editor.Behaviors>
<Editor.Effects>
<effects:ScrollEnabledEffect />
</Editor.Effects>
</Editor>
</StackLayout>
<BoxView StyleClass="box-row-separator" IsVisible="{Binding ShowNotesSeparator}" />
</StackLayout>
@@ -647,6 +656,16 @@
</Keyboard>
</Entry.Keyboard>
</controls:MonoEntry>
<StackLayout
StyleClass="box-row, box-row-input"
IsVisible="{Binding IsLinkedType}">
<Picker
x:Name="_linkedFieldOptionPicker"
ItemsSource="{Binding LinkedFieldOptions, Mode=OneTime}"
SelectedIndex="{Binding LinkedFieldOptionSelectedIndex}"
ItemDisplayBinding="{Binding Key}"
StyleClass="box-value" />
</StackLayout>
<Switch
IsToggled="{Binding BooleanValue}"
Grid.Row="0"

View File

@@ -21,6 +21,7 @@ namespace Bit.App.Pages
private readonly IStorageService _storageService;
private readonly IDeviceActionService _deviceActionService;
private readonly IVaultTimeoutService _vaultTimeoutService;
private readonly IKeyConnectorService _keyConnectorService;
private AddEditPageViewModel _vm;
private bool _fromAutofill;
@@ -40,6 +41,8 @@ namespace Bit.App.Pages
_storageService = ServiceContainer.Resolve<IStorageService>("storageService");
_deviceActionService = ServiceContainer.Resolve<IDeviceActionService>("deviceActionService");
_vaultTimeoutService = ServiceContainer.Resolve<IVaultTimeoutService>("vaultTimeoutService");
_keyConnectorService = ServiceContainer.Resolve<IKeyConnectorService>("keyConnectorService");
_appOptions = appOptions;
_fromAutofill = fromAutofill;
FromAutofillFramework = _appOptions?.FromAutofillFramework ?? false;
@@ -171,6 +174,8 @@ namespace Bit.App.Pages
}
_scrollView.Scrolled += (sender, args) => _vm.HandleScroll();
});
// Hide password reprompt option if using key connector
_passwordPrompt.IsVisible = !await _keyConnectorService.GetUsesKeyConnector();
}
protected override void OnDisappearing()

View File

@@ -64,13 +64,6 @@ namespace Bit.App.Pages
new KeyValuePair<UriMatchType?, string>(UriMatchType.Exact, AppResources.Exact),
new KeyValuePair<UriMatchType?, string>(UriMatchType.Never, AppResources.Never)
};
private List<KeyValuePair<FieldType, string>> _fieldTypeOptions =
new List<KeyValuePair<FieldType, string>>
{
new KeyValuePair<FieldType, string>(FieldType.Text, AppResources.FieldTypeText),
new KeyValuePair<FieldType, string>(FieldType.Hidden, AppResources.FieldTypeHidden),
new KeyValuePair<FieldType, string>(FieldType.Boolean, AppResources.FieldTypeBoolean)
};
public AddEditPageViewModel()
{
@@ -667,8 +660,20 @@ namespace Bit.App.Pages
public async void AddField()
{
var fieldTypeOptions = new List<KeyValuePair<FieldType, string>>
{
new KeyValuePair<FieldType, string>(FieldType.Text, AppResources.FieldTypeText),
new KeyValuePair<FieldType, string>(FieldType.Hidden, AppResources.FieldTypeHidden),
new KeyValuePair<FieldType, string>(FieldType.Boolean, AppResources.FieldTypeBoolean),
};
if (Cipher.LinkedFieldOptions != null)
{
fieldTypeOptions.Add(new KeyValuePair<FieldType, string>(FieldType.Linked, AppResources.FieldTypeLinked));
}
var typeSelection = await Page.DisplayActionSheet(AppResources.SelectTypeField, AppResources.Cancel, null,
_fieldTypeOptions.Select(f => f.Value).ToArray());
fieldTypeOptions.Select(f => f.Value).ToArray());
if (typeSelection != null && typeSelection != AppResources.Cancel)
{
var name = await _deviceActionService.DisplayPromptAync(AppResources.CustomFieldName);
@@ -680,7 +685,7 @@ namespace Bit.App.Pages
{
Fields = new ExtendedObservableCollection<AddEditPageFieldViewModel>();
}
var type = _fieldTypeOptions.FirstOrDefault(f => f.Value == typeSelection).Key;
var type = fieldTypeOptions.FirstOrDefault(f => f.Value == typeSelection).Key;
Fields.Add(new AddEditPageFieldViewModel(Cipher, new FieldView
{
Type = type,
@@ -746,6 +751,12 @@ namespace Bit.App.Pages
{
Cipher.Type = TypeOptions[TypeSelectedIndex].Value;
TriggerCipherChanged();
// Linked Custom Fields only apply to a specific item type
foreach (var field in Fields.Where(f => f.IsLinkedType).ToList())
{
Fields.Remove(field);
}
}
}
@@ -850,23 +861,29 @@ namespace Bit.App.Pages
public class AddEditPageFieldViewModel : ExtendedViewModel
{
private II18nService _i18nService;
private FieldView _field;
private CipherView _cipher;
private bool _showHiddenValue;
private bool _booleanValue;
private int _linkedFieldOptionSelectedIndex;
private string[] _additionalFieldProperties = new string[]
{
nameof(IsBooleanType),
nameof(IsHiddenType),
nameof(IsTextType),
nameof(IsLinkedType),
};
public AddEditPageFieldViewModel(CipherView cipher, FieldView field)
{
_i18nService = ServiceContainer.Resolve<II18nService>("i18nService");
_cipher = cipher;
Field = field;
ToggleHiddenValueCommand = new Command(ToggleHiddenValue);
BooleanValue = IsBooleanType && field.Value == "true";
LinkedFieldOptionSelectedIndex = !Field.LinkedId.HasValue ? 0 :
LinkedFieldOptions.FindIndex(lfo => lfo.Value == Field.LinkedId.Value);
}
public FieldView Field
@@ -898,12 +915,32 @@ namespace Bit.App.Pages
}
}
public int LinkedFieldOptionSelectedIndex
{
get => _linkedFieldOptionSelectedIndex;
set
{
if (SetProperty(ref _linkedFieldOptionSelectedIndex, value))
{
LinkedFieldValueChanged();
}
}
}
public List<KeyValuePair<string, LinkedIdType>> LinkedFieldOptions
{
get => _cipher.LinkedFieldOptions?
.Select(kvp => new KeyValuePair<string, LinkedIdType>(_i18nService.T(kvp.Key), kvp.Value))
.ToList();
}
public Command ToggleHiddenValueCommand { get; set; }
public string ShowHiddenValueIcon => _showHiddenValue ? "" : "";
public bool IsTextType => _field.Type == FieldType.Text;
public bool IsBooleanType => _field.Type == FieldType.Boolean;
public bool IsHiddenType => _field.Type == FieldType.Hidden;
public bool IsLinkedType => _field.Type == FieldType.Linked;
public bool ShowViewHidden => IsHiddenType && (_cipher.ViewPassword || _field.NewField);
public void ToggleHiddenValue()
@@ -920,5 +957,14 @@ namespace Bit.App.Pages
{
TriggerPropertyChanged(nameof(Field), _additionalFieldProperties);
}
private void LinkedFieldValueChanged()
{
if (Field != null && LinkedFieldOptionSelectedIndex > -1)
{
Field.LinkedId = LinkedFieldOptions.Find(lfo =>
lfo.Value == LinkedFieldOptions[LinkedFieldOptionSelectedIndex].Value).Value;
}
}
}
}

View File

@@ -17,7 +17,6 @@
<ContentPage.Resources>
<ResourceDictionary>
<u:DateTimeConverter x:Key="dateTime" />
<ToolbarItem Text="{u:I18n Close}" Clicked="Close_Clicked" Order="Primary" Priority="-1"
x:Name="_closeItem" x:Key="closeItem" />
<StackLayout

View File

@@ -234,7 +234,7 @@ namespace Bit.App.Pages
{
var page = new CiphersPage(_vm.Filter, _vm.FolderId != null, _vm.CollectionId != null,
_vm.Type != null, deleted: _vm.Deleted);
await Navigation.PushModalAsync(new NavigationPage(page), false);
await Navigation.PushModalAsync(new NavigationPage(page));
}
}

View File

@@ -59,8 +59,7 @@
<controls:MonoLabel LineBreakMode="CharacterWrap"
Grid.Column="0"
Grid.Row="0"
StyleClass="list-title, list-title-platform"
TextType="Html"
StyleClass="list-title, list-title-platform, text-html"
Text="{Binding Password, Mode=OneWay, Converter={StaticResource coloredPassword}}" />
<Label LineBreakMode="TailTruncation"
Grid.Column="0"

View File

@@ -12,6 +12,7 @@ namespace Bit.App.Pages
{
private readonly IPlatformUtilsService _platformUtilsService;
private readonly ICipherService _cipherService;
private readonly IClipboardService _clipboardService;
private bool _showNoData;
@@ -19,6 +20,7 @@ namespace Bit.App.Pages
{
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
_cipherService = ServiceContainer.Resolve<ICipherService>("cipherService");
_clipboardService = ServiceContainer.Resolve<IClipboardService>("clipboardService");
PageTitle = AppResources.PasswordHistory;
History = new ExtendedObservableCollection<PasswordHistoryView>();
@@ -45,7 +47,7 @@ namespace Bit.App.Pages
private async void CopyAsync(PasswordHistoryView ph)
{
await _platformUtilsService.CopyToClipboardAsync(ph.Password);
await _clipboardService.CopyTextAsync(ph.Password);
_platformUtilsService.ShowToast("info", null,
string.Format(AppResources.ValueHasBeenCopied, AppResources.Password));
}

View File

@@ -120,8 +120,7 @@
IsVisible="{Binding ShowPassword, Converter={StaticResource inverseBool}}" />
<controls:MonoLabel
Text="{Binding ColoredPassword, Mode=OneWay}"
TextType="Html"
StyleClass="box-value"
StyleClass="box-value, text-html"
Grid.Row="1"
Grid.Column="0"
LineBreakMode="CharacterWrap"
@@ -562,6 +561,12 @@
Grid.Row="1"
Grid.Column="0"
IsVisible="{Binding IsTextType}" />
<controls:FaLabel
Text="{Binding ValueText, Mode=OneWay}"
StyleClass="box-value"
Grid.Row="1"
Grid.Column="0"
IsVisible="{Binding IsLinkedType}" />
<controls:FaLabel
Text="{Binding ValueText, Mode=OneWay}"
StyleClass="box-value"

View File

@@ -1,4 +1,8 @@
using Bit.App.Abstractions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.App.Resources;
using Bit.App.Utilities;
using Bit.Core.Abstractions;
@@ -6,10 +10,6 @@ using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.View;
using Bit.Core.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace Bit.App.Pages
@@ -25,6 +25,9 @@ namespace Bit.App.Pages
private readonly IMessagingService _messagingService;
private readonly IEventService _eventService;
private readonly IPasswordRepromptService _passwordRepromptService;
private readonly ILocalizeService _localizeService;
private readonly IClipboardService _clipboardService;
private CipherView _cipher;
private List<ViewPageFieldViewModel> _fields;
private bool _canAccessPremium;
@@ -52,6 +55,9 @@ namespace Bit.App.Pages
_messagingService = ServiceContainer.Resolve<IMessagingService>("messagingService");
_eventService = ServiceContainer.Resolve<IEventService>("eventService");
_passwordRepromptService = ServiceContainer.Resolve<IPasswordRepromptService>("passwordRepromptService");
_localizeService = ServiceContainer.Resolve<ILocalizeService>("localizeService");
_clipboardService = ServiceContainer.Resolve<IClipboardService>("clipboardService");
CopyCommand = new Command<string>((id) => CopyAsync(id, null));
CopyUriCommand = new Command<LoginUriView>(CopyUri);
CopyFieldCommand = new Command<FieldView>(CopyField);
@@ -152,8 +158,8 @@ namespace Bit.App.Pages
fs.Spans.Add(new Span
{
Text = string.Format(" {0} {1}",
Cipher.RevisionDate.ToLocalTime().ToShortDateString(),
Cipher.RevisionDate.ToLocalTime().ToShortTimeString())
_localizeService.GetLocaleShortDate(Cipher.RevisionDate.ToLocalTime()),
_localizeService.GetLocaleShortTime(Cipher.RevisionDate.ToLocalTime()))
});
return fs;
}
@@ -171,8 +177,8 @@ namespace Bit.App.Pages
fs.Spans.Add(new Span
{
Text = string.Format(" {0} {1}",
Cipher.PasswordRevisionDisplayDate?.ToLocalTime().ToShortDateString(),
Cipher.PasswordRevisionDisplayDate?.ToLocalTime().ToShortTimeString())
_localizeService.GetLocaleShortDate(Cipher.PasswordRevisionDisplayDate?.ToLocalTime()),
_localizeService.GetLocaleShortTime(Cipher.PasswordRevisionDisplayDate?.ToLocalTime()))
});
return fs;
}
@@ -651,7 +657,7 @@ namespace Bit.App.Pages
if (text != null)
{
await _platformUtilsService.CopyToClipboardAsync(text);
await _clipboardService.CopyTextAsync(text);
if (!string.IsNullOrWhiteSpace(name))
{
_platformUtilsService.ShowToast("info", null, string.Format(AppResources.ValueHasBeenCopied, name));
@@ -702,6 +708,7 @@ namespace Bit.App.Pages
public class ViewPageFieldViewModel : ExtendedViewModel
{
private II18nService _i18nService;
private ViewPageViewModel _vm;
private FieldView _field;
private CipherView _cipher;
@@ -709,6 +716,7 @@ namespace Bit.App.Pages
public ViewPageFieldViewModel(ViewPageViewModel vm, CipherView cipher, FieldView field)
{
_i18nService = ServiceContainer.Resolve<II18nService>("i18nService");
_vm = vm;
_cipher = cipher;
Field = field;
@@ -739,16 +747,38 @@ namespace Bit.App.Pages
});
}
public string ValueText
{
get
{
if (IsBooleanType)
{
return _field.Value == "true" ? "" : "";
}
else if (IsLinkedType)
{
var i18nKey = _cipher.LinkedFieldI18nKey(Field.LinkedId.GetValueOrDefault());
return " " + _i18nService.T(i18nKey);
}
else
{
return _field.Value;
}
}
}
public Command ToggleHiddenValueCommand { get; set; }
public string ValueText => IsBooleanType ? (_field.Value == "true" ? "" : "") : _field.Value;
public string ShowHiddenValueIcon => _showHiddenValue ? "" : "";
public bool IsTextType => _field.Type == Core.Enums.FieldType.Text;
public bool IsBooleanType => _field.Type == Core.Enums.FieldType.Boolean;
public bool IsHiddenType => _field.Type == Core.Enums.FieldType.Hidden;
public bool IsLinkedType => _field.Type == Core.Enums.FieldType.Linked;
public bool ShowViewHidden => IsHiddenType && _cipher.ViewPassword;
public bool ShowCopyButton => _field.Type != Core.Enums.FieldType.Boolean &&
!string.IsNullOrWhiteSpace(_field.Value) && !(IsHiddenType && !_cipher.ViewPassword);
!string.IsNullOrWhiteSpace(_field.Value) &&
!(IsHiddenType && !_cipher.ViewPassword) &&
_field.Type != FieldType.Linked;
public async void ToggleHiddenValue()
{

View File

@@ -1,6 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -9,9 +10,10 @@
namespace Bit.App.Resources {
using System;
using System.Reflection;
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class AppResources {
@@ -1779,6 +1781,12 @@ namespace Bit.App.Resources {
}
}
public static string FullName {
get {
return ResourceManager.GetString("FullName", resourceCulture);
}
}
public static string LicenseNumber {
get {
return ResourceManager.GetString("LicenseNumber", resourceCulture);
@@ -2025,6 +2033,12 @@ namespace Bit.App.Resources {
}
}
public static string FieldTypeLinked {
get {
return ResourceManager.GetString("FieldTypeLinked", resourceCulture);
}
}
public static string FieldTypeText {
get {
return ResourceManager.GetString("FieldTypeText", resourceCulture);
@@ -2529,6 +2543,12 @@ namespace Bit.App.Resources {
}
}
public static string UnlockVault {
get {
return ResourceManager.GetString("UnlockVault", resourceCulture);
}
}
public static string ThirtyMinutes {
get {
return ResourceManager.GetString("ThirtyMinutes", resourceCulture);
@@ -2559,6 +2579,12 @@ namespace Bit.App.Resources {
}
}
public static string VaultLockedIdentity {
get {
return ResourceManager.GetString("VaultLockedIdentity", resourceCulture);
}
}
public static string Dark {
get {
return ResourceManager.GetString("Dark", resourceCulture);
@@ -2823,6 +2849,24 @@ namespace Bit.App.Resources {
}
}
public static string SendVerificationCodeToEmail {
get {
return ResourceManager.GetString("SendVerificationCodeToEmail", resourceCulture);
}
}
public static string CodeSent {
get {
return ResourceManager.GetString("CodeSent", resourceCulture);
}
}
public static string ConfirmYourIdentity {
get {
return ResourceManager.GetString("ConfirmYourIdentity", resourceCulture);
}
}
public static string ExportVaultWarning {
get {
return ResourceManager.GetString("ExportVaultWarning", resourceCulture);
@@ -3585,6 +3629,36 @@ namespace Bit.App.Resources {
}
}
public static string RemoveMasterPassword {
get {
return ResourceManager.GetString("RemoveMasterPassword", resourceCulture);
}
}
public static string RemoveMasterPasswordWarning {
get {
return ResourceManager.GetString("RemoveMasterPasswordWarning", resourceCulture);
}
}
public static string RemoveMasterPasswordWarning2 {
get {
return ResourceManager.GetString("RemoveMasterPasswordWarning2", resourceCulture);
}
}
public static string LeaveOrganization {
get {
return ResourceManager.GetString("LeaveOrganization", resourceCulture);
}
}
public static string LeaveOrganizationName {
get {
return ResourceManager.GetString("LeaveOrganizationName", resourceCulture);
}
}
public static string Fido2Title {
get {
return ResourceManager.GetString("Fido2Title", resourceCulture);
@@ -3609,6 +3683,12 @@ namespace Bit.App.Resources {
}
}
public static string Fido2ReturnToApp {
get {
return ResourceManager.GetString("Fido2ReturnToApp", resourceCulture);
}
}
public static string Fido2CheckBrowser {
get {
return ResourceManager.GetString("Fido2CheckBrowser", resourceCulture);
@@ -3638,5 +3718,53 @@ namespace Bit.App.Resources {
return ResourceManager.GetString("DisablePersonalVaultExportPolicyInEffect", resourceCulture);
}
}
public static string DeleteAccount {
get {
return ResourceManager.GetString("DeleteAccount", resourceCulture);
}
}
public static string DeletingYourAccountIsPermanent {
get {
return ResourceManager.GetString("DeletingYourAccountIsPermanent", resourceCulture);
}
}
public static string DeleteAccountExplanation {
get {
return ResourceManager.GetString("DeleteAccountExplanation", resourceCulture);
}
}
public static string DeletingYourAccount {
get {
return ResourceManager.GetString("DeletingYourAccount", resourceCulture);
}
}
public static string YourAccountHasBeenPermanentlyDeleted {
get {
return ResourceManager.GetString("YourAccountHasBeenPermanentlyDeleted", resourceCulture);
}
}
public static string InvalidVerificationCode {
get {
return ResourceManager.GetString("InvalidVerificationCode", resourceCulture);
}
}
public static string SendCode {
get {
return ResourceManager.GetString("SendCode", resourceCulture);
}
}
public static string Sending {
get {
return ResourceManager.GetString("Sending", resourceCulture);
}
}
}
}

View File

@@ -310,6 +310,9 @@
<value>Bewaar</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Skuif</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Bewaar tans…</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>U soek na n outovulitem vir “{0}”.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Deel u kluis</value>
<data name="LearnOrg" xml:space="preserve">
<value>Meer oor organisasies</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Kan nie die toep “{0}” open nie.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Van</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Volle naam</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Lisensienommer</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Versteek</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Gekoppel</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Teks</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Daar is geen versamelings om te lys nie.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} geskuif na {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item is gedeel.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Deel Item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Skuif na organisasie</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Geen organisasies om te lys nie.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Kies n organisasie waarmee u hierdie item wil deel. Deur te deel kry die organisasie die einaarskap van die item. U is dan nie meer die direkte eienaar van die item wanneer dit gedeel is nie.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Kies n organisasie waarheen u hierdie item wil skuif. Deur te skuif kry die organisasie die einaarskap van die item. U is dan nie meer die direkte eienaar van die item wanneer dit geskuif is nie.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Aantal woorde</value>
@@ -1424,8 +1440,8 @@
<value>U rekening se vingerafdrukfrase</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Met n organisasierekening kan u n Bitwarden-kluis met ander deel. Wil u na bitwarden.com se webwerf gaan om meer hieroor te leer?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Met n organisasierekening kan u u Bitwarden-kluisitems met ander deel. Wil u na bitwarden.com se webwerf gaan om meer hieroor te leer?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Stuur kluis uit</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Ontgrendel</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Ontgrendel kluis</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minute</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>U kluis is vergrendel. Verifieer u PIN-kode om voort te gaan.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>U kluis is vergrendel. Bevestig u identiteit om voort te gaan.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Donker</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Verander die toepassing se kleurtema.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Vereis herbegin.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Herbegin…</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Verstek (Stelsel)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Kopieer notas</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Voer u hoofwagwoord in om u kluisdata uit te stuur.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Stuur n bevestigingskode na u e-pos</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Kode verstuur!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Bevestig u identiteit om voort te gaan.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Hierdie uitstuur bevat u kluisdata in n ongeënkripteerde formaat. U behoort dit nie oor onbeveiligde kanale (soos e-pos) te bewaar of verstuur nie. Skrap dit sodra u dit klaar gebruik het.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Hierdie aksie is beskerm. Voer u hoofwagwoord in om u identiteit te bevestig om voort te gaan.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha vereis</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha het misluk. Probeer weer.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Hoofwagwoord bygewerk</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Werk hoofwagwoord by</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>U hoofwagwoord is onlangs deur n administrateur in u organisasie verander. Om toegang tot u kluis te verkry moet u u hoofwagwoord nóú bywerk. Deur voort te gaan word u uit u huidige sessie geteken, waarna u weer sal moet aanteken. Aktiewe sessies op ander toestelle kan vir tot n uur steeds aktief bly.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Wagwoord word bygewerk</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Kan nie tans u wagwoord bywerk nie</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Verwyder hoofwagwoord</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} gebruik SSO met klantbestuurde enkripsie. Deur voort te gaan word u hoofwagwoord van u rekening verwyder en word SSO vereis om aan te teken.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Indien u nie u hoofwagwoord wil verwyder nie, kan u hierdie organisasie verlaat.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Verlaat organisasie</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Verlaat {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Om voort te gaan moet u FIDO2 WebAuthn-geaktiveerde sekerheidsleutel gereed wees, volg dan die instruksies nadat u op Waarmerk Webauthn op die volgende skerm geklik het.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Waarmerking m.b.v. FIDO2 WebAuthn, u kan waarmerk m.b.v. n eksterne sekerheidsleutel.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Waarmerk WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Terug na die toep</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Maak seker u verstekwebblaaier ondersteun WebAuthn en probeer weer.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Hierdie organisasie het n ondernemingsbeleid wat u outomaties inskryf in die terugstel van u wagwoord. Inskrywing stel organisasiebeheerders in staat om u hoofwagwoord te wysig.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>U organisasiebeleide beïnvloed u kluisuitelling. Maksimum toegelate kluisuittelling is {0} uur en {1} minuut(e).</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>U kluisuittelling oorskry die beperkinge wat deur u organisasie daargestel is.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Een of meer organisasiebeleide verhoed u om u persoonlike kluis uit te stuur.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Skrap rekening</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Die skrap van u rekening is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>U rekening en alle bybehorende data sal geskrap en onherwinbaar word. Is u seker u wil voortgaan?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>U rekening word geskrap</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>U rekening is permanent geskrap</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Ongeldige bevestigingskode.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Verstuur kode</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Verstuur</value>
</data>
</root>

View File

@@ -128,7 +128,7 @@
<value>Qovluq əlavə et</value>
</data>
<data name="AddItem" xml:space="preserve">
<value>Element əlavə et</value>
<value>Maddə əlavə edin</value>
<comment>The title for the add item page.</comment>
</data>
<data name="AnErrorHasOccurred" xml:space="preserve">
@@ -144,7 +144,7 @@
<comment>App name. Shouldn't ever change.</comment>
</data>
<data name="Cancel" xml:space="preserve">
<value>İmtina</value>
<value>Ləğv et</value>
<comment>Cancel an operation.</comment>
</data>
<data name="Copy" xml:space="preserve">
@@ -152,11 +152,11 @@
<comment>Copy some value to your clipboard.</comment>
</data>
<data name="CopyPassword" xml:space="preserve">
<value>Şifrəni kopyala</value>
<value>Parolu kopyala</value>
<comment>The button text that allows a user to copy the login's password to their clipboard.</comment>
</data>
<data name="CopyUsername" xml:space="preserve">
<value>İstifadəçi adını kopyala</value>
<value>İstifadəçi adını kopyalayın</value>
<comment>The button text that allows a user to copy the login's username to their clipboard.</comment>
</data>
<data name="Credits" xml:space="preserve">
@@ -176,7 +176,7 @@
<comment>Confirmation alert message when deleteing something.</comment>
</data>
<data name="Edit" xml:space="preserve">
<value>Düzəliş et</value>
<value>Redaktə edin</value>
</data>
<data name="EditFolder" xml:space="preserve">
<value>Qovluğa düzəliş et</value>
@@ -251,7 +251,7 @@
<comment>Title for the alert when internet connection is required to continue.</comment>
</data>
<data name="InvalidMasterPassword" xml:space="preserve">
<value>Etibarsız ana şifrə. Yenidən sınayın.</value>
<value>Etibarsız ana parol. Yenidən sınayın.</value>
</data>
<data name="InvalidPIN" xml:space="preserve">
<value>Etibarsız PIN. Yenidən sınayın.</value>
@@ -276,7 +276,7 @@
<value>Çıxış etmək istədiyinizə əminsiniz?</value>
</data>
<data name="MasterPassword" xml:space="preserve">
<value>Ana şifrə</value>
<value>Ana parol</value>
<comment>Label for a master password.</comment>
</data>
<data name="More" xml:space="preserve">
@@ -303,13 +303,16 @@
<comment>Acknowledgement.</comment>
</data>
<data name="Password" xml:space="preserve">
<value>Şifrə</value>
<value>Parol</value>
<comment>Label for a password.</comment>
</data>
<data name="Save" xml:space="preserve">
<value>Saxla</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Daşı</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Saxlanılır...</value>
<comment>Message shown when interacting with the server</comment>
@@ -363,7 +366,7 @@
<value>Barmaq izini təsdiqlə</value>
</data>
<data name="VerifyMasterPassword" xml:space="preserve">
<value>Ana şifrəni təsdiqlə</value>
<value>Ana parolu təsdiqlə</value>
</data>
<data name="VerifyPIN" xml:space="preserve">
<value>PIN-i təsdiqlə</value>
@@ -430,10 +433,10 @@
<value>E-poçt ünvanınızı bitwarden.com veb anbarında dəyişdirə bilərsiniz. İndi saytı ziyarət etmək istəyirsiniz?</value>
</data>
<data name="ChangeMasterPassword" xml:space="preserve">
<value>Ana şifrəni dəyişdir</value>
<value>Ana parolu dəyişdir</value>
</data>
<data name="ChangePasswordConfirmation" xml:space="preserve">
<value>Ana şifrənizi bitwarden.com veb anbarında dəyişdirə bilərsiniz. İndi saytı ziyarət etmək istəyirsiniz?</value>
<value>Ana parolunuzu bitwarden.com veb anbarında dəyişdirə bilərsiniz. İndi saytı ziyarət etmək istəyirsiniz?</value>
</data>
<data name="Close" xml:space="preserve">
<value>Bağla</value>
@@ -455,7 +458,7 @@
<value>Avto-eyniləşdirməni fəallaşdır</value>
</data>
<data name="EnterEmailForHint" xml:space="preserve">
<value>Ana şifrə məsləhətini alacağınız hesabınızın e-poçt ünvanını daxil edin.</value>
<value>Ana parol məsləhətini alacağınız hesabınızın e-poçt ünvanını daxil edin.</value>
</data>
<data name="ExntesionReenable" xml:space="preserve">
<value>Tətbiq genişləndirməsini təkrar fəallaşdır</value>
@@ -471,7 +474,7 @@
<comment>Safari is the name of apple's web browser</comment>
</data>
<data name="ExtensionInstantAccess" xml:space="preserve">
<value>Şifrələrinizə dərhal müraciət edin!</value>
<value>Parollarınıza dərhal müraciət edin!</value>
</data>
<data name="ExtensionReady" xml:space="preserve">
<value>Giriş etmək üçün hazırsınız!</value>
@@ -495,10 +498,10 @@
<value>Barmaq izi</value>
</data>
<data name="GeneratePassword" xml:space="preserve">
<value>Şifrə yarat</value>
<value>Parol yarat</value>
</data>
<data name="GetPasswordHint" xml:space="preserve">
<value>Ana şifrə üçün məsləhət alın</value>
<value>Ana parolunuz üçün məsləhət alın</value>
</data>
<data name="ImportItems" xml:space="preserve">
<value>Elementləri idxal et</value>
@@ -507,7 +510,7 @@
<value>bitwarden.com veb anbarından elementləri toplu formada idxal edə bilərsiniz. Veb saytı indi ziyarət etmək istəyirsiniz?</value>
</data>
<data name="ImportItemsDescription" xml:space="preserve">
<value>Digər şifrə idarəetmə tətbiqlərindəki elementləri cəld və toplu formada idxal edin.</value>
<value>Digər parol idarəetmə tətbiqlərindəki elementləri cəld və toplu formada idxal edin.</value>
</data>
<data name="LastSync" xml:space="preserve">
<value>Son eyniləşdirmə:</value>
@@ -553,19 +556,19 @@
<value>İdarə et</value>
</data>
<data name="MasterPasswordConfirmationValMessage" xml:space="preserve">
<value>Şifrə təsdiqləmə doğru deyil.</value>
<value>Parol təsdiqləmə doğru deyil.</value>
</data>
<data name="MasterPasswordDescription" xml:space="preserve">
<value>Ana şifrə, anbarınıza müraciət etmək üçün istifadə edəcəyiniz şifrədir. Ana şifrəni yadda saxlamaq çox vacibdir. Unutsanız, şifrəni bərpa etməyin heç bir yolu yoxdur.</value>
<value>Ana parol, anbarınıza müraciət etmək üçün istifadə edəcəyiniz şifrədir. Ana parolu yadda saxlamaq çox vacibdir. Unutsanız, parolu bərpa etməyin heç bir yolu yoxdur.</value>
</data>
<data name="MasterPasswordHint" xml:space="preserve">
<value>Ana şifrə məsləhəti (ixtiyari)</value>
<value>Ana parol məsləhəti (ixtiyari)</value>
</data>
<data name="MasterPasswordHintDescription" xml:space="preserve">
<value>Ana şifrə məsləhəti, unutduğunuz şifrənizi xatırlamağınıza kömək edir.</value>
<value>Ana parol məsləhəti, unutduğunuz parolu xatırlamağınıza kömək edir.</value>
</data>
<data name="MasterPasswordLengthValMessage" xml:space="preserve">
<value>Ana şifrə ən azı 8 simvol uzunluğunda olmalıdır.</value>
<value>Ana parol ən azı 8 simvol uzunluğunda olmalıdır.</value>
</data>
<data name="MinNumbers" xml:space="preserve">
<value>Minimum rəqəm</value>
@@ -597,14 +600,14 @@
<value>Anbarınızda bu veb sayt/tətbiq üçün heç bir element yoxdur. Əlavə etmək üçün toxunun.</value>
</data>
<data name="NoUsernamePasswordConfigured" xml:space="preserve">
<value>Bu hesaba aid istifadəçi adı və ya şifrə yoxdur.</value>
<value>Bu hesaba aid istifadəçi adı və ya parol yoxdur.</value>
</data>
<data name="OkGotIt" xml:space="preserve">
<value>Yaxşı, anladım!</value>
<comment>Confirmation, like "Ok, I understand it"</comment>
</data>
<data name="OptionDefaults" xml:space="preserve">
<value>İlkin tənzimləmələr, əsas Bitwarden tətbiqinin şifrə yaratma alətindən tənzimlənir.</value>
<value>İlkin tənzimləmələr, əsas Bitwarden tətbiqinin parol yaratma alətindən tənzimlənir.</value>
</data>
<data name="Options" xml:space="preserve">
<value>Seçimlər</value>
@@ -613,19 +616,19 @@
<value>Digər</value>
</data>
<data name="PasswordGenerated" xml:space="preserve">
<value>Şifrə yaradıldı.</value>
<value>Parol yaradıldı.</value>
</data>
<data name="PasswordGenerator" xml:space="preserve">
<value>Şifrə yaradıcı</value>
<value>Parol yaradıcı</value>
</data>
<data name="PasswordHint" xml:space="preserve">
<value>Şifrə məsləhəti</value>
<value>Parol məsləhəti</value>
</data>
<data name="PasswordHintAlert" xml:space="preserve">
<value>Ana şifrə məsləhətini ehtiva edən bir e-poçt göndərdik.</value>
<value>Ana parol məsləhətini ehtiva edən bir e-poçt göndərdik.</value>
</data>
<data name="PasswordOverrideAlert" xml:space="preserve">
<value>Hazırkı şifrənin üzərinə yazmaq istədiyinizə əminsiniz?</value>
<value>Hazırkı parolun üzərinə yazmaq istədiyinizə əminsiniz?</value>
</data>
<data name="PushNotificationAlert" xml:space="preserve">
<value>Bitwarden, ani bildirişləri istifadə edərək anbarınızı avtomatik eyniləşdirir. Mümkün olan ən yaxşı təcrübəni təqdim etmək üçün, sizdən ani bildirişləri fəallaşdırmağı soruşanda növbəti ekranda "İcazə ver"i seçin.</value>
@@ -638,10 +641,10 @@
<value>Gözəl bir rəy ilə bizə dəstək ola bilərsiniz!</value>
</data>
<data name="RegeneratePassword" xml:space="preserve">
<value>Şifrəni yenidən yarat</value>
<value>Parolu yenidən yarat</value>
</data>
<data name="RetypeMasterPassword" xml:space="preserve">
<value>Ana şifrəni yenidən yaz</value>
<value>Ana parolu yenidən yaz</value>
</data>
<data name="SearchVault" xml:space="preserve">
<value>Anbarda axtar</value>
@@ -753,7 +756,7 @@
<value>Sıradan çıxarıldı</value>
</data>
<data name="Enabled" xml:space="preserve">
<value>Fəallaşdırdı</value>
<value>Fəallaşdırıldı</value>
</data>
<data name="Status" xml:space="preserve">
<value>Vəziyyət</value>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>"{0}" üçün avto-doldurma elementi axtarırsınız.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Anbarınızı paylaşın</value>
<data name="LearnOrg" xml:space="preserve">
<value>Təşkilatlar barədə daha ətraflı</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>"{0}" tətbiqi açıla bilmir.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Soyad</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Tam ad</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Lisenziya nömrəsi</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Gizli</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Əlaqə yaradıldı</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Mətn</value>
</data>
@@ -1249,7 +1258,7 @@
<value>Əlçatımlılıq xidməti, standart avto-doldurma xidmətini dəstəkləməyən tətbiqlərdə kömək edə bilər.</value>
</data>
<data name="DatePasswordUpdated" xml:space="preserve">
<value>Şifrə yeniləndi</value>
<value>Parol yeniləndi</value>
<comment>ex. Date this password was updated</comment>
</data>
<data name="DateUpdated" xml:space="preserve">
@@ -1269,19 +1278,19 @@
<value>Digər Avto-doldurma tətbiqləriniz varssa və onları istifadə etməyi düşünmürsünüzsə, Tənzimləmələrdə sıradan çıxara bilərsiniz.</value>
</data>
<data name="BitwardenAutofillDescription" xml:space="preserve">
<value>Şifrələrinizin cəld avto-doldurulması üçün anbarınıza birbaşa klaviaturanızdan müraciət edin.</value>
<value>Parollarınızın cəld avto-doldurulması üçün anbarınıza birbaşa klaviaturanızdan müraciət edin.</value>
</data>
<data name="AutofillTurnOn" xml:space="preserve">
<value>Cihazınızda şifrənin avto-doldurulması üçün aşağıdakı təlimatları izləyin:</value>
<value>Cihazınızda parolun avto-doldurulması üçün aşağıdakı təlimatları izləyin:</value>
</data>
<data name="AutofillTurnOn1" xml:space="preserve">
<value>1. iOS "Tənzimləmələri"nə gedin</value>
</data>
<data name="AutofillTurnOn2" xml:space="preserve">
<value>2. "Şifrələr və Hesablar"a toxunun.</value>
<value>2. "Parollar və Hesablar"a toxunun.</value>
</data>
<data name="AutofillTurnOn3" xml:space="preserve">
<value>3. "Şifrələri avto-doldur"a toxunun.</value>
<value>3. "Parolları avto-doldur"a toxunun.</value>
</data>
<data name="AutofillTurnOn4" xml:space="preserve">
<value>4. Avto-doldurmanı işə salın</value>
@@ -1290,10 +1299,10 @@
<value>5. "Bitwarden"i seçin</value>
</data>
<data name="PasswordAutofill" xml:space="preserve">
<value>Şifrənin avto-doldurulması</value>
<value>Parolun avto-doldurulması</value>
</data>
<data name="BitwardenAutofillAlert2" xml:space="preserve">
<value>Anbarınıza yeni giriş məlumatlarını əlavə etməyin ən asan yolu, Bitwarden şifrə avto-doldurma genişləndirməsidir. Bu genişləndirmə haqqında daha ətraflı məlumat almaq üçün "Tənzimləmələr" ekranına gedin.</value>
<value>Anbarınıza yeni giriş məlumatlarını əlavə etməyin ən asan yolu, Bitwarden parol avto-doldurma genişləndirməsidir. Bu genişləndirmə haqqında daha ətraflı məlumat almaq üçün "Tənzimləmələr" ekranına gedin.</value>
</data>
<data name="InvalidEmail" xml:space="preserve">
<value>Etibarsız e-poçt ünvanı.</value>
@@ -1318,17 +1327,17 @@
<comment>Plural form of a URI</comment>
</data>
<data name="CheckingPassword" xml:space="preserve">
<value>Şifrə yoxlanılır...</value>
<value>Parol yoxlanılır...</value>
<comment>A loading message when doing an exposed password check.</comment>
</data>
<data name="CheckPassword" xml:space="preserve">
<value>Şifrənizin oğurlanıb oğurlanmadığını yoxlayın.</value>
<value>Parolunuzun oğurlanıb oğurlanmadığını yoxlayın.</value>
</data>
<data name="PasswordExposed" xml:space="preserve">
<value>Bu şifrə, məlumat pozuntularında {0} dəfə üzə çıxıb. Dəyişdirməyi məsləhət görürük.</value>
<value>Bu parol, məlumat pozuntularında {0} dəfə üzə çıxıb. Dəyişdirməyi məsləhət görürük.</value>
</data>
<data name="PasswordSafe" xml:space="preserve">
<value>Bu şifrə, məlumat pozuntularında qeydə alınmayıb. Rahatlıqla istifadə edə bilərsiniz.</value>
<value>Bu parol, məlumat pozuntularında qeydə alınmayıb. Rahatlıqla istifadə edə bilərsiniz.</value>
</data>
<data name="IdentityName" xml:space="preserve">
<value>Kimlik adı</value>
@@ -1337,13 +1346,13 @@
<value>Dəyər</value>
</data>
<data name="PasswordHistory" xml:space="preserve">
<value>Şifrə tarixçəsi</value>
<value>Parol tarixçəsi</value>
</data>
<data name="Types" xml:space="preserve">
<value>Növlər</value>
</data>
<data name="NoPasswordsToList" xml:space="preserve">
<value>Siyahılanacaq şifrə yoxdur.</value>
<value>Siyahılanacaq parol yoxdur.</value>
</data>
<data name="NoItemsToList" xml:space="preserve">
<value>Siyahılanacaq heç bir element yoxdur.</value>
@@ -1361,10 +1370,10 @@
<value>Növ</value>
</data>
<data name="MoveDown" xml:space="preserve">
<value>Aşağı köçür</value>
<value>Aşağı daşı</value>
</data>
<data name="MoveUp" xml:space="preserve">
<value>Yuxarı köçür</value>
<value>Yuxarı daşı</value>
</data>
<data name="Miscellaneous" xml:space="preserve">
<value>Müxtəlif</value>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Siyahılanacaq heç bir kolleksiya yoxdur.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0}, {1} ünvanına daşındı.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Element paylaşıldı.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Elementi paylaş</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Təşkilata daşı</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Siyahılanacaq heç bir təşkilat yoxdur.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Bu elementi paylaşmaq istədiyiniz təşkilatı seçin. Paylaşma, elementin sahibliyini təşkilata transfer edir. Paylaşdıqdan sonra birbaşa sahibliyiniz olmayacaq.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Bu elementi dımaq istədiyiniz təşkilatı seçin. Bir təşkilata daşımaq, elementin sahibliyini də həmin təşkilata daşıyacaq. Dıdıqdan sonra bu elementə birbaşa sahibliyiniz olmayacaq.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Söz sayı</value>
@@ -1424,8 +1440,8 @@
<value>Hesabınızın barmaq izi ifadəsi</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden, bir təşkilat hesabı istifadə edərək anbarınızı başqaları ilə paylaşmağınıza icazə verər. Daha ətraflı məlumat üçün bitwarden.com saytını ziyarət etmək istəyirsiniz?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden, bir təşkilat hesabı istifadə edərək anbar elementlərinizi başqaları ilə paylaşmağınıza icazə verər. Daha ətraflı məlumat üçün bitwarden.com saytını ziyarət etmək istəyirsiniz?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Anbarı ixrac et</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Kilidi aç</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Anbar kilidini aç</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 dəqiqə</value>
</data>
@@ -1450,11 +1469,14 @@
<comment>ex: Logged in as user@example.com on bitwarden.com.</comment>
</data>
<data name="VaultLockedMasterPassword" xml:space="preserve">
<value>Anbarınız kilidlənib. Davam etmək üçün ana şifrənizi təsdiqləyin.</value>
<value>Anbarınız kilidlənib. Davam etmək üçün ana parolunuzu təsdiqləyin.</value>
</data>
<data name="VaultLockedPIN" xml:space="preserve">
<value>Anbarınız kilidlənib. Davam etmək üçün PIN kodunuzu təsdiqləyin.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Anbarınız kilidlənib. Davam etmək üçün kimliyinizi təsdiqləyin.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Tünd</value>
<comment>A dark color</comment>
@@ -1491,7 +1513,7 @@
<comment>Default URI match detection for auto-fill.</comment>
</data>
<data name="DefaultUriMatchDetectionDescription" xml:space="preserve">
<value>Avto-doldurma kimim əməliyyatları icra edərkən giriş etmə prosesi üçün URI uyğunluq aşkarlamasının ilkin yolunu seçin.</value>
<value>Avto-doldurma kimi əməliyyatları icra edərkən giriş etmə prosesi üçün URI uyğunluq aşkarlamasının ilkin yolunu seçin.</value>
</data>
<data name="Theme" xml:space="preserve">
<value>Tema</value>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Tətbiqin rəng temasını dəyişdirin.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Yenidən başlatma tələb olunur.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Yenidən başladılır...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>İlkin (Sistem)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Qeydləri kopyala</value>
@@ -1517,7 +1535,7 @@
<value>Bitwarden-dən çıxış etmək istədiyinizə əminsiniz?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Tətbiq yenidən başladılanda ana şifrə ilə kilid açılmasını məcburi etmək istəyirsiniz?</value>
<value>Tətbiq yenidən başladılanda ana parol ilə kilid açılmasını məcburi etmək istəyirsiniz?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Qara</value>
@@ -1597,7 +1615,16 @@
<value>Fayl formatı</value>
</data>
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Anbar verilənlərinizi ixrac etmək üçün ana şifrənizi daxil edin.</value>
<value>Anbar verilənlərinizi ixrac etmək üçün ana parolunuzu daxil edin.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>E-poçtunuza bir təsdiqləmə kodu göndərin</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Kod göndərildi!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Davam etmək üçün kimliyinizi təsdiqləyin.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Bu ixrac faylındakı anbar verilənləriniz şifrələnməmiş formatdadır. İxrac edilən faylı saxlamamalı və etibarsız yollarla (e-poçt kimi) göndərməməlisiniz. Bu faylı işiniz bitdikdən sonra dərhal silin.</value>
@@ -1606,7 +1633,7 @@
<value>Bu ixrac faylı, hesabınızın şifrələmə açarını istifadə edərək verilənlərinizi şifrələyir. Hesabınızın şifrələmə açarını döndərsəniz, bu ixrac faylının şifrəsini aça bilməyəcəyiniz üçün yenidən ixrac etməli olacaqsınız.</value>
</data>
<data name="EncExportAccountWarning" xml:space="preserve">
<value>Hesab şifrələmə açarları, hər Bitwarden istifadəçi hesabı üçün unikaldır, buna görə də şifrəli bir ixracı, fərqli bir hesaba idxal edə bilməzsiniz.</value>
<value>Hesab şifrələmə açarları, hər Bitwarden istifadəçi hesabı üçün unikaldır, buna görə də şifrələnmiş bir ixracı, fərqli bir hesaba idxal edə bilməzsiniz.</value>
</data>
<data name="ExportVaultConfirmationTitle" xml:space="preserve">
<value>Anbarın ixracını təsdiqləyin</value>
@@ -1642,7 +1669,7 @@
<value>Avto-doldurma qutusunu istifadə etmək üçün zəhmət olmasa "Bitwarden" tənzimləmələrində "Avto-doldurma əlçatımlılıq xidməti"ni fəallaşdırın.</value>
</data>
<data name="AutofillTileUriNotFound" xml:space="preserve">
<value>Heç bir şifrə sahəsi aşkarlanmadı</value>
<value>Heç bir parol sahəsi aşkarlanmadı</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Tullantı qutusuna göndərilir...</value>
@@ -1685,10 +1712,10 @@
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
<data name="BiometricInvalidated" xml:space="preserve">
<value>Ana şifrənin təsdiqlənməsi gözlənildiyi üçün biometrik kilid açma sıradan çıxarıldı.</value>
<value>Ana parolun təsdiqlənməsi gözlənildiyi üçün biometrik kilid açma sıradan çıxarıldı.</value>
</data>
<data name="BiometricInvalidatedExtension" xml:space="preserve">
<value>Ana şifrənin təsdiqlənməsi gözlənildiyi üçün avto-doldurma üzrə biometrik kilid açma sıradan çıxarıldı.</value>
<value>Ana parolun təsdiqlənməsi gözlənildiyi üçün avto-doldurma üzrə biometrik kilid açma sıradan çıxarıldı.</value>
</data>
<data name="EnableSyncOnRefresh" xml:space="preserve">
<value>Təzələmə əsnasında eyniləşdirməni fəallaşdır</value>
@@ -1709,13 +1736,13 @@
<value>Hazırda SSO ilə giriş edilə bilmir</value>
</data>
<data name="SetMasterPassword" xml:space="preserve">
<value>Ana şifrəni tənzimlə</value>
<value>Ana parolu tənzimlə</value>
</data>
<data name="SetMasterPasswordSummary" xml:space="preserve">
<value>SSO ilə giriş prosesini tamamlamaq üçün zəhmət olmasa anbarınıza müraciət etmək və onu qorumaq üçün bir ana şifrə tənzimləyin.</value>
</data>
<data name="MasterPasswordPolicyInEffect" xml:space="preserve">
<value>Bir və ya daha çox təşkilat siyasəti, aşağıdakı tələbləri qarşılamaq üçün ana şifrənizi tələb edir:</value>
<value>Bir və ya daha çox təşkilat siyasəti, aşağıdakı tələbləri qarşılamaq üçün ana parolunuzu tələb edir:</value>
</data>
<data name="PolicyInEffectMinComplexity" xml:space="preserve">
<value>Minimum mürəkkəblik xalı: {0}</value>
@@ -1736,10 +1763,10 @@
<value>Bu özəl simvollardan biri və ya daha çoxunu ehtiva etməlidir: {0}</value>
</data>
<data name="MasterPasswordPolicyValidationTitle" xml:space="preserve">
<value>Etibarsız şifrə</value>
<value>Etibarsız parol</value>
</data>
<data name="MasterPasswordPolicyValidationMessage" xml:space="preserve">
<value>Şifrə, şirkət tələblərini qarşılamır. Zəhmət olmasa siyasət məlumatlarını yoxlayıb yenidən sınayın.</value>
<value>Parol, şirkət tələblərini qarşılamır. Zəhmət olmasa siyasət məlumatlarını yoxlayıb yenidən sınayın.</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Yüklənir</value>
@@ -1873,23 +1900,23 @@
<value>Hazırkı müraciət sayı</value>
</data>
<data name="NewPassword" xml:space="preserve">
<value>Yeni şifrə</value>
<value>Yeni parol</value>
</data>
<data name="PasswordInfo" xml:space="preserve">
<value>İstəyinizə görə istifadəçilərdən bu "Send"ə müraciət edərkən şifrə tələb edə bilərsiniz.</value>
<value>İstəyinizə görə istifadəçilərdən bu "Send"ə müraciət edərkən parol tələb edə bilərsiniz.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="RemovePassword" xml:space="preserve">
<value>Şifrəni çıxart</value>
<value>Parolu çıxart</value>
</data>
<data name="AreYouSureRemoveSendPassword" xml:space="preserve">
<value>Şifrəni çıxartmaq istədiyinizə əminsiniz?</value>
<value>Parolu çıxartmaq istədiyinizə əminsiniz?</value>
</data>
<data name="RemovingSendPassword" xml:space="preserve">
<value>Şifrə çıxarılır</value>
<value>Parol çıxarılır</value>
</data>
<data name="SendPasswordRemoved" xml:space="preserve">
<value>Şifrə çıxarıldı.</value>
<value>Parol çıxarıldı.</value>
</data>
<data name="NotesInfo" xml:space="preserve">
<value>Bu "Send" ilə bağlı gizli qeydlər.</value>
@@ -1991,12 +2018,102 @@
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="PasswordPrompt" xml:space="preserve">
<value>Ana şifrəni yenidə istə</value>
<value>Ana parolu təkrar soruş</value>
</data>
<data name="PasswordConfirmation" xml:space="preserve">
<value>Ana şifrə təsdiqi</value>
<value>Ana parol təsdiqi</value>
</data>
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Bu əməliyyat qorumalıdır, davam etmək üçün zəhmət olmasa kimliyinizi təsdiqləmək üçün ana şifrənizi təkrar daxil edin.</value>
<value>Bu əməliyyat qorumalıdır, davam etmək üçün zəhmət olmasa kimliyinizi təsdiqləmək üçün ana parolunuzu təkrar daxil edin.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha tələb olunur</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha uğursuz oldu. Zəhmət olmasa yenidən sınayın.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Yenilənmiş ana parol</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Ana parolu yenilə</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Ana parolunuz təzəlikcə təşkilatınızdakı bir administrator tərəfindən dəyişdirildi. Anbara müraciət üçün Ana parolunuzu indi yeniləməlisiniz. Davam etsəniz, hazırkı seansdan çıxış etmiş və təkrar giriş etməli olacaqsınız. Digər cihazlardakı aktiv seanslar bir saata qədər aktiv qalmağa davam edə bilər.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Parol yenilənir</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Hazırda parol yenilənə bilmir</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Ana parolu sil</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} müştəri tərəfindən idarə edilən şifrələmə ilə SSO istifadə edir. Davam etsəniz, Ana Parol hesabınızdan silinəcək və giriş etmək üçün SSO tələb olunacaq.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Ana Parolu silmək istəmirsinizsə, bu təşkilatı tərk edə bilərsiniz.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Təşkilatı tərk et</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>{0} tərk edilsin?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Davam etmək üçün FIDO2 WebAuthn fəal güvənlik açarınızı hazır saxlayın, daha sonra növbəti ekranda "WebAuthn-u təsdiqlə"yə kliklədikdən sonra təlimatları izləyin.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Kimlik təsdiqləmə, FIDO2 WebAuthn istifadə edir, xarici güvənlik açarı istifadə edərək kimliyi təsdiqləyə bilərsiniz.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>WebAuthn-u təsdiqlə</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Tətbiqə qayıt</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Zəhmət olmasa ilkin səyyahınızın WebAuthn-u təsdiqlədiyinə əmin olub yenidən sınayın.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Bu təşkilat, sizi "parol sıfırlama"da avtomatik olaraq qeydiyyata alan müəssisə siyasətinə sahibdir. Qeydiyyat, təşkilat administratorlarına ana parolunuzu dəyişdirmə icazəsi verəcək.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Təşkilatınızın siyasətləri, anbarınızın vaxt bitişinə təsir edir. Anbar vaxt bitişi üçün icazə verilən maksimum vaxt $HOURS$ saat $MINUTES$ dəqiqədir</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Anbar vaxt bitişi, təşkilatınız tərəfindən tənzimlənən məhdudiyyətləri aşır.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Bir və ya daha çox təşkilat siyasəti, fərdi anbarınızı ixrac etməyinizin qarşısını alır.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Hesabı sil</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Hesabınız birdəfəlik silinəcək</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Hesabınız və əlaqəli bütün verilənlər silinəcək və bərpa oluna bilməyəcək. Davam etmək istədiyinizə əminsiniz?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Hesabınız silinir</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Hesabınız birdəfəlik silindi</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Etibarsız təsdiqləmə kodu</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Kod göndər</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Göndərilir</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Захаваць</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Захаванне...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Вы шукаеце элемент аўтазапаўнення для "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Абагуліць ваша сховішча</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Немагчыма адкрыць праграму "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Прозвішча</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Нумар ліцэнзіі</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Схавана</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Тэкст</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Няма калекцый для паказу.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Элемент быў абагулены.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Абагуліць элемент</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Няма арганізацый для паказу.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Выберыце арганізацыю, якой вы хочаце даць доступ да гэтага элемента. Пасля выканання гэтай аперацыі, правы на элемент будуць перададзены арганізацыі і вы не будзеце з'яўляцца непасрэдным уладальнікам гэтага элемента.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Колькасць слоў</value>
@@ -1424,8 +1440,8 @@
<value>Фраза адбітка пальца вашага ўліковага запісу</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden дазваляе абагуліць сваё сховішча з іншымі карыстальнікамі, выкарыстоўваючы ўліковы запіс арганізацыі. Хочаце наведаць сайт bitwarden.com, каб даведацца больш?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Экспарт сховішча</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Разблакіраваць</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 хвілін</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Ваша сховішча заблакіравана. Каб працягнуць, увядзіце PIN-код.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Цёмная</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Змена колеравай тэмы праграмы.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Патрабуецца перазапуск.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Перазапуск...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Капіяваць нататк</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Увядзіце ваш асноўны пароль для экспарту даных са сховішча.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Экспартуемы файл утрымлівае даныя вашага сховішча ў незашыфраваным фармаце. Яго не варта захоўваць ці адпраўляць па небяспечным каналам (напрыклад, па электроннай пошце). Выдаліце яго адразу пасля выкарыстання.</value>
</data>
@@ -1863,7 +1890,7 @@
<value>Maximum Access Count</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>If set, users will no longer be able to access this send once the maximum access count is reached.</value>
<value>If set, users will no longer be able to access this Send once the maximum access count is reached.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Гэтае дзеянне ахоўваецца, для працягу зноў увядзіце пароль для праверкі асобы.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Запазване</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Преместване</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Запазване…</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Търсене на запис за автоматично дописване на „{0}“.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Споделяне на трезора ви</value>
<data name="LearnOrg" xml:space="preserve">
<value>Разберете повече за организациите</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Програмата „{0}“ не може да се отвори.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Фамилно име</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Пълно име</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Номер на лиценза</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Скрито</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Свързано</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Текст</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Няма колекции за показване.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} се премести в {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Записът е споделен.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Споделяне на запис</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Преместване в организация</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Няма организации за показване.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Изберете организацията, с която искате да споделите записа. Споделянето ѝ прехвърля собствеността. След това няма вече директно да го притежавате.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Изберете организацията, в която искате да преместите записа. Преместването прехвърля собствеността му към новата организация. След това няма вече директно да го притежавате.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Брой думи</value>
@@ -1424,8 +1440,8 @@
<value>Уникална фраза, идентифицираща абонамента ви</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Битуорден позволява да споделяте части от трезора си чрез регистрация на организация. Искате ли да научите повече от сайта bitwarden.com?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Битуорден позволява да споделяте записите в трезора си чрез регистрация на организация. Искате ли да научите повече от сайта bitwarden.com?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Изнасяне на трезора</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Отключване</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Отключване на трезора</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 минути</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Трезорът е заключен. Въведете своя ПИН, за да продължите.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Трезорът е заключен. Потвърдете самоличността си, за да продължите.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Тъмен</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Промяна на цветовия облик на програмата.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Необходимо е повторно пускане.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Повторно пускане…</value>
<data name="ThemeDefault" xml:space="preserve">
<value>По подразбиране (от системата)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Копиране на бележките</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Въведете главната парола, за да изнесете данните.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Изпращане на код за потвърждаване до Вашата ел. поща</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Кодът е изпратен!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Потвърдете самоличността си, за да продължите.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Данните от трезора ви ще се изнесат в незащитен формат. Не го пращайте по незащитени канали като е-поща. Изтрийте файла незабавно след като свършите работата си с него.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Това действие е защитено. За да продължите, въведете отново главната си парола, за да потвърдите самоличността си.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Главната парола е променена</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Промяна на главната парола</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Вашата главна парола наскоро е била сменена от администратор в организацията Ви. За да получите достъп до трезора, трябва да промените главната си парола сега. Това означава, че ще бъдете отписан(а) от текущата си сесия и ще трябва да се впишете отново. Активните сесии на други устройства може да продължат да бъдат активни още един час.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Обновяване на паролата</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>В момента паролата не може да бъде обновена</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Премахване на главната парола</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} използва еднократно удостоверяване с шифроване, управлявано от клиента. Ако продължите, главната парола ще бъде премахната от регистрацията Ви и за да се впишете, вече ще трябва да използвате еднократното удостоверяване.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Ако не искате да премахвате главната си парола, ще трябва да напуснете организацията.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Напускане на организацията</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Напускане на {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Идентификация чрез FIDO2 WebAuthn можете да се идентифицирате чрез външен ключ за сигурност.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Назад към приложението</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Уверете се, че използваният браузър поддържа WebAuthn и опитайте отново.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Тази организация включва автоматично новите си потребители в смяната на пароли. Това означава, че администраторите на организацията ще могат да променят главната Ви парола.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Настройките на организацията Ви влияят върху времето за достъп до трезора Ви. Максималното разрешено време за достъп е {0} час(а) и {1} минути</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Времето за достъп до трезора Ви превишава ограничението, определено от организацията Ви.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Една или повече от настройките на организацията Ви не позволяват да изнасяте личния си трезор.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Изтриване на регистрацията</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Изтриването на регистрацията е необратимо</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Регистрацията Ви и всички свързани с нея данни ще бъдат изтрити и няма да могат да бъдат възстановени. Наистина ли искате да продължите?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Изтриване на регистрацията Ви</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Регистрацията Ви беше изтрита необратимо</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Грешен код за потвърждаване</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Изпращане на кода</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Изпращане…</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Save</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Saving...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>You are searching for an auto-fill item for "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>আপনার ভল্ট ভাগ করুন</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Cannot open the app "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>নামের শেষাংশ</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>লাইসেন্স নম্বর</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Hidden</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Text</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>তালিকার জন্য কোনও সংগ্রহ নেই।</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item has been shared.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Share Item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No organizations to list.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Number of Words</value>
@@ -1424,8 +1440,8 @@
<value>Your account's fingerprint phrase</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Export Vault</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Your vault is locked. Verify your PIN code to continue.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Dark</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>অ্যাপ্লিকেশনটির রং থিম পরিবর্তন।</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Restart is required.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Restarting...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copy Notes</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>আপনার ভল্ট তথ্য রফতানি করতে আপনার প্রধান পাসওয়ার্ডটি দিন।</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>এই রফতানীতে একটি বিনা-এনক্রিপ্টেড করা বিন্যাসে আপনার ভল্ট তথ্য রয়েছে। আপনার রফতানিকৃত হওয়া ফাইল নিরাপত্তাহীন চ্যানেলগুলির মাধ্যমে (যেমন ইমেল) সংরক্ষণ বা প্রেরণ করা উচিত নয়। আপনি এটি ব্যবহার করে কাজ শেষ করার পর সাথে সাথে মুছে ফেলুন।</value>
</data>
@@ -1864,7 +1891,7 @@
<value>Maximum Access Count</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>If set, users will no longer be able to access this send once the maximum access count is reached.</value>
<value>If set, users will no longer be able to access this Send once the maximum access count is reached.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
@@ -2000,4 +2027,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -310,6 +310,9 @@
<value>Guarda</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Desplaça</value>
</data>
<data name="Saving" xml:space="preserve">
<value>S'està guardant...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Esteu buscant un element d'emplenament automàtic per a "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Compartiu la vostra caixa forta</value>
<data name="LearnOrg" xml:space="preserve">
<value>Més informació sobre les organitzacions</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>No es pot obrir l'aplicació "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Cognoms</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Número de llicència</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Amagat</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Text</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>No hi ha cap col·lecció per llistar.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} desplaçat a {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>L'element s'ha compartit.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Comparteix l'element</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Desplaça a l'organització</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No hi ha cap organització per llistar.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Trieu una organització amb la qual vulgueu compartir aquest element. En compartir transferiu la propietat de l'element a l'organització. Ja no sereu el propietari directe d'aquest element una vegada que s'haja compartit.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Trieu una organització a la qual vulgueu desplaçar aquest element. El trasllat a una organització transfereix la propietat de l'element a aquesta organització. Ja no sereu el propietari directe d'aquest element una vegada s'haja mogut.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Nombre de paraules</value>
@@ -1424,7 +1440,7 @@
<value>Frase d'empremta digital del vostre compte</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden us permet compartir la vostra caixa forta amb altres usuaris mitjançant un compte d'organització. Voleu visitar el lloc web de bitwarden.com per obtenir més informació?</value>
</data>
<data name="ExportVault" xml:space="preserve">
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Desbloqueja</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuts</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>La caixa forta està bloquejada. Verifiqueu El codi PIN per continuar.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Fosc</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Canvia el color del tema de l'aplicació.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Cal que reinicieu l'aplicació.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>S'està reiniciant...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Per defecte (Sistema)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copia notes</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Introduïu la contrasenya mestra per exportar les dades de la caixa forta.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Aquesta exportació conté les dades de la vostra caixa forta en un format no xifrat. No hauríeu d'emmagatzemar o enviar el fitxer exportat a través de canals no segurs (com ara el correu electrònic). Elimineu-lo immediatament després d'haver acabat d'usar-lo.</value>
</data>
@@ -1904,7 +1931,7 @@
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AddASend" xml:space="preserve">
<value>Add a Send</value>
<value>Afig Send</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="CopyLink" xml:space="preserve">
@@ -1991,12 +2018,102 @@
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="PasswordPrompt" xml:space="preserve">
<value>Master password re-prompt</value>
<value>Re-sol·licitud de la contrasenya mestra</value>
</data>
<data name="PasswordConfirmation" xml:space="preserve">
<value>Master password confirmation</value>
<value>Confirmació de la contrasenya mestra</value>
</data>
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
<value>Aquesta acció està protegida. Per continuar, torneu a introduir la contrasenya principal per verificar la vostra identitat.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>El Captcha és necessari</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>El captcha ha fallat. Torneu-ho a provar.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Contrasenya mestra actualitzada</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Actualitza contrasenya mestra</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Un administrador de l'organització ha canviat recentment la contrasenya principal. Per accedir a la caixa forta, heu d'actualitzar-la ara. Si continueu, es tancarà la sessió actual i heu de tornar a iniciar-la. És possible que les sessions obertes en altres dispositius continuen actives fins a una hora.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>S'està actualitzant la contrasenya</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Actualment no es pot actualitzar la contrasenya</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Per continuar, tingueu preparada la vostra clau de seguretat amb FIDO2 WebAuthn i, a continuació, seguiu les instruccions després de fer clic a "Autentica WebAuthn" a la pantalla següent.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Autenticació mitjançant FIDO2 WebAuthn, podeu autenticar-vos mitjançant una clau de seguretat externa.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Autentica WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Tornar a l'aplicació</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Assegureu-vos que el vostre navegador predeterminat admeta WebAuthn i torneu-ho a provar.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Aquesta organització té una política empresarial que us inscriurà automàticament al restabliment de la contrasenya. La inscripció permetrà als administradors de lorganització canviar la vostra contrasenya mestra.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Les polítiques de l'organització afecten el temps d'espera de la caixa forta. El temps d'espera màxim permès d'aquesta és de $HOURS$ hores i $MINUTES$ minuts</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>El temps d'espera de la caixa forta supera les restriccions establertes per la vostra organització.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Una o més polítiques d'organització us impedeixen exportar la vostra caixa forta.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Uložit</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Ukládání...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Hledáte přihlašovací údaje k automatickému vyplnění pro „{0}“.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Sdílet trezor</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Aplikaci „{0}“ nelze otevřít.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Příjmení</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Číslo dokladu totožnosti</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Skryté</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Text</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Žádné kolekce k zobrazení.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Položka byla sdílena.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Sdílet položku</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Žádné organizace k zobrazení.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Vyberte organizaci se kterou chcete tuto položku sdílet. Sdílení přenese vlastnictví položky na onu organizaci a již nadále nebudete přímým vlastníkem.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Počet slov</value>
@@ -1424,8 +1440,8 @@
<value>Fráze otisku prstu vašeho účtu</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden umožňuje sdílet váš trezor s ostatními prostřednictvím účtu organizace. Chcete přejít na bitwarden.com a dozvědět se víc?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Exportovat přihlašovací údaje</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Odemknout</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minut</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Váš trezor je uzamčen. Pro pokračování musíte zadat PIN.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Tmavý</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Změna barevného motivu aplikace.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Je vyžadován restart.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Restartování…</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Kopírovat poznámky</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Zadejte své hlavní heslo pro export dat.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Tento export obsahuje data vašeho trezoru v nezašifrovaném formátu. Soubor exportu byste neměli ukládat ani odesílat přes nezabezpečené kanály (např. e-mailem). Odstraňte jej okamžitě po jeho použití.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Tato akce je chráněna. Chcete-li pokračovat, zadejte znovu vaše hlavní heslo, abychom ověřili vaší totožnost.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Gem</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Flyt</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Gemmer...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Du søger efter et autoudfyld element til "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Del din boks</value>
<data name="LearnOrg" xml:space="preserve">
<value>Få mere at vide om organisationer</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Kan ikke åbne appen "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Efternavn</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Fulde navn</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Kørekortnummer</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Skjult</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linket</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Tekst</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Der er ingen samlinger at vise.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} flyttet til {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Element er blevet delt.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Del element</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Flyt til organisation</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Ingen organisationer at vise.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Vælg en organisation, som du ønsker at dele dette element med. Deling overfører ejerskab af elementet til organisationen. Du vil ikke længere være den direkte ejer af dette element, når det er blevet delt.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Vælg en organisation, som du ønsker at flytte dette emne til. Flytning til en organisation overfører ejerskabet af emnet til den pågældende organisation. Du vil efter flytningen ikke længere være den direkte ejer af emnet.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Antal ord</value>
@@ -1424,8 +1440,8 @@
<value>Din kontos fingeraftrykssætning</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden giver dig mulighed for at dele din boks med andre ved at bruge en organisationskonto. Vil du besøge webstedet bitwarden.com for at få mere at vide?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden giver dig mulighed for at dele dine boks-elementer med andre ved at bruge en organisationskonto. Vil du besøge webstedet bitwarden.com for at få mere at vide?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Eksportér boks</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Lås op</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Lås boks op</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutter</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Din boks er låst. Bekræft din pinkode for at fortsætte.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Din boks er låst. Bekræft din identitet for at fortsætte.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Mørk</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Skift app'ens farvetema.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Genstart nødvendig.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Genstarter...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Standard (system)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Kopiér notater</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Angiv din hovedadgangskode for at eksportere boksdata.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send en bekræftelseskode til din e-mail</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Kode sendt!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Bekræft din identitet for at fortsætte.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Denne eksport indeholder dine boksdata i en ukrypteret form. Du bør ikke gemme eller sende den eksporterede fil via usikre kanaler (f.eks. e-mail). Slet den straks efter at du er færdig med at bruge den.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Denne handling er beskyttet. Angiv hovedadgangskoden igen for at bekræfte din identitet og fortsætte.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha kræves</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha mislykkedes. Prøv venligst igen.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Hovedadgangskode opdateret</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Opdatér hovedadgangskode</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Dit hovedadgangskode blev for nylig ændret af en administrator i din organisation. For at få adgang til boksen skal du opdatere din hovedadgangskode nu. Hvis du fortsætter, logges du ud af din nuværende session, hvilket kræver, at du logger ind igen. Aktive sessioner på andre enheder kan fortsætte med at være aktive i op til én time.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Opdaterer adgangskode</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Kan i øjeblikket ikke opdatere adgangskode</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Fjern hovedadgangskode</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} bruger SSO med kundestyret kryptering. Hvis du fortsætter, fjernes din hovedadgangskode fra din konto og SSO kræves for at logge på.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Hvis du ikke ønsker at fjerne din hovedadgangskode, kan du forlade denne organisation.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Forlad organisation</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Forlad {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>For at fortsætte skal du have din FIDO2 WebAuthn-aktiverede sikkerhedsnøgle klar, klik på 'Godkend WebAuthn' på næste skærmbillede og følg instruktionerne.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Godkendelse ved hjælp af FIDO2 WebAuthn, du kan godkende ved hjælp af en ekstern sikkerhedsnøgle.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Godkend WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Vend tilbage til app</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Sørg for, at standardbrowseren understøtter WebAuthn og forsøg igen.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Denne organisation har en virksomhedspolitik, der automatisk tilmelder dig til nulstilling af adgangskode. Tilmelding giver organisationsadministratorer mulighed for at skifte din hovedadgangskode.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Dine organisationspolitikker påvirker din boks-timeout. Maksimum tilladte boks-timeout er {0} time(r) og {1} minut(ter)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Timeout for din boks overskrider de begrænsninger, der er angivet af din organisation.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>En eller flere organisationspolitikker forhindrer eksport af din personlige boks.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Slet konto</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Sletning af din konto er permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Din konto og alle tilknyttede data vil blive slettet og kan ikke gendannes. Er du sikker på, at du vil fortsætte?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Sletter din konto</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Din konto er blevet permanent slettet</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Ugyldig bekræftelseskode</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send kode</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sender</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Speichern</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Verschieben</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Wird gespeichert...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Du suchst nach einem Eintrag zum automatischen Einfügen für "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Teile deinen Tresor</value>
<data name="LearnOrg" xml:space="preserve">
<value>Mehr über Organisationen erfahren</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Die App "{0}" kann nicht geöffnet werden.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Nachname</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Vollständiger Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Führerscheinnummer</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Versteckt</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Verknüpft</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Text</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Keine Sammlungen vorhanden.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} verschoben nach {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Eintrag wurde geteilt.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Eintrag teilen</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>In Organisation verschieben</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Keine Organisationen vorhanden.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Wähle eine Organisation aus, für die du diesen Eintrag freigeben möchtest. Die gemeinsame Nutzung überträgt das Eigentum an dem Eintrag auf diese Organisation. Du bist dann nicht mehr der direkte Besitzer dieses Eintrags, sobald er geteilt wurde.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Wähle eine Organisation aus, in die du diesen Eintrag verschieben möchtest. Das Verschieben in eine Organisation überträgt das Eigentum an diese Organisation. Du bist nicht mehr der direkte Besitzer dieses Eintrags, sobald er verschoben wurde.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Anzahl der Wörter</value>
@@ -1424,8 +1440,8 @@
<value>Prüfschlüssel für deinen Account</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden ermöglicht es dir, deinen Tresor mit anderen zu teilen, indem du ein Organisationskonto benutzt. Möchtest du bitwarden.com besuchen, um mehr zu erfahren?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden ermöglicht es, deinen Tresor mit anderen zu teilen, indem du ein Organisationskonto benutzt. Möchtest du bitwarden.com besuchen, um mehr zu erfahren?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Tresor exportieren</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Entsperren</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Tresor entsperren</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 Minuten</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Dein Tresor ist gesperrt. Gebe deinen PIN-Code ein um fortzufahren.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Dein Tresor ist gesperrt. Überprüfe deine Identität, um fortzufahren.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Dunkel</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Ändere das Farbschema der Anwendung.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Neustart ist erforderlich.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Wird neugestartet...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Standard (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Notizen kopieren</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Gib das Masterpasswort ein, um deine Tresordaten zu exportieren.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Einen Bestätigungscode an deine E-Mail senden</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code gesendet!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Bestätige deine Identität, um fortzufahren.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Dieser Export enthält deine Tresordaten in einem unverschlüsseltem Format. Du solltest sie nicht speichern oder über unsichere Kanäle (z. B. E-Mail) senden. Lösche sie sofort nach ihrer Verwendung.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Diese Aktion ist geschützt. Um fortzufahren, gib bitte dein Master-Passwort erneut ein, um deine Identität zu bestätigen.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha erforderlich</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha fehlgeschlagen. Bitte versuche es erneut.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Master-Passwort aktualisiert</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Master-Passwort aktualisieren</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Dein Master-Passwort wurde kürzlich von einem Administrator deiner Organisation geändert. Um auf den Tresor zuzugreifen, musst du dein Master-Passwort jetzt aktualisieren. Wenn Du fortfährst, wirst du aus der aktuellen Sitzung abgemeldet und eine erneute Anmeldung ist erforderlich. Aktive Sitzungen auf anderen Geräten können bis zu einer Stunde weiterhin aktiv bleiben.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Passwort wird aktualisiert</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Das Passwort kann derzeit nicht aktualisiert werden</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Master-Passwort entfernen</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} verwendet SSO mit von Kunden verwalteter Verschlüsselung. Durch Fortfahren wird dein Master-Passwort von deinem Konto entfernt und SSO zum Anmelden benötigt.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Wenn du dein Master-Passwort nicht entfernen möchtest, kannst du diese Organisation verlassen.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Organisation verlassen</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>{0} verlassen?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Um fortzufahren, halte deinen FIDO2 WebAuthn kompatiblen Sicherheitsschlüssel bereit und folge dann den Anweisungen, nachdem du auf der nächsten Seite auf 'Authentifiziere WebAuthn' geklickt hast.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentifizierung mit FIDO2 WebAuthn, du kannst dich mit einem externen Sicherheitsschlüssel authentifizieren.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authentifiziere WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Zurück zur App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Bitte stelle sicher, dass dein Standardbrowser WebAuthn unterstützt und versuche es erneut.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Diese Organisation hat eine Unternehmensrichtlinie, die dich automatisch für die Passwort Zurücksetzung registriert. Die Registrierung wird es Administratoren der Organisation erlauben, dein Master-Passwort zu ändern.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Deine Organisationsrichtlinien haben Auswirkungen auf dein Tresor-Timeout. Das maximal zulässige Tresor-Timeout beträgt {0} Stunde(n) und {1} Minute(n)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Dein Tresor-Timeout überschreitet die von deinem Unternehmen festgelegten Beschränkungen.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Eine oder mehrere Unternehmensrichtlinien verhindern es, dass du deinen persönlichen Tresor exportieren kannst.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Konto löschen</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Das Löschen deines Kontos ist unwiderruflich</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Dein Konto und alle damit verbundenen Daten werden gelöscht und sind nicht wiederherstellbar. Bist du sicher, dass du fortfahren möchtest?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Löschen deines Kontos</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Dein Konto wurde unwiderruflich gelöscht.</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Ungültiger Bestätigungscode.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Code senden</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sende</value>
</data>
</root>

View File

@@ -311,6 +311,9 @@
<value>Αποθήκευση</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Μετακίνηση</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Αποθήκευση...</value>
<comment>Message shown when interacting with the server</comment>
@@ -783,8 +786,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Αναζήτηση στοιχείου αυτόματης συμπλήρωσης για "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Κοινή χρήση Vault</value>
<data name="LearnOrg" xml:space="preserve">
<value>Μάθετε για τους Οργανισμούς</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Δεν είναι δυνατή η πρόσβαση στην εφαρμογή "{0}".</value>
@@ -1057,6 +1060,9 @@
<data name="LastName" xml:space="preserve">
<value>Επίθετο</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Ονοματεπώνυμο</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Αριθμός Άδειας</value>
</data>
@@ -1181,6 +1187,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Κρυφό</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Συνδεδεμένο</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Κείμενο</value>
</data>
@@ -1379,6 +1388,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Δεν υπάρχουν επιλογές στη λίστα.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} μετακινήθηκε στο {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Το στοιχείο έχει κοινοποιηθεί.</value>
</data>
@@ -1391,11 +1404,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Κοινή χρήση στοιχείου</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Μετακίνηση στον Οργανισμό</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Δεν υπάρχουν οργανισμοί προς εμφάνιση.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Επιλέξτε έναν οργανισμό στον οποίο θέλετε να μοιραστείτε αυτό το στοιχείο. Η κοινή χρήση μεταβιβάζει την ιδιοκτησία του στοιχείου στον οργανισμό. Δεν θα είστε πλέον ο άμεσος ιδιοκτήτης αυτού του στοιχείου μόλις το μοιραστείτε.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Επιλέξτε έναν οργανισμό στον οποίο θέλετε να μετακινήσετε αυτό το στοιχείο. Η μετακίνηση σε έναν οργανισμό μεταβιβάζει την ιδιοκτησία του στοιχείου σε αυτό τον οργανισμό. Δεν θα είστε πλέον ο άμεσος ιδιοκτήτης αυτού του στοιχείου μόλις το μετακινήσετε.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Αριθμός Λέξεων</value>
@@ -1425,8 +1441,8 @@
<value>Η φράση δακτυλικών αποτυπωμάτων του λογαριασμού σας</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Το Bitwarden επιτρέπει να μοιράζεστε τη λίστα σας με άλλους χρησιμοποιώντας ένα λογαριασμό οργανισμού. Θέλετε να επισκευθείτε την ιστοσελίδα bitwarden.com για να μάθετε περισσότερα;</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Το Bitwarden επιτρέπει να μοιράζεστε τα στοιχεία του vault σας με άλλους χρησιμοποιώντας ένα λογαριασμό οργανισμού. Θέλετε να επισκεφθείτε την ιστοσελίδα bitwarden.com για να μάθετε περισσότερα;</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Εξαγωγή Vault</value>
@@ -1440,6 +1456,9 @@
<data name="Unlock" xml:space="preserve">
<value>Ξεκλείδωμα</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Ξεκλείδωμα Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 λεπτά</value>
</data>
@@ -1456,6 +1475,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Το vault σας είναι κλειδωμένο. Επαληθεύστε τον κωδικό PIN για να συνεχίσετε.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Το vault σας είναι κλειδωμένο. Επαληθεύστε την ταυτότητα σας για να συνεχίσετε.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Σκοτεινό</value>
<comment>A dark color</comment>
@@ -1501,12 +1523,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Αλλαγή χρώματος, θέματος εφαρμογής.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Απαιτείται επανεκκίνηση.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Επανεκκίνηση...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Προεπιλογή (σύστημα)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Αντιγραφή Σημειώσεων</value>
@@ -1600,6 +1618,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Εισαγάγετε τον κύριο κωδικό για εξαγωγή των δεδομένων vault.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Στείλτε έναν κωδικό επαλήθευσης στο email σας</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Ο Κωδικός Στάλθηκε</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Επιβεβαιώστε την ταυτότητα σας για να συνεχίσετε.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Αυτή η εξαγωγή περιέχει τα δεδομένα σε μη κρυπτογραφημένη μορφή. Δεν πρέπει να αποθηκεύετε ή να στείλετε το εξαγόμενο αρχείο μέσω μη ασφαλών τρόπων (όπως μέσω email). Διαγράψτε το αμέσως μόλις τελειώσετε με τη χρήση του.</value>
</data>
@@ -1998,6 +2025,96 @@
<value>Επιβεβαίωση κύριου κωδικού πρόσβασης</value>
</data>
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Αυτή η ενέργεια προστατεύεται, για να συνεχίσετε, πληκτρολογήστε ξανά τον κύριο κωδικό πρόσβασης για να επαληθεύσετε την ταυτότητά σας.</value>
<value>Αυτή η ενέργεια προστατεύεται, για να συνεχίσετε, πληκτρολογήστε ξανά τον κύριο κωδικό πρόσβασης για να επαληθεύσετε την ταυτότητα σας.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Απαιτείται Captcha</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Το Captcha απέτυχε. Παρακαλώ προσπάθησε ξανα.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Ενημερώθηκε ο κύριος κωδικός πρόσβασης</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Ενημερώστε τον κύριο κωδικό πρόσβασης</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Ο Κύριος Κωδικός Πρόσβασής σας άλλαξε πρόσφατα από διαχειριστή στον οργανισμό σας. Για να αποκτήσετε πρόσβαση στο vault, πρέπει να ενημερώσετε το κύριο κωδικό τώρα. Η διαδικασία θα σας αποσυνδέσει από την τρέχουσα συνεδρία σας, απαιτώντας από εσάς να συνδεθείτε ξανά. Οι ενεργές συνεδρίες σε άλλες συσκευές ενδέχεται να συνεχίσουν να είναι ενεργές για μία ώρα.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Ενημέρωση Κωδικού Πρόσβασης</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Δεν είναι δυνατή η ενημέρωση του κωδικού πρόσβασης</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Αφαίρεση Κύριου Κωδικού Πρόσβασης</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} χρησιμοποιεί SSO με κρυπτογράφηση διαχείρισης πελατών. Συνεχίζοντας θα καταργήσετε τον Κύριο Κωδικό από το λογαριασμό σας και θα απαιτήσετε SSO για να συνδεθείτε.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Αν δεν θέλετε να αφαιρέσετε τον Κύριο Κωδικό Πρόσβασης, μπορείτε να φύγετε από αυτόν τον οργανισμό.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Αποχώρηση από τον οργανισμό</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Αποχώρηση {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Για να συνεχίσετε, να έχετε το FIDO2 WebAuthn ενεργοποιημένο κλειδί ασφαλείας και στη συνέχεια ακολουθήστε τις οδηγίες αφού κάνετε κλικ στο 'Authn Authn' στην επόμενη οθόνη.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Ταυτοποίηση με χρήση του FIDO2 WebAuthn, μπορείτε να κάνετε έλεγχο ταυτότητας χρησιμοποιώντας ένα εξωτερικό κλειδί ασφαλείας.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Ταυτοποίηση WebAutn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Επιστροφή στην εφαρμογή</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Βεβαιωθείτε ότι ο προεπιλεγμένος περιηγητής σας υποστηρίζει WebAuthn και προσπαθήστε ξανά.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Αυτός ο οργανισμός έχει μια επιχειρηματική πολιτική που θα σας εγγράψει αυτόματα στην επαναφορά κωδικού. Η εγγραφή θα επιτρέψει στους διαχειριστές του οργανισμού να αλλάξουν τον κύριο κωδικό πρόσβασης σας.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Οι πολιτικές του οργανισμού σας επηρεάζουν το χρονικό όριο vault σας. Το μέγιστο επιτρεπόμενο Χρονικό όριο Vault είναι {0} ώρα(ες) και {1} λεπτό(ά)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Το χρονικό όριο του vault σας υπερβαίνει τους περιορισμούς που έχει ορίσει ο οργανισμός σας.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Μία ή περισσότερες οργανωτικές πολιτικές αποτρέπουν την εξαγωγή του προσωπικού vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Διαγραφή Λογαριασμού</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Η διαγραφή του λογαριασμού σας είναι μόνιμη</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Ο λογαριασμός σας και όλα τα σχετικά δεδομένα θα διαγραφούν και δεν θα ανακτηθούν. Είστε σίγουροι ότι θέλετε να συνεχίσετε?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Διαγραφή του λογαριασμού σας</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Ο λογαριασμός σας έχει διαγραφεί οριστικά</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Μη Έγκυρος Κωδικός Επαλήθευσης.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Αποστολή Κωδικού</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Αποστολή....</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Save</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Saving...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>You are searching for an auto-fill item for "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Share your vault</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Cannot open the app "{0}".</value>
@@ -1378,6 +1381,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>There are no collections to list.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item has been shared.</value>
</data>
@@ -1390,11 +1397,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Share item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No organisations to list.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Choose an organisation that you wish to share this item with. Sharing transfers ownership of the item to the organisation. You will no longer be the direct owner of this item once it has been shared.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Number of words</value>
@@ -1424,8 +1434,8 @@
<value>Your account's fingerprint phrase</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault with others by using an organisation account. Would you like to visit the bitwarden.com website to learn more?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Export vault</value>
@@ -1500,12 +1510,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Change the application's colour theme.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Restart is required.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Restarting...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copy notes</value>
@@ -2000,7 +2006,7 @@
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendFileEmailVerificationRequired" xml:space="preserve">
<value>You must verify your email to use files with Send.</value>
<value>You must verify your email to use files with Send. You can verify your email in the web vault.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="PasswordPrompt" xml:space="preserve">
@@ -2012,4 +2018,55 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Save</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Saving...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>You are searching for an auto-fill item for "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Share your vault</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organisations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Cannot open the app "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Last name</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Licence number</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Hidden</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Text</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>There are no collections to list.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item has been shared.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Share item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organisation</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No organisations to list.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Choose an organisation that you wish to share this item with. Sharing transfers ownership of the item to the organisation. You will no longer be the direct owner of this item once it has been shared.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organisation that you wish to move this item to. Moving to an organisation transfers ownership of the item to that organisation. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Number of words</value>
@@ -1424,8 +1440,8 @@
<value>Your account's fingerprint phrase</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault with others by using an organisation account. Would you like to visit the bitwarden.com website to learn more?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organisation account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Export vault</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Your vault is locked. Verify your PIN code to continue.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Dark</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Change the application's colour theme.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Restart is required.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Restarting...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copy notes</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Enter your master password to export your vault data.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it.</value>
</data>
@@ -2012,4 +2039,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organisation. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organisation has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organisation administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organisation policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organisation.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organisation policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Guardar</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Mover</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Guardando...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Estás buscando una entrada para autorellenar "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Comparte tu caja fuerte</value>
<data name="LearnOrg" xml:space="preserve">
<value>Aprenda sobre Organizaciones</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>No se puede abrir la aplicación "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Apellido</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Nombre completo</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Nº de licencia</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Oculto</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Vinculado</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Texto</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>No hay colecciones que listar.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} se movió a {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>El elemento ha sido compartido.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Compartir elemento</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Mover a la Organización</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No hay organizaciones que listar.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Elija una organización con la que quiera compartir este elemento. Compartir transfiere la propiedad del elemento a la organización. No podrá volver a ser el propietario de este elemento una vez haya sido compartido.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Elige una organización a la que deseas mover este objeto. Mover a una organización transfiere la propiedad del objeto a esa organización. Ya no serás el dueño directo de este objeto una vez que haya sido movido.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Número de palabras</value>
@@ -1424,7 +1440,7 @@
<value>Frase de la huella digital de su cuenta</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden te permite compartir tu caja fuerte con otras personas utilizando una cuenta de organización. ¿Quieres visitar la web bitwarden.com para conocer más?</value>
</data>
<data name="ExportVault" xml:space="preserve">
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Desbloquear</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Desbloquear bóveda</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutos</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Su caja fuerte está bloqueada. Verifique su código PIN para continuar.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Tu caja fuerte está bloqueada. Verifica tu identidad para continuar.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Oscuro</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Cambiar el tema de la aplicación.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Es necesario reiniciar.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Reiniciando...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Por defecto (Sistema)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copiar notas</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Introduzca su contraseña maestra para exportar la información de su caja fuerte.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Envía un código de verificación a tu correo electrónico</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>¡Código Enviado!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirme su identidad para continuar.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Ésta exportación contiene sus datos de la caja fuerte en un formato no cifrado. No debería almacenar o enviar el archivo exportado por canales no seguros (como el correo electrónico). Elimínelo inmediatamente cuando termine de utilizarlo.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Esta acción está protegida, para continuar por favor vuelva a introducir su contraseña maestra para verificar su identidad.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha requerido</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha fallido. Por favor, inténtalo de nuevo.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Contraseña maestra actualizada</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Actualizar contraseña maestra</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Su contraseña maestra ha sido cambiada recientemente por un administrador de su organización. Para acceder a la caja fuerte, debe actualizar su contraseña maestra ahora. Proceder le desconectará de su sesión actual, requiriendo que vuelva a iniciar sesión. Las sesiones activas en otros dispositivos pueden seguir estando activas durante una hora.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Actualizando contraseña</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Actualmente no se puede actualizar la contraseña</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remueve Contraseña Maestra</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Si no desea eliminar su contraseña maestra, puede abandonar esta organización.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Abandonar Organización</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>¿Abandonar {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Para continuar, tenga preparada su llave de seguridad habilitada para WebAuthn FIDO2, luego siga las instrucciones después de hacer clic en 'Autenticar WebAuthn' en la siguiente pantalla.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Autenticación usando FIDO2 WebAuthn, puede autenticarse usando una llave de seguridad externa.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Autenticar WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Volver a la App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Por favor, asegúrese de que su navegador por defecto soporta WebAuthn e inténtelo de nuevo.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Esta organización tiene una política empresarial que lo inscribirá automáticamente en el restablecimiento de contraseña. La inscripción permitirá a los administradores de la organización cambiar su contraseña maestra.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Las políticas de su organización están afectando el tiempo de espera de tu caja fuerte. El máximo permitido de tiempo de espera es {0} hora(s) y {1} minuto(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>El tiempo de espera de tu caja fuerte excede las restricciones establecidas por tu organización.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Una o más políticas de organización impiden que usted exporte su caja fuerte personal.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Tu cuenta y todos los datos asociados serán borrados e irrecuperables. ¿Estás seguro de que quieres continuar?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Eliminar tu cuenta</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Tu cuenta ha sido eliminada permanentemente</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Código de verificación no válido.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Enviar código</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Enviando</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Salvesta</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Teisalda</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Salvestan...</value>
<comment>Message shown when interacting with the server</comment>
@@ -708,7 +711,7 @@
<value>Kirje vaatamine</value>
</data>
<data name="WebVault" xml:space="preserve">
<value>Bitwardeni Veebihoidla</value>
<value>Bitwarden veebihoidla</value>
</data>
<data name="Lost2FAApp" xml:space="preserve">
<value>Kaotasid autentimise rakenduse?</value>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Otsid "{0}" automaattäite kirjet.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Jaga oma hoidlat</value>
<data name="LearnOrg" xml:space="preserve">
<value>Info organisatsioonide kohta</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Rakendust "{0}" ei ole võimalik avada.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Perekonnanimi</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Täisnimi</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Litsentsi number</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Peidetud</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Ühenduses</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Tekst</value>
</data>
@@ -1237,13 +1246,13 @@
<comment>An entity of multiple related people (ex. a team or business organization).</comment>
</data>
<data name="HoldYubikeyNearTop" xml:space="preserve">
<value>Hoia oma Yubikey seadme ülaosa ligidal.</value>
<value>Hoia oma Yubikey seadme ülaosa lähedal.</value>
</data>
<data name="TryAgain" xml:space="preserve">
<value>Proovi uuesti</value>
</data>
<data name="YubiKeyInstructionIos" xml:space="preserve">
<value>Jätkamiseks hoia YubiKey NEO-d oma seadme tagumise poole vastu.</value>
<value>Jätkamiseks hoia oma YubiKey NEO seadme tagumise poole vastas.</value>
</data>
<data name="BitwardenAutofillAccessibilityServiceDescription2" xml:space="preserve">
<value>Juurdepääsetavuse teenus võib abiks olla olukordades, kus rakendused ei toeta standardset automaattäite teenust.</value>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Puuduvad kollektsioonid, mida kuvada.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} teisaldati {1}'sse.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Kirje on jagatud.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Jaga kirjet</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Teisalda organisatsiooni</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Puuduvad organisatsioonid, mida kuvada.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Vali organisatsioon, millega soovid seda kirjet jagada. Jagamisega saab kirje omanikuks organisatsioon. Pärast kirje jagamist ei ole sa enam selle otsene omanik.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Vali organisatsioon, kuhu soovid seda kirjet teisaldada. Teisaldamisega saab kirje omanikuks organisatsioon. Pärast kirje teisaldamist ei ole sa enam selle otsene omanik.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Sõnade arv</value>
@@ -1424,8 +1440,8 @@
<value>Konto sõrmejälje fraas</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden võimaldab sul hoidla sisu teiste kasutajatega jagada, kasutades selleks organisatsiooni kontot. Soovid külastada lehekülge bitwarden.com ja selle kohta rohkem lugeda?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwardeniga saad oma hoidla sisu teistega jagada, kasutades selleks organisatsiooni kontot. Kas soovid selle kohta lisateavet ja avada bitwarden.com veebilehe?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Ekspordi hoidla</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Lukusta lahti</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Hoidla lahtilukustamine</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuti pärast</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Hoidla on lukus. Jätkamiseks sisesta PIN kood.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Hoidla on lukus. Jätkamiseks kinnita oma identiteet.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Tume</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Muuda rakenduse värvikujundust.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Nõutav on rakenduse taaskäivitamine.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Taaskäivitub...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Vaikeväärtus (süsteem)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Kopeeri märkus</value>
@@ -1564,13 +1582,13 @@
<value>Sessioon on aegunud.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Kinnita läbi biomeetria.</value>
<value>Kinnita biomeetriaga.</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>biomeetriaga</value>
</data>
<data name="UseBiometricsToUnlock" xml:space="preserve">
<value>Kasuta lahtilukustamiseks biomeetriat</value>
<value>Lukusta lahti biomeetriaga</value>
</data>
<data name="AccessibilityOverlayPermissionAlert" xml:space="preserve">
<value>Bitwarden vajab tähelepanu! Vaata Seaded - Juurdepääsetavuse teenuse seaded.</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Hoidlas olevate andmete eksportimiseks on vajalik ülemparooli sisestamine.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Saada kinnituskood oma e-postile</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Kood on saadetud!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Jätkamiseks kinnita oma identiteet.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Eksporditav fail sisaldab hoidla sisu, mis on krüpteeringuta. Seda faili ei tohiks kaua käidelda ning mitte mingil juhul ebaturvaliselt saata (näiteks e-postiga). Kustuta see koheselt pärast kasutamist.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>See tegevus on kaitstud. Jätkamiseks sisesta oma ülemparool.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha kinnitamine</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha kinnitamine nurjus. Proovi uuesti.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Uuendas ülemparooli</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Ülemparooli uuendamine</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Organisatsiooni administraator muutis hiljuti sinu ülemparooli. Hoidlale ligi pääsemiseks pead ülemparooli uuendama. Jätkates logitakse sind käimasolevast sessioonist välja, misjärel nõutakse uuesti sisselogimist. Teistes seadmetes olevad aktiivsed sessioonid jäävad aktiivseks kuni üheks tunniks.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Parooli uuendamine</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Parooli uuendamine pole hetkel võimalik</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Eemalda ülemparool</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} kasutab SSO-d koos kliendi poolt hallatava krüpteeringuga. Jätkamisel eemaldatakse sinu kontolt ülemparool ning nõutakse sisselogimist läbi SSO.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Kui sa ei soovi oma ülemparooli eemaldada, saad sellest organisatsioonist lahkuda.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Lahku organisatsioonist</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Lahkud {0}-st?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Jätkamiseks pane valmis oma FIDO2 WebAuthn võimekusega turvavõti. Seejärel kliki "WebAuthn kinnitamine" ja järgi juhiseid.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>FIDO2 WebAuthn kinnitamiseks pead kasutama välist turvavõtit.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>WebAuthn kinnitamine</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Tagasi rakendusse</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Veendu, et sinu brauser toetab WebAuthn-i ja proovi uuesti.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Selle organisatsiooni poliitika kohaselt liidetakse sind automaatselt ülemparooli lähtestamise funktsiooniga. Liitumisel saavad organisatsiooni administraatorid sinu ülemparooli muuta.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Organisatsiooni poliitikad mõjutavad sinu hoidla ajalõppu. Maksimaalne lubatud hoidla ajalõpp on {0} tund(i) ja {1} minut(it)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Valitud hoidla ajalõpp ei ole organisatsiooni poolt määratud reeglitega kooskõlas.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Üks või enam organisatsiooni poliitikat ei võimalda sul oma personaalset hoidlat eksportida.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Kustuta konto</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Konto kustutamist ei saa ennistada</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Konto koos kõikide andmetega kustutatakse ning seda ei saa taastada. Oled kindel, et soovid jätkata? </value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Konto kustutamine </value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Sinu konto on lõplikult kustutatud</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Vale kinnituskood</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Saada kood</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Saatmine</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>ذخیره</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>انتقال</value>
</data>
<data name="Saving" xml:space="preserve">
<value>درحال ذخیره...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>شما به دنبال یافتن یک پر کردن خودکار برای "{0}" هستید.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>اشتراک گذاری گاوصندوقتان</value>
<data name="LearnOrg" xml:space="preserve">
<value>درباره سازمانها اطلاعات کسب کنید</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>نمیتوان برنامه را باز کرد "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>نام خانوادگی</value>
</data>
<data name="FullName" xml:space="preserve">
<value>نام کامل</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>شماره مجوز</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>مخفی</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>لینک شده</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>متن</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>هیچ مجموعه ای برای لیست کردن وجود ندارد.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} منتقل شد به {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>مورد به اشتراک گذاشته شد.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>اشتراک گذاری مورد</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>انتقال به سازمان</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>هیچ سازمانی برای نمایش وجود ندارد.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>تشکیلاتی که میخواهید این مورد را با آن به اشتراک بگذارید انتخاب کنید. پس از اشتراک گذاری مالکیت موارد به آن تشکیلات انتقال می یابد. شما دیگر نمی توانید صاحب اصلی این مورد پس از اشتراک گذاری آن باشید.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>سازمانی را انتخاب کنید که می خواهید این مورد را به آن منتقل کنید. انتقال به یک سازمان، مالکیت مورد را به آن سازمان منتقل می کند. پس از انتقال این مورد، دیگر مالک مستقیم آن نخواهید بود.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>تعداد کلمات</value>
@@ -1424,8 +1440,8 @@
<value>عبارت اثر انگشت حساب شما</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden به شما اجازه می دهد با استفاده از سازماندهی حساب، گاوصندوقهای خود را با دیگران به اشتراک بگذارید. آیا مایل به بازدید از وب سایت bitwarden.com برای کسب اطلاعات بیشتر هستید؟</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden به شما اجازه می دهد با استفاده از سازماندهی حساب، موارد گاوصندوق خود را با دیگران به اشتراک بگذارید. آیا مایل به بازدید از وب سایت bitwarden.com برای کسب اطلاعات بیشتر هستید؟</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>خروجی گرفتن از گاوصندوق</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>باز کردن قفل</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>بازگشایی گاوصندوق</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>۳۰ دقیقه</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>گاوصندوق شما قفل شده است. برای ادامه کد پین خود را تأیید کنید.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>گاوصندوق شما قفل شده است. برای ادامه هویت خود را تایید کنید.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>تیره</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>تغییر رنگ پوسته برنامه.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>راه اندازی مجدد لازم است.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>در حال راه‌اندازی مجدد...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>پیش فرض (سیستم)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>رونوشت یادداشتها</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>کلمه عبور اصلی خود را برای خروجی گرفتن از گاوصندوقتان وارد کنید.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>ارسال یک کد تأیید به ایمیل شما</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>کد ارسال شد!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>برای ادامه هویت خود را تأیید کنید.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>این خروجی شامل داده‌های گاوصندوق در یک قالب رمزنگاری نشده است. شما نباید آن را از طریق یک راه ارتباطی ناامن (مثل ایمیل) ذخیره یا ارسال کنید. به محض اینکه استفاده‌تان از آن تمام شد، آن را حذف کنید.</value>
</data>
@@ -1999,4 +2026,95 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>این عمل محافظت می شود. برای ادامه، لطفاً کلمه ورود اصلی خود را دوباره وارد کنید تا هویتان را تأیید کنید.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>نیازمند کپچا</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>کپچا اشتباه بود. لطفا دوباره سعی کنید.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>کلمه عبور اصلی بروز شد</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>بروزرسانی کلمه عبور اصلی</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>کلمه عبور اصلی شما اخیراً توسط سرپرست سازمانتان تغییر کرده است. برای دسترسی به گاوصندوق، باید همین حالا کلمه عبور اصلی خود را به روز کنید. در صورت ادامه، شما از نشست فعلی خود خارج می شوید و باید دوباره وارد سیستم شوید. نشست فعال در دستگاه های دیگر ممکن است تا یک ساعت همچنان فعال باقی بمانند.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>در حال به روز رسانی رمز عبور...</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>در حال حاضر نمی توان کلمه عبور را به روز کرد</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>پاک کردن کلمه عبور اصلی</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} از SSO با رمزگذاری مدیریت شده توسط مشتری استفاده می کند. ادامه، کلمه عبور اصلی شما را از حساب شما حذف می کند و نیاز به ورود SSO دارد.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>اگر نمی‌خواهید کلمه عبور اصلی خود را حذف کنید، می‌توانید این سازمان را ترک کنید.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>ترک سازمان</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>{0} را ترک می‌کنید؟</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn
</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>برای ادامه، کلید امنیتی FIDO2 WebAuthn خود را فعال کنید و دستورالعمل ها را پس از کلیک روی "احراز هویت WebAuthn" در صفحه بعدی دنبال کنید.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>احراز هویت با استفاده از FIDO2 WebAuthn، می توانید با استفاده از یک کلید امنیتی خارجی احراز هویت کنید.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>تأیید اعتبار در WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>بازگشت به برنامه</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>لطفاً مطمئن شوید که مرورگر پیش فرض شما از WebAuthn پشتیبانی می کند و دوباره امتحان کنید.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>این سازمان دارای خط مشی سازمانی ای است که به طور خودکار شما را در بازنشانی کلمه عبور ثبت نام می کند. این ثبت نام به مدیران سازمان اجازه می دهد تا کلمه عبور اصلی شما را تغییر دهند.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>خط مشی های سازمانتان بر مهلت زمانی گاوصندوق شما تأثیر می گذارد. حداکثر زمان مجاز گاوصندوق {0} ساعت و {1} دقیقه است</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>مهلت زمانی شما بیش از محدودیت های تعیین شده توسط سازمانتان است.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>یک یا چند خط مشی سازمان از صادرات گاوصندوق شخصی شما جلوگیری می کند.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>حذف حساب</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>حذف حساب شما دائمی است</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>حساب شما و تمام داده های مرتبط پاک می شود و قابل بازیابی نیست. آیا مطمئن هستید که میخواهید ادامه دهید؟</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>در حال حذف حساب شما</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>حساب شما برای همیشه حذف شده است</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>کد تایید نامعتبر است.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>ارسال کد</value>
</data>
<data name="Sending" xml:space="preserve">
<value>درحال ارسال</value>
</data>
</root>

View File

@@ -216,10 +216,10 @@
<comment>Label for a folder.</comment>
</data>
<data name="FolderCreated" xml:space="preserve">
<value>Uusi kansio luotiin.</value>
<value>Uusi kansio luotu.</value>
</data>
<data name="FolderDeleted" xml:space="preserve">
<value>Kansio poistettiin.</value>
<value>Kansio poistettu.</value>
</data>
<data name="FolderNone" xml:space="preserve">
<value>Ei kansiota</value>
@@ -229,7 +229,7 @@
<value>Kansiot</value>
</data>
<data name="FolderUpdated" xml:space="preserve">
<value>Kansio päivitettiin.</value>
<value>Kansio päivitetty.</value>
</data>
<data name="GoToWebsite" xml:space="preserve">
<value>Mene sivustolle</value>
@@ -243,7 +243,7 @@
<comment>Hide a secret value that is currently shown (password).</comment>
</data>
<data name="InternetConnectionRequiredMessage" xml:space="preserve">
<value>Yhdistä internetiin jatkaaksesi.</value>
<value>Yhdistä Internetiin jatkaaksesi.</value>
<comment>Description message for the alert when internet connection is required to continue.</comment>
</data>
<data name="InternetConnectionRequiredTitle" xml:space="preserve">
@@ -261,11 +261,11 @@
<comment>The button text that allows user to launch the website to their web browser.</comment>
</data>
<data name="LogIn" xml:space="preserve">
<value>Kirjaudu sisään</value>
<value>Kirjaudu</value>
<comment>The login button text (verb).</comment>
</data>
<data name="LogInNoun" xml:space="preserve">
<value>Kirjaudu sisään</value>
<value>Kirjautuminen</value>
<comment>Title for login page. (noun)</comment>
</data>
<data name="LogOut" xml:space="preserve">
@@ -310,6 +310,9 @@
<value>Tallenna</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Siirrä</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Tallennetaan...</value>
<comment>Message shown when interacting with the server</comment>
@@ -323,7 +326,7 @@
<comment>Reveal a hidden value (password).</comment>
</data>
<data name="ItemDeleted" xml:space="preserve">
<value>Kohde poistettiin.</value>
<value>Kohde poistettu.</value>
<comment>Confirmation message after successfully deleting a login.</comment>
</data>
<data name="Submit" xml:space="preserve">
@@ -356,7 +359,7 @@
<comment>Validation message for when a form field is left blank and is required to be entered.</comment>
</data>
<data name="ValueHasBeenCopied" xml:space="preserve">
<value>{0} kopioitiin.</value>
<value>{0} kopioitu.</value>
<comment>Confirmation message after suceessfully copying a value to the clipboard.</comment>
</data>
<data name="VerifyFingerprint" xml:space="preserve">
@@ -412,7 +415,7 @@
<value>Bitwardenin sovelluslaajennus</value>
</data>
<data name="BitwardenAppExtensionAlert2" xml:space="preserve">
<value>Helpoin tapa lisätä holviisi uusia kirjautumistietoja on käyttää Bitwardenin sovelluslaajennusta. Asetuksista löydät lisätietoja laajennuksesta.</value>
<value>Helpoin tapa lisätä holviisi uusia kirjautumistietoja on käyttää Bitwardenin sovelluslaajennusta. Asetusten "Lisäasetukset" -osiosta löydät lisätietoja laajennuksesta.</value>
</data>
<data name="BitwardenAppExtensionDescription" xml:space="preserve">
<value>Käytä Bitwardenia kirjautumistietojesi automaattiseen täyttöön Safarissa ja muissa sovelluksissa.</value>
@@ -585,7 +588,7 @@
<value>Ei koskaan</value>
</data>
<data name="NewItemCreated" xml:space="preserve">
<value>Uusi kohde luotiin.</value>
<value>Uusi kohde luotu.</value>
</data>
<data name="NoFavorites" xml:space="preserve">
<value>Holvissasi ei ole suosikkeja.</value>
@@ -613,7 +616,7 @@
<value>Muut</value>
</data>
<data name="PasswordGenerated" xml:space="preserve">
<value>Salasana luotiin.</value>
<value>Salasana generoitu.</value>
</data>
<data name="PasswordGenerator" xml:space="preserve">
<value>Salasanageneraattori</value>
@@ -662,7 +665,7 @@
<value>Kohteen tiedot</value>
</data>
<data name="ItemUpdated" xml:space="preserve">
<value>Kohde päivitettiin.</value>
<value>Kohde päivitetty.</value>
</data>
<data name="Submitting" xml:space="preserve">
<value>Käsitellään…</value>
@@ -692,10 +695,10 @@
<value>Kaksivaiheinen kirjautuminen tekee tilistäsi turvallisemman edellyttämällä salasanan lisäksi kirjautumisen lisätodennusta todennuslaitteen, sovelluksen, tekstiviestin, puhelun tai sähköpostin avulla. Voit ottaa kaksivaiheisen kirjautumisen käyttöön bitwarden.comverkkoholvissa. Haluatko käydä sivustolla nyt?</value>
</data>
<data name="UnlockWith" xml:space="preserve">
<value>Avaa biometrialla: {0}</value>
<value>Avaustapa: {0}</value>
</data>
<data name="UnlockWithPIN" xml:space="preserve">
<value>Avaa PIN-koodilla</value>
<value>Avaus PIN-koodilla</value>
</data>
<data name="Validating" xml:space="preserve">
<value>Vahvistetaan</value>
@@ -750,7 +753,7 @@
<value>2. Laita asetus päälle ja paina OK-painiketta hyväksyäksesi.</value>
</data>
<data name="Disabled" xml:space="preserve">
<value>Poistettu käytöstä</value>
<value>Ei käytössä</value>
</data>
<data name="Enabled" xml:space="preserve">
<value>Käytössä</value>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Etsit automaattisesti täytettävää kohdetta osoitteelle ”{0}”.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Jaa holvisi</value>
<data name="LearnOrg" xml:space="preserve">
<value>Lisätietoja organisaatioista</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Sovelluksen ”{0}” avaus ei onnistunut.</value>
@@ -806,7 +809,7 @@
<comment>For 2FA whenever there are no available providers on this device.</comment>
</data>
<data name="NoTwoStepAvailable" xml:space="preserve">
<value>Tilillä on käytössä kaksivaiheinen kirjautuminen, mutta tämä alusta ei tue käytettävissä olevia todennusmenetelmiä. Käytä yhteensopivaa laitetta ja/tai ota käyttöön laajemmin tuettuja todennusmenetelmiä (kuten todennussovellus).</value>
<value>Tilillä on käytössä kaksivaiheinen kirjautuminen, mutta tämä laite ei tue käytettävissä olevia todentajia. Käytä yhteensopivaa laitetta ja lisää/tai ota käyttöön laajemmin tuettuja todentajia (kuten todennussovellus).</value>
</data>
<data name="RecoveryCodeTitle" xml:space="preserve">
<value>Palautuskoodi</value>
@@ -831,11 +834,11 @@
<comment>For 2FA</comment>
</data>
<data name="VerificationEmailSent" xml:space="preserve">
<value>Todennussähköposti lähetettiin.</value>
<value>Todennussähköposti lähetetty.</value>
<comment>For 2FA</comment>
</data>
<data name="YubiKeyInstruction" xml:space="preserve">
<value>Aseta YubiKey NEO -todenuslaite laitettasi vasten tai kytke YubiKey-todenuslaite laitteesi USB-porttiin ja paina sen painiketta.</value>
<value>Aseta YubiKey NEO -todenuslaite laitettasi vasten tai kytke YubiKey-todennuslaite laitteesi USB-porttiin ja paina sen painiketta.</value>
</data>
<data name="YubiKeyTitle" xml:space="preserve">
<value>YubiKey-todennuslaite</value>
@@ -869,7 +872,7 @@
<comment>Totp code label</comment>
</data>
<data name="AuthenticatorKeyAdded" xml:space="preserve">
<value>Todennusmenetelmän avain lisättiin.</value>
<value>Todennusmenetelmän avain lisätty.</value>
</data>
<data name="AuthenticatorKeyReadError" xml:space="preserve">
<value>Todennusavaimen luku epäonnistui.</value>
@@ -902,10 +905,10 @@
<value>Käyttääksesi tätä toimintoa tarvitset Premium-jäsenyyden.</value>
</data>
<data name="AttachementAdded" xml:space="preserve">
<value>Tiedostoliite lisättiin</value>
<value>Tiedostoliite lisätty</value>
</data>
<data name="AttachmentDeleted" xml:space="preserve">
<value>Tiedostoliite poistettiin</value>
<value>Tiedostoliite poistettu</value>
</data>
<data name="ChooseFile" xml:space="preserve">
<value>Valitse tiedosto</value>
@@ -944,7 +947,7 @@
<value>Edistyneille käyttäjille. Voit määrittää jokaiselle palvelulle oman pääverkkotunnuksen.</value>
</data>
<data name="EnvironmentSaved" xml:space="preserve">
<value>Palvelinten URL-osoitteet tallennettiin.</value>
<value>Palvelinten URL-osoitteet tallennettu.</value>
</data>
<data name="FormattedIncorrectly" xml:space="preserve">
<value>{0} on muotoiltu virheellisesti.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Sukunimi</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Koko nimi</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Ajokortin numero</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Piilotettu teksti</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linkitetty</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Teksti</value>
</data>
@@ -1249,7 +1258,7 @@
<value>Esteettömyyspalvelu voi olla hyödyllinen sellaisten sovellusten kanssa, jotka eivät tue tavallista automaattisen täytön palvelua.</value>
</data>
<data name="DatePasswordUpdated" xml:space="preserve">
<value>Salasana päivitettiin</value>
<value>Salasana päivitetty</value>
<comment>ex. Date this password was updated</comment>
</data>
<data name="DateUpdated" xml:space="preserve">
@@ -1266,7 +1275,7 @@
<value>Kirjautumistietosi ovat nyt helposti saatavilla suoraan näppäimistöltäsi kun olet kirjautumassa sovelluksiin ja verkkosivustoille.</value>
</data>
<data name="AutofillSetup2" xml:space="preserve">
<value>Suosittelemme poistamaan kaikki muut automaattisen täytön sovellukset käytöstä järjetelmän asetuksista, jos et aio käyttää niitä.</value>
<value>Suosittelemme poistamaan kaikki muut automaattisen täytön sovellukset käytöstä järjestelmän asetuksista, jollet aio käyttää niitä.</value>
</data>
<data name="BitwardenAutofillDescription" xml:space="preserve">
<value>Käytä holviasi suoraan näppäimistöltä nopeaa salasanojen automaattista täyttöä varten.</value>
@@ -1378,8 +1387,12 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Ei näytettäviä kokoelmia.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} siirrettiin organisaatiolle {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Kohde jaettiin.</value>
<value>Kohde jaettu.</value>
</data>
<data name="SelectOneCollection" xml:space="preserve">
<value>Valitse ainakin yksi kokoelma.</value>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Jaa kohde</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Siirrä organisaatiolle</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Ei näytettäviä organisaatioita.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Valitse organisaatio, jonka kanssa haluat jakaa kohteen. Jako siirtää kohteen organisaation omistukseen, etkä tämän jälkeen ole enää sen suora omistaja.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Valitse organisaatio, jolle haluat siirtää kohteen. Tämä siirtää kohteen organisaation omistukseen, etkä tämän jälkeen ole enää sen suora omistaja.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Sanojen määrä</value>
@@ -1424,7 +1440,7 @@
<value>Tilisi tunnistelauseke</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwardenin avulla voit jakaa holvisi sisältöä muiden kanssa organisaatiotiliä käyttäen. Haluatko lukea bitwarden.com-sivustolta lisää?</value>
</data>
<data name="ExportVault" xml:space="preserve">
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Avaa</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Avaa holvi</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuuttia</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Holvisi on lukittu. Vahvista PIN-koodisi jatkaaksesi.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Holvisi on lukittu. Vahvista henkilöllisyytesi jatkaaksesi.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Tumma</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Vaihda sovelluksen väriteemaa.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Tarvitaan udelleenkäynnistys.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Käynnistetään uudelleen...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Oletus (järjestelmä)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Kopioi muistiinpanot</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Syötä pääsalasanasi viedäksesi holvisi tiedot.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Lähetä vahvistuskoodi sähköpostiisi</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Koodi lähetetty</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Vahvista henkilöllisyytesi jatkaaksesi.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Tämä vienti sisältää holvisi tiedot salaamattomassa muodossa. Sinun ei tulisi säilyttää tai lähettää vietyä tiedostoa suojaamattomien kanavien (kuten sähköpostin) välityksellä. Poista se välittömästi kun sille ei enää ole käyttöä.</value>
</data>
@@ -1661,7 +1688,7 @@
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Kohde palautettiin.</value>
<value>Kohde palautettu.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Toiminto on suojattu. Jatkaaksesi, syötä pääsalasanasi uudelleen vahvistaaksesi henkilöllisyytesi.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha-vahvistus vaaditaan</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha-vahvistus epäonnistui. Yritä uudelleen.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Pääsalasana on päivitetty</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Päivitä pääsalasana</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Organisaatiosi ylläpito on hiljattain vaihtanut pääsalasanasi. Käyttääksesi holvia, on sinun päivitettävä se nyt. Tämä uloskirjaa kaikki nykyiset istunnot pakottaen uudelleenkirjautumisen. Muiden laitteiden aktiiviset istunnot saattavat toimia vielä tunnin ajan.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Salasanaa päivitetään</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Salasanan päivitys ei tällä hetkellä onnistu</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Poista pääsalasana</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} käyttää SSO:ta asiakkaan hallitsemalla salauksella. Jos jatkat, poistetaan tilitäsi pääsalasana ja jatkossa on käytettävä SSO-kirjautumista.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Jollet halua poistaa pääsalasanaasi, voit poistua tästä organisaatiosta.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Poistu organisaatiosta</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Poistutaanko organisaatiosta {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Jatkaaksesi, pidä FIDO2 WebAuthn -todennuslaitteesi valmiina ja seuraa ohjeita napautettuasi seuraavasta näytöstä 'WebAuthn-todennus'.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>FIDO2 WebAuthn -tunnistautumisen voi todentaa ulkoisella todennuslaitteella.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>WebAuthn-todennus</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Palaa sovellukseen</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Varmista, että oletusselaimesi sisältää WebAuthn-tuen ja yritä uudelleen.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Organisaatiolla on käytäntö, joka liittää tilisi automaattisesti salasanan palautusapuun. Liitos sallii organisaation ylläpitäjien vaihtaa pääsalasanasi.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Organisaatiosi käytännöt vaikuttavat holvisi aikakatkaisuun. Suurin sallittu viive on {0} tunti(a) ja {1} minuutti(a)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Holvisi aikakatkaisuviive ylittää organisaatiosi asettamat rajoitukset.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Yksi tai useampi organisaation käytäntö estää henkilökohtaisen holvisi viennin.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Poista tili</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Tilin poisto on pysyvä toimenpide</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Tilisi ja kaikki siihen liittyvät tiedot poistetaan, eikä niitä voida palauttaa. Haluatko varmasti jatkaa?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Tiliäsi poistetaan</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Tilisi on poistettu pysyvästi</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Virheellinen todennuskoodi.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Lähetä koodi</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Lähetetään</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Save</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Saving...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>You are searching for an auto-fill item for "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Share Your Vault</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Cannot open the app "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Last Name</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>License Number</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Hidden</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Text</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>There are no collections to list.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item has been shared.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Share Item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No organizations to list.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Number of Words</value>
@@ -1424,8 +1440,8 @@
<value>Your account's fingerprint phrase</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Export Vault</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Your vault is locked. Verify your PIN code to continue.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Dark</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Change the application's color theme.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Restart is required.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Restarting...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copy Notes</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Enter your master password to export your vault data.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>This export contains your vault 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.</value>
</data>
@@ -1864,7 +1891,7 @@
<value>Maximum Access Count</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>If set, users will no longer be able to access this send once the maximum access count is reached.</value>
<value>If set, users will no longer be able to access this Send once the maximum access count is reached.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
@@ -2000,4 +2027,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Enregistrer</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Déplacer</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Enregistrement...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Vous recherchez un élément pour remplir automatiquement « {0} ».</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Partager votre coffre</value>
<data name="LearnOrg" xml:space="preserve">
<value>En savoir plus sur les organisations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Impossible d'ouvrir l'application "{0}".</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Nom de famille</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Nom complet</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Numéro de permis</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Masqué</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Lié</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Texte</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Aucune collection à afficher.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} déplacé vers {1}</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>L'élément a été partagé.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Partager l'élément</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Déplacer vers l'organisation</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Aucune organisation à afficher.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Choisissez une organisation avec laquelle vous voulez partager cet élément. Le partage transfère la propriété de l'élément à l'organisation. Vous ne serez plus le propriétaire direct de cet élément après le partage.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Nombre de mots</value>
@@ -1424,8 +1440,8 @@
<value>La phrase d'empreinte de votre compte</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden vous permet de partager votre coffre avec d'autres personnes en utilisant un compte d'organisation. Souhaitez-vous visiter le site web bitwarden.com pour en savoir plus ?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden vous permet de partager vos éléments de coffre avec dautres personnes en utilisant un compte dorganisation. Voulez-vous visiter le site web de bitwarden.com pour en savoir plus ?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Exporter le coffre</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Déverrouiller</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Votre coffre est verrouillé. Saisissez votre code PIN pour continuer.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Sombre</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Modifiez le thème de couleur de l'application.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Redémarrage requis.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Redémarrage...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Par défaut (Système)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Copier les notes</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Saisissez votre mot de passe maître pour exporter les données de votre coffre.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Cet export contient les données de votre coffre dans un format non chiffré. Vous ne devriez ni le stocker ni l'envoyer via des canaux non sécurisés (tel que par e-mail). Supprimez-le immédiatement après l'avoir utilisé.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Cette action est protégée. Pour continuer, veuillez ressaisir votre mot de passe maître pour vérifier votre identité.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha obligatoire</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Le captcha a échoué. Veuillez réessayer.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Mot de passe principal mis à jour</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Mettre à jour le mot de passe principal</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Mise à jour du mot de passe</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Impossible de mettre à jour le mot de passe pour le moment</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Supprimer le mot de passe maître</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Quitter lorganisation</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Quitter {0} ?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Retourner à lapplication</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Assurez-vous que votre navigateur par défaut prend en charge WebAuthn et réessayez.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Supprimer le compte</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>La suppression de votre compte est permanente</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Votre compte et toutes les données associées seront effacées et irrécupérables. Êtes-vous sûr de vouloir continuer ?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Suppression de votre compte</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Votre compte a été définitivement supprimé</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Code de vérification invalide.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>שמור</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>העבר</value>
</data>
<data name="Saving" xml:space="preserve">
<value>שומר...</value>
<comment>Message shown when interacting with the server</comment>
@@ -783,8 +786,8 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>אתה מחפש פריט להשלמה אוטומטית עבור "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>שתף את הכספת שלך</value>
<data name="LearnOrg" xml:space="preserve">
<value>למד אודות הארגונים</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>לא ניתן לפתוח את האפליקציה "{0}".</value>
@@ -1057,6 +1060,9 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="LastName" xml:space="preserve">
<value>שם משפחה</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>מספר רשיון</value>
</data>
@@ -1181,6 +1187,9 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="FieldTypeHidden" xml:space="preserve">
<value>מוסתר</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>טקסט</value>
</data>
@@ -1379,6 +1388,10 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="NoCollectionsToList" xml:space="preserve">
<value>אין אוספים להציג ברשימה.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} מועבר אל {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>הפריט שותף.</value>
</data>
@@ -1391,11 +1404,16 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="ShareItem" xml:space="preserve">
<value>שתף פריט</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>העבר לארגון</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>אין ארגונים להצגה ברשימה.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>בחר ארגון שאיתו תרצה לשתף פריט זה. השיתוף מעביר את הבעלות על הפריט לארגון. אתה לא תהיה הבעלים הישיר של הפריט לאחר השיתוף.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>בחר ארגון שאליו ברצונך להעביר פריט זה.
מעבר לארגון מעביר את הבעלות על הפריט לאותו ארגון.
לא תהיה עוד הבעלים הישיר של פריט זה לאחר שהוא יועבר.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>מספר מילים</value>
@@ -1425,8 +1443,9 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<value>הסיסמה של טביעת האצבעות בחשבון שלך</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>תוכנת Bitwarden מאפשרת לך לשתף את הכספת עם אחרים בעזרת חשבון ארגון. האם תרצה לבקר באתר bitwarden.com ללמוד עוד בנושא זה?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden מאפשר לך לשתף את פריטי הכספת שלך עם אחרים באמצעות חשבון ארגוני.
האם תרצה לבקר באתר bitwarden.com כדי ללמוד עוד?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>יצוא כספת</value>
@@ -1440,6 +1459,9 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="Unlock" xml:space="preserve">
<value>בטל נעילה</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 דקות</value>
</data>
@@ -1456,6 +1478,9 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="VaultLockedPIN" xml:space="preserve">
<value>הכספת שלך נעולה. הזן את קוד הPIN שלך כדי להמשיך.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>כהה</value>
<comment>A dark color</comment>
@@ -1501,12 +1526,8 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="ThemeDescription" xml:space="preserve">
<value>שנה את ערכת הצבע של האפליקציה.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>דרושה הפעלה מחדש.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>מפעיל מחדש...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>ברירת מחדל (מערכת)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>העתק פתקים</value>
@@ -1600,14 +1621,23 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>הזן את הסיסמה הראשית שלך עבור יצוא המידע מהכספת.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>הקובץ מכיל את פרטי הכספת שלך בפורמט לא מוצפן. מומלץ להעביר את הקובץ רק בדרכים מוצפנות, ומאוד לא מומלץ לשמור או לשלוח את הקובץ הזה בדרכים לא מוצפנות (כדוגמת סתם אימייל). מחק את הקובץ מיד לאחר שסיימת את השימוש בו.</value>
</data>
<data name="EncExportKeyWarning" xml:space="preserve">
<value>This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file.</value>
<value>יצוא זה מצפין את המידע שלך בעזרת מפתח ההצפנה הנוכחי שלך. אם תחליף (rotate) את מפתחות ההצפנה של החשבון שלך, עליך לבצע ייצוא חדש משום שלא תוכל לפענח את הקובץ הקיים.</value>
</data>
<data name="EncExportAccountWarning" xml:space="preserve">
<value>Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account.</value>
<value>מפתחות הצפנת חשבון הם ייחודיים לכל חשבון משתמש של Bitwarden, כך שלא ניתן לייבא ייצוא חשבון מוצפן לחשבון אחר.</value>
</data>
<data name="ExportVaultConfirmationTitle" xml:space="preserve">
<value>אישור ייצוא כספת</value>
@@ -1782,19 +1812,19 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<value>השתמש בשירות הנגישות של Bitwarden עבור הצגת מסגרת ההשלמה האוטומטית, ו\או עבור הצגת חלון צף בעזרת Draw-Over (אם אפשרות זו פועלת)</value>
</data>
<data name="AccessibilityDescription4" xml:space="preserve">
<value>Required to use the Autofill Quick-Action Tile, or to augment the Autofill Service by using Draw-Over (if enabled).</value>
<value>נדרש להשתמש בפעולה המהירה למילוי אוטומטי, או כדי להגדיל את שירות המילוי האוטומטי באמצעות Draw-Over (אם מופעל).</value>
</data>
<data name="DrawOver" xml:space="preserve">
<value>Use Draw-Over</value>
<value>השתמש ב-"Draw-Over"</value>
</data>
<data name="DrawOverDescription" xml:space="preserve">
<value>When enabled, allows the Bitwarden Accessibility Service to display a popup when login fields are selected.</value>
<value>כאשר מופעל, מאפשר לשירות הנגישות של Bitwarden להציג חלון קופץ כאשר שדות ההתחברות נבחרים.</value>
</data>
<data name="DrawOverDescription2" xml:space="preserve">
<value>If enabled, the Bitwarden Accessibility Service will display a popup when login fields are selected to assist with auto-filling your logins.</value>
<value>אם מופעל, שירות הנגישות של Bitwarden יציג חלון קופץ כאשר שדות ההתחברות נבחרים כדי לסייע במילוי אוטומטי של פרטי ההתחברות שלך.</value>
</data>
<data name="DrawOverDescription3" xml:space="preserve">
<value>If enabled, accessibility will show a popup to augment the Autofill Service for older apps that don't support the Android Autofill Framework.</value>
<value>אם מופעלת, הנגישות תציג חלון קופץ כדי להגדיל את שירות המילוי האוטומטי עבור אפליקציות ישנות יותר שאינן תומכות באפשרות המילוי האוטומטי של אנדרואיד.</value>
</data>
<data name="PersonalOwnershipSubmitError" xml:space="preserve">
<value>מדיניות הארגון מונעת ממך לשמור פריטים בכספת האישית. שנה את אפשרות הבעלות לארגוניות ובחר מתוך האוספים הזמינים.</value>
@@ -1803,201 +1833,294 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<value>מדיניות ארגונית משפיעה על אפשרויות הבעלות שלך.</value>
</data>
<data name="Send" xml:space="preserve">
<value>Send</value>
<value>חשבון</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AllSends" xml:space="preserve">
<value>All Sends</value>
<value>כל החשבונות</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="Sends" xml:space="preserve">
<value>Sends</value>
<value>חשבונות</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NameInfo" xml:space="preserve">
<value>A friendly name to describe this Send.</value>
<value>שם ידידותי לתיאור חשבון זה.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="TypeText" xml:space="preserve">
<value>Text</value>
<value>טקסט</value>
</data>
<data name="TypeTextInfo" xml:space="preserve">
<value>The text you want to send.</value>
<value>הטקסט שברצונך לשלוח.</value>
</data>
<data name="HideTextByDefault" xml:space="preserve">
<value>When accessing the Send, hide the text by default</value>
<value>בעת גישה לחשבון, הסתר את הטקסט בברירת מחדל</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="TypeFile" xml:space="preserve">
<value>File</value>
<value>קובץ</value>
</data>
<data name="TypeFileInfo" xml:space="preserve">
<value>The file you want to send.</value>
<value>הקובץ שברצונך לשלוח.</value>
</data>
<data name="DeletionDate" xml:space="preserve">
<value>Deletion Date</value>
<value>תאריך מחיקה</value>
</data>
<data name="DeletionTime" xml:space="preserve">
<value>Deletion Time</value>
<value>זמן המחיקה</value>
</data>
<data name="DeletionDateInfo" xml:space="preserve">
<value>The Send will be permanently deleted on the specified date and time.</value>
<value>החשבון יימחק לצמיתות בתאריך ובשעה שצוינו.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="PendingDelete" xml:space="preserve">
<value>Pending deletion</value>
<value>בהמתנה למחיקה</value>
</data>
<data name="ExpirationDate" xml:space="preserve">
<value>Expiration Date</value>
<value>תאריך תפוגה</value>
</data>
<data name="ExpirationTime" xml:space="preserve">
<value>Expiration Time</value>
<value>זמן תפוגת נעילה</value>
</data>
<data name="ExpirationDateInfo" xml:space="preserve">
<value>If set, access to this Send will expire on the specified date and time.</value>
<value>אם מוגדר, הגישה לחשבון זה יפוג בתאריך ובשעה שצוינו.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="Expired" xml:space="preserve">
<value>Expired</value>
<value>פג תוקף</value>
</data>
<data name="MaximumAccessCount" xml:space="preserve">
<value>Maximum Access Count</value>
<value>כמות גישות מרבית</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>If set, users will no longer be able to access this send once the maximum access count is reached.</value>
<value>במידה ויוגדר, משתמשים לא יוכלו יותר לגשת לחשבון זה לאחר שמספר הגישות המרבי יושג.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
<value>Max access count reached</value>
<value>מספר הכניסות המרבי הושג</value>
</data>
<data name="CurrentAccessCount" xml:space="preserve">
<value>Current Access Count</value>
<value>כמות הגישות הנוכחית</value>
</data>
<data name="NewPassword" xml:space="preserve">
<value>New Password</value>
<value>סיסמה חדשה</value>
</data>
<data name="PasswordInfo" xml:space="preserve">
<value>Optionally require a password for users to access this Send.</value>
<value>אופציונלי לדרוש סיסמה למשתמשים כדי לגשת לחשבון זה.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="RemovePassword" xml:space="preserve">
<value>Remove Password</value>
<value>הסר סיסמה</value>
</data>
<data name="AreYouSureRemoveSendPassword" xml:space="preserve">
<value>Are you sure you want to remove the password?</value>
<value>האם אתה בטוח שברצונך להסיר את הסיסמה?</value>
</data>
<data name="RemovingSendPassword" xml:space="preserve">
<value>Removing password</value>
<value>הסרת סיסמה</value>
</data>
<data name="SendPasswordRemoved" xml:space="preserve">
<value>Password has been removed.</value>
<value>הסיסמה הוסרה.</value>
</data>
<data name="NotesInfo" xml:space="preserve">
<value>Private notes about this Send.</value>
<value>הערות פרטיות לגבי חשבון זה.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="DisableSend" xml:space="preserve">
<value>Disable this Send so that no one can access it.</value>
<value>השבת את החשבון הזה כדי שאף אחד לא יוכל לגשת אליו.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NoSends" xml:space="preserve">
<value>There are no Sends in your account.</value>
<value>אין פריטים בכספת שלך.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AddASend" xml:space="preserve">
<value>Add a Send</value>
<value>הוסף פריט</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="CopyLink" xml:space="preserve">
<value>Copy Link</value>
<value>העתק קישור</value>
</data>
<data name="ShareLink" xml:space="preserve">
<value>Share Link</value>
<value>שתף קישור</value>
</data>
<data name="SendLink" xml:space="preserve">
<value>Send link</value>
<value>שלח קישור</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SearchSends" xml:space="preserve">
<value>Search Sends</value>
<value>חיפוש חשבון</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="EditSend" xml:space="preserve">
<value>Edit Send</value>
<value>עריכת חשבון</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AddSend" xml:space="preserve">
<value>Add Send</value>
<value>הוספת חשבון חדש</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AreYouSureDeleteSend" xml:space="preserve">
<value>Are you sure you want to delete this Send?</value>
<value>האם אתה בטוח שברצונך למחוק פריט זה?</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendDeleted" xml:space="preserve">
<value>Send has been deleted.</value>
<value>החשבון נמחק בהצלחה</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendUpdated" xml:space="preserve">
<value>Send updated.</value>
<value>החשבון התעדכן</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NewSendCreated" xml:space="preserve">
<value>New send created.</value>
<value>חשבון חדש נוצר</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="OneDay" xml:space="preserve">
<value>1 day</value>
<value>יום אחד</value>
</data>
<data name="TwoDays" xml:space="preserve">
<value>2 days</value>
<value>יומיים</value>
</data>
<data name="ThreeDays" xml:space="preserve">
<value>3 days</value>
<value>3 ימים</value>
</data>
<data name="SevenDays" xml:space="preserve">
<value>7 days</value>
<value>7 ימים</value>
</data>
<data name="ThirtyDays" xml:space="preserve">
<value>30 days</value>
<value>30 ימים</value>
</data>
<data name="Custom" xml:space="preserve">
<value>Custom</value>
<value>מותאם אישית</value>
</data>
<data name="ShareOnSave" xml:space="preserve">
<value>Share this Send upon save.</value>
<value>לשתף ולשמור את החשבון</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendDisabledWarning" xml:space="preserve">
<value>Due to an enterprise policy, you are only able to delete an existing Send.</value>
<value>עקב מדיניות ארגונית, אתה יכול למחוק רק חשבון קיים.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AboutSend" xml:space="preserve">
<value>About Send</value>
<value>מידע על החשבון</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="HideEmail" xml:space="preserve">
<value>Hide my email address from recipients.</value>
<value>אודות החשבון</value>
</data>
<data name="SendOptionsPolicyInEffect" xml:space="preserve">
<value>One or more organization policies are affecting your Send options.</value>
<value>מדיניות ארגון אחת או יותר משפיעה על אפשרויות החשבון שלך</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendFilePremiumRequired" xml:space="preserve">
<value>Free accounts are restricted to sharing text only. A premium membership is required to use files with Send.</value>
<value>חשבונות בחינם מוגבלים לשיתוף טקסט בלבד.
נדרשת חברות פרימיום בתשלום כדי להשתמש בקבצים עם חשבונות. </value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendFileEmailVerificationRequired" xml:space="preserve">
<value>You must verify your email to use files with Send. You can verify your email in the web vault.</value>
<value>עליך לאמת את הדוא"ל שלך כדי להשתמש בקבצים עם חשבונות.
אתה יכול לאמת את הדוא"ל שלך באפליקציה של המייל או באתר.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="PasswordPrompt" xml:space="preserve">
<value>Master password re-prompt</value>
<value>הקש שוב פעם את הסיסמה הראשית</value>
</data>
<data name="PasswordConfirmation" xml:space="preserve">
<value>Master password confirmation</value>
<value>אישור הסיסמה הראשית</value>
</data>
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
<value>פעולה זו מוגנת. כדי להמשיך, הזן מחדש את הסיסמה הראשית שלך כדי לאמת את זהותך.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>קוד Captcha נדרש</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>קוד Captcha לא תואם, אנא נסה שוב</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>סיסמה ראשית עודכנה</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>עדכון סיסמה ראשית</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>הסיסמה הראשית שלך שונתה לאחרונה על ידי מנהל הארגון שלך. כדי לגשת לכספת, עליך לעדכן אותה כעת. בהמשך תנותק מההפעלה הנוכחית שלך ותידרש להיכנס שוב. הפעלות אחרות הפתוחות במכשירים שונים ימשיכו להיות פעילים עד משך שעה אחת.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>מעדכן סיסמה</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>כרגע לא ניתן לעדכן את הסיסמה</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>אימות אינטרנט באמצעות FIDO2</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>כדי להמשיך, הכן את מפתח האבטחה התומך באימות אינטרנט באמצעות FIDO2.
ולאחר מכן עקוב אחר ההוראות לאחר לחיצה על 'אימות באמצעות האינטרנט' במסך הבא.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>אימות אינטרנט באמצעות FIDO2, אתה יכול לאמת באמצעות מפתח אבטחה חיצוני.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>אימות אינטרנט</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>חזרה ליישום</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>אנא ודא שהדפדפן שלך תומך באימות באינטרנט ונסה שוב.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>לארגון זה יש מדיניות ארגונית שרושמת אותך אוטומטית לאיפוס סיסמה. הרישום יאפשר למנהלי הארגון לשנות את הסיסמה הראשית שלך.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>מדיניות הארגון שלך משפיעה על הזמן הקצוב לכספת שלך. הזמן הקצוב המרבי המותר לכספת הוא {0} שעות ו-{1} דקות</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>הזמן הקצוב לכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>מדיניות אחת או יותר של הארגון שלך מונעות ממך לייצא את הכספת האישית שלך.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>सहेजें</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="Saving" xml:space="preserve">
<value>सेव हो रहा है...</value>
<comment>Message shown when interacting with the server</comment>
@@ -783,8 +786,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>You are searching for an auto-fill login for "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>अपनी तिजोरी साझा करें</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>"{0}" ऐप नहीं खोल सकता।</value>
@@ -1057,6 +1060,9 @@
<data name="LastName" xml:space="preserve">
<value>अंतिम नाम</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Full Name</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>लाइसेंस संख्या</value>
</data>
@@ -1181,6 +1187,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>छुपा हुआ</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>वाक्य</value>
</data>
@@ -1379,6 +1388,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>There are no collections to list.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item has been shared.</value>
</data>
@@ -1391,11 +1404,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Share Item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>No organizations to list.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Number of Words</value>
@@ -1425,8 +1441,8 @@
<value>Your account's fingerprint phrase</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>निर्यात तिजोरी</value>
@@ -1440,6 +1456,9 @@
<data name="Unlock" xml:space="preserve">
<value>अनलॉक</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Unlock Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 मिनिट</value>
</data>
@@ -1456,6 +1475,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Your vault is locked. Verify your PIN code to continue.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>अँधेरा</value>
<comment>A dark color</comment>
@@ -1501,12 +1523,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Change the application's color theme.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Restart is required.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Restarting...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>नोट कॉपी करें</value>
@@ -1600,6 +1618,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>अपने कोष्ठ डेटा निर्यात करने के लिए अपना मास्टर पासवर्ड दर्ज करें।</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>This export contains your vault 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.</value>
</data>
@@ -1865,7 +1892,7 @@
<value>Maximum Access Count</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>If set, users will no longer be able to access this send once the maximum access count is reached.</value>
<value>If set, users will no longer be able to access this Send once the maximum access count is reached.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
@@ -2001,4 +2028,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>This action is protected, to continue please re-enter your master password to verify your identity.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send Code</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Sending</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Spremi</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Premjesti</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Spremanje...</value>
<comment>Message shown when interacting with the server</comment>
@@ -486,7 +489,7 @@
<value>Dodirni Bitwarden ikonu u izborniku za pokretanje proširenja.</value>
</data>
<data name="ExtensionTurnOn" xml:space="preserve">
<value>Za uključiti Bitwardena u Safariu i drugim aplikacijama, dodirnite ikonu „Više” u donjem retku izbornika.</value>
<value>Za uključiti Bitwardena u Safariju i drugim aplikacijama, dodirnite ikonu „Više” u donjem retku izbornika.</value>
</data>
<data name="Favorite" xml:space="preserve">
<value>Favorit</value>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Tražiš stavku auto-ispune za „{0}”.</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Podijeli svoj trezor</value>
<data name="LearnOrg" xml:space="preserve">
<value>Više o organzacijama </value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Nije moguće otvoriti aplikaciju „{0}”.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Prezime</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Ime i prezime</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Broj vozačke dozvole</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Skriveno</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Povezano</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Tekst</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Nema zbirki za prikaz.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} premješteno u {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Stavka je podijeljena.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Podijeli stavku</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Premjesti u organizaciju</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Nema organizacija za prikaz.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Odaberi organizaciju s kojom želiš podijeliti ovu stavku. Dijeljenje prenosi vlasništvo stavke na organizaciju. Nakon dijeljenja više nećeš biti izravni vlasnik ove stavke.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Odaberi organizaciju u koju želiš premjestiti ovu stavku. Premještanje prenosi vlasništvo stavke na organizaciju. Nakon premještanja više nećeš biti izravni vlasnik ove stavke.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Broj riječi</value>
@@ -1424,7 +1440,7 @@
<value>Jedinstvena fraza tvog računa</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden omogućuje dijeljenje trezora s drugima pomoću organizacijskog računa. Želiš li sada posjetiti bitwarden.com za više informacija?</value>
</data>
<data name="ExportVault" xml:space="preserve">
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Otključaj</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Otključaj trezor</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuta</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Tvoj trezor je zaključan. Potvrdi PIN-om za nastavak.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Tvoj trezor je zaključan. Potvrdi glavnu lozinku za nastavak.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Tamna</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Mijenja boju aplikacije. </value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Potrebno je ponovo pokretanje.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Ponovno pokretanje...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Zadana (sustav)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Kopiraj bilješke</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Unesi glavnu lozinku za izvoz podataka iz trezora.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Slanje verifikacijskog kôda e-poštom</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Kôd poslan</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Potvrdite lozinku za nastavak.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Ovaj izvoz sadrži podatke trezora u nešifriranom obliku! Izvezenu datoteku se ne bi smjelo pohranjivati ili slati putem nesigurnih kanala (npr. e-poštom). Izbriši ju odmah nakon završetka korištenja.</value>
</data>
@@ -1863,7 +1890,7 @@
<value>Ograničeni broj pristupanja</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>Ako je određen, ovom Sendu će se moći pristupiti samo ograničeni broj puta.</value>
<value>Ako je određeno, ovom Sendu će se moći pristupiti samo ograničeni broj puta.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Ova radnja je zaštićena. Za nastavak i potvrdu identiteta, unesi svoju glavnu lozinku.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Potrebna captcha</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha pogrešna.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Glavna lozinka ažurirana</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Ažuriraj glavnu lozinku</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Tvoju glavnu lozinku je nedavno promijenio administrator tvoje organizacije. Za pristup trezoru, potrebno je ažurirati glavnu lozinku, što će te odjaviti iz trenutne sesije, te ćeš se morati ponovno prijaviti. Aktivne sesije na drugim uređajima mogu ostati aktivne još sat vremena.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Ažuriranje lozinke</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Trenutno nije moguće ažurirati lozinku</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Ukloni glavnu lozinku</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} koristi SSO s korisnički upravljanim šifriranjem. Tvoja glavna lozinka biti će uklonjena, a za prijavu će biti potreban SSO.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Ako ne želiš ukloniti svoju glavnu lozinku, možeš napustiti ovu organizaciju.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Napusti organizaciju</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Napusti {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>Za nastavak, pripremi svoj FIDO2 WebAuthn sigurnosni ključ i prati upute nakon odabira opcije 'Autentifikacija WebAuthn' na sljedećem zaslonu.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Autentifikacija korištenjem FIDO2 WebAuthn vanjskog sigurnosnog ključa.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Autentifikacija WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Povratak u aplikaciju</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Provjeri podržava li tvoj zadani preglednik WebAuthn i pokušaj ponovno.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Pravilo ove organizacija automatski će te učlaniti u ponovno postavljanje lozinke. Učlanjenje će omogućiti administratorima organizacije promjenu tvoje glavne lozinke.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Pravilo tvoje organizacije utječe na istek trezora. Najveće dozvoljeno vrijeme isteka je {0}:{1} h.</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Vrijeme isteka premašuje ograničenje koju je postavila tvoja organizacija.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Jedno ili više pravila organizacija onemogućuje izvoz osobnog trezora. </value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Obriši račun</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Brisanje tvog računa je nepovratno</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Tvoj račun i svi povezani podaci biti će nepovratno obrisani. Sigurno želiš nastaviti?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Brisanje tvog računa</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Tvoj račun je trajno obrisan.</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Nevažeći kôd za provjeru</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Pošalji kôd</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Šaljem</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Mentés</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Áthelyezés</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Mentés...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Automatikus kitöltési elem keresése folyik: "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Széfed megosztása</value>
<data name="LearnOrg" xml:space="preserve">
<value>Információ szervezetekről</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Nem lehet megnyitni a(z) "{0}" alkalmazást.</value>
@@ -817,7 +820,7 @@
<comment>Remember my two-step login</comment>
</data>
<data name="SendVerificationCodeAgain" xml:space="preserve">
<value>Megerősítő kód újraküldése email-ben</value>
<value>Send megerősítő kód újraküldése emailben</value>
<comment>For 2FA</comment>
</data>
<data name="TwoStepLoginOptions" xml:space="preserve">
@@ -827,7 +830,7 @@
<value>Más kétlépcsős bejelentkezés használata</value>
</data>
<data name="VerificationEmailNotSent" xml:space="preserve">
<value>Nem sikerült elküldeni a megerősítő e-mailt. Próbáld újra.</value>
<value>Nem sikerült elküldeni a megerősítő emailt. Próbáljuk újra.</value>
<comment>For 2FA</comment>
</data>
<data name="VerificationEmailSent" xml:space="preserve">
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Családnév</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Teljes név</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Vezetői engedély száma</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Rejtett</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Csatolva</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Szöveg</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Nincsenek megjeleníthető gyűjtemények.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} áthelyezésre került: {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Az elem megosztásra került.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Elem megosztása</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Áthelyezés szervezetbe</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Nincs megjeleníthető szervezet.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Szervezet választása az elem megosztásához. Az elemtulajdon átadása a szervezetnek. Innentől nem közvetlen tulajdonosa leszünk az elemnek a megosztás után.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Válasszunk egy szervezetet, ahová áthelyezni szeretnénk ezt az elemet. A szervezetbe áthelyezés átruházza az elem tulajdonjogát az adott szervezetre. Az áthelyezés után többé nem leszünk az elem közvetlen tulajdonosa.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Szavak száma</value>
@@ -1424,8 +1440,8 @@
<value>A fiók ujjlenyomat mondata</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>A Bitwarden lehetővé teszi egy szervezeti fiók használatával a fiók megosztását másokkal. Szeretnénk többet megtudni a bitwarden.com webhelyen?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>A Bitwardenben szervezeti fiók használatával megoszthatók másokkal a széfben lévő elemek.. Szeretnénk megnyitni a bitwarden.com webhelyet további információért?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Széf exportálása</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Feloldás</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Széf feloldása</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 perc</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>A széf zárolva van. A folytatáshoz adjuk meg a pinkódot.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>A széf zárolásra került. A folytatáshoz ellenőrizni kell az azonosítást.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Sötét</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Az alkalmazás színének megváltoztatása.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Újraindítás szükséges.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Újraindítás...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Alapértelmezett (rendszer)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Jegyzetek másolása</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>A mesterjelszó megadása a széfadatok exportálásához.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Ellenőrző kód elküldése a saját email címre</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>A kód elküldésre került.</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>A folytatáshoz meg kell erősíteni a személyazonosságot.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Az exportált széfadatok titkosítatlan formátumban kerülnek elmentésre. Ne tároljuk sehol, illetve ne küldjük el senkinek a fájlt nem biztonságos felületeken (például email). Használat után azonnal töröljük.</value>
</data>
@@ -1802,11 +1829,11 @@
<value>Egy szervezeti házirend befolyásolja a tulajdonjog beállításait.</value>
</data>
<data name="Send" xml:space="preserve">
<value>Küldés</value>
<value>Send</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AllSends" xml:space="preserve">
<value>Összes küldés</value>
<value>Összes Send</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="Sends" xml:space="preserve">
@@ -1814,7 +1841,7 @@
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NameInfo" xml:space="preserve">
<value>Barátságos név a Küldés leírására.</value>
<value>Barátságos név a Send elem leírására.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="TypeText" xml:space="preserve">
@@ -1824,7 +1851,7 @@
<value>A küldendő szöveg.</value>
</data>
<data name="HideTextByDefault" xml:space="preserve">
<value>A Küldés elérésekor alapértelmezés szerint a szöveg elrejtése</value>
<value>A Send elérésekor alapértelmezés szerint a szöveg elrejtése</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="TypeFile" xml:space="preserve">
@@ -1853,7 +1880,7 @@
<value>Lejárati idő</value>
</data>
<data name="ExpirationDateInfo" xml:space="preserve">
<value>Beállítva a hozzáférés ehhez a Küldéshez lejár a meghatározott időpontban.</value>
<value>Beállítva a hozzáférés ehhez a Send elemhez lejár a meghatározott időpontban.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="Expired" xml:space="preserve">
@@ -1863,7 +1890,7 @@
<value>Maximális elérési szám</value>
</data>
<data name="MaximumAccessCountInfo" xml:space="preserve">
<value>Beállítva a Küldés elérhetetlen lesz a meghatározott hozzáférések számának elérése után.</value>
<value>Beállítva a Send elérhetetlen lesz a meghatározott hozzáférések számának elérése után.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="MaximumAccessCountReached" xml:space="preserve">
@@ -1876,7 +1903,7 @@
<value>Új jelszó</value>
</data>
<data name="PasswordInfo" xml:space="preserve">
<value>Opcionálissan egy jelszó kérhető a felhasználóktól a Küldés eléréséhez.</value>
<value>Opcionálissan egy jelszó kérhető a felhasználóktól a Send eléréséhez.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="RemovePassword" xml:space="preserve">
@@ -1886,21 +1913,21 @@
<value>Biztosan eltávolításra kerüljön ez a jelszó?</value>
</data>
<data name="RemovingSendPassword" xml:space="preserve">
<value>Jelszó eltávolítása</value>
<value>Jelszó eltávolítása..</value>
</data>
<data name="SendPasswordRemoved" xml:space="preserve">
<value>A jelszó eltávolításra került</value>
<value>A jelszó eltávolításra került.</value>
</data>
<data name="NotesInfo" xml:space="preserve">
<value>Személyes megjegyzések erről a Küldésről.</value>
<value>Személyes megjegyzések erről a Sendről.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="DisableSend" xml:space="preserve">
<value>A Küldés letiltásával mindenki hozzáférése megvonható.</value>
<value>A Send letiltásával mindenki hozzáférése megvonható.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NoSends" xml:space="preserve">
<value>A fiókban nincsenek küldések.</value>
<value>A fiókban nincsenek Send elemek.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AddASend" xml:space="preserve">
@@ -1914,35 +1941,35 @@
<value>Hivatkozás megosztása</value>
</data>
<data name="SendLink" xml:space="preserve">
<value>Hivatkozás küldése</value>
<value>Send hivatkozás</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SearchSends" xml:space="preserve">
<value>Küldés keresése</value>
<value>Send elemek keresése</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="EditSend" xml:space="preserve">
<value>Küldés szerkesztése</value>
<value>Send szerkesztése</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AddSend" xml:space="preserve">
<value>Küldés hozzáadása</value>
<value>Send hozzáadása</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AreYouSureDeleteSend" xml:space="preserve">
<value>Biztosan törlésre kerüljön ez a küldés?</value>
<value>Biztosan törlésre kerüljön ez a Send elem?</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendDeleted" xml:space="preserve">
<value>A küldés törlésre került.</value>
<value>A Send elem törlésre került.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendUpdated" xml:space="preserve">
<value>A küldés frissítésre került.</value>
<value>A Send elem frissítésre került.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NewSendCreated" xml:space="preserve">
<value>Az új küldés létrejött.</value>
<value>Az új Send elem létrejött.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="OneDay" xml:space="preserve">
@@ -1964,15 +1991,15 @@
<value>Egyedi</value>
</data>
<data name="ShareOnSave" xml:space="preserve">
<value>A Küldés megosztása mentéskor.</value>
<value>A Send elem megosztása mentéskor.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendDisabledWarning" xml:space="preserve">
<value>A vállalati házirend miatt csak egy meglévő Küldés törölhető.</value>
<value>A vállalati házirend miatt csak egy meglévő Send elem törölhető.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AboutSend" xml:space="preserve">
<value>A küldésről</value>
<value>A Sendről</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="HideEmail" xml:space="preserve">
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Ez a művelet védett. A folytatásért ismételten meg kell adni a mesterjelszőt az személyazonosság ellenőrzéséhez.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha szükséges</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>A Captcha sikertelen. Próbáljuk újra.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>A mesterjelszó frisstésre került.</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Mesterjelszó frissítése</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>A szervezet egyik adminisztrátora nemrég megváltoztatta a mesterjelszót. A széf eléréséhez most frissíteni kell a mesterjelszót. Továbblépéskor kijelentkezés történik a jelenlegi munkamenetből és újra be kell jelentkezni. Ha van aktív munkamenet más eszközön, az még legfeljebb egy óráig aktív maradhat.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Jelszó frissítése</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Jelenleg nem lehet frissíteni a jelszót.</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Mesterjelszó eltávolítása</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} SSO szolgáltatást használ ügyfél által kezelt titkosítással. A folytatással eltávolító a mesterjelszó a fiókból és egyszeri bejelentkezés szükséges a bejelentkezéshez.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>Ha nem szeretnénk eltávolítani a mesterjelszót, kiléphetünk ebből a szervezetből.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Szervezet elhagyása</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Elhagyjuk {0} szervezetet?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>A folytatáshoz készítsük elő a FIDO2 WebAuthn-kompatibilis biztonsági kulcsot, azután kattintsunk a WebAuthn hitelesítése lehetőségre a következő képernyőn és kövessük a megjelenő utasításokat.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Hitelesítés FIDO2 WebAuthn használatával - hitelesíthetjük magunkat egy külső biztonsági kulcs segítségével</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>WebAuthn hitelesítése</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Vissza az alkalmazásba</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Biztosítsuk, hogy az alapértelmezett böngésző támogassa a WebAuthn technológiát és próbáljuk újra.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>Ennek a szervezetnek van egy vállalati házirendje, amely automatikusan regisztrál a jelszó alaphelyzetbe állítására. A regisztráció lehetővé teszi a szervezet adminisztrátorainak a mesterjelszó megváltoztatását.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>A szervezeti házirendek hatással vannak a széf időkorlátjára. A széf időkorlátja legfeljebb {0} óra és {1} perc lehet.</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>A széf időkorlátja túllépi a szervezet által beállított korlátozást.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>Egy vagy több szervezeti házirend tiltja a személyes széf exportálását.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Fiók törlése</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>A fiók törlése végleges.</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>A fiók és az összes társított adat törlésre kerül és nem állítható vissza. Biztosan folytassuk?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>A fiók törlése folyamatban van.</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>A fiók véglegesen törlésre került.</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Az ellenőrző kód érvénytelen.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Send kód</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Küldés...</value>
</data>
</root>

View File

@@ -310,6 +310,9 @@
<value>Simpan</value>
<comment>Button text for a save operation (verb).</comment>
</data>
<data name="Move" xml:space="preserve">
<value>Pindah</value>
</data>
<data name="Saving" xml:space="preserve">
<value>Menyimpan...</value>
<comment>Message shown when interacting with the server</comment>
@@ -782,8 +785,8 @@
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Anda mencari item pengisian otomatis untuk "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Bagikan Brankas Anda</value>
<data name="LearnOrg" xml:space="preserve">
<value>Learn About Organizations</value>
</data>
<data name="CannotOpenApp" xml:space="preserve">
<value>Tidak dapat membuka aplikasi {0}.</value>
@@ -1056,6 +1059,9 @@
<data name="LastName" xml:space="preserve">
<value>Nama Belakang</value>
</data>
<data name="FullName" xml:space="preserve">
<value>Nama Lengkap</value>
</data>
<data name="LicenseNumber" xml:space="preserve">
<value>Nomor Lisensi</value>
</data>
@@ -1180,6 +1186,9 @@
<data name="FieldTypeHidden" xml:space="preserve">
<value>Tersembunyi</value>
</data>
<data name="FieldTypeLinked" xml:space="preserve">
<value>Linked</value>
</data>
<data name="FieldTypeText" xml:space="preserve">
<value>Teks</value>
</data>
@@ -1378,6 +1387,10 @@
<data name="NoCollectionsToList" xml:space="preserve">
<value>Tidak ada koleksi yang akan ditampilkan.</value>
</data>
<data name="MovedItemToOrg" xml:space="preserve">
<value>{0} moved to {1}.</value>
<comment>ex: Item moved to Organization.</comment>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Item telah dibagikan.</value>
</data>
@@ -1390,11 +1403,14 @@
<data name="ShareItem" xml:space="preserve">
<value>Berbagi Item</value>
</data>
<data name="MoveToOrganization" xml:space="preserve">
<value>Move to Organization</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Tidak ada organisasi untuk dicantumkan.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Pilih sebuah organisasi yang Anda ingin berbagi item ini. Berbagi kepemilikan transfer untuk item bersangkutan dengan organisasi tersebut. Anda tidak akan lagi menjadi pemilik item ini setelah dibagi.</value>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Jumlah kata</value>
@@ -1424,8 +1440,8 @@
<value>Frase sidik jari akun Anda</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden memungkinkan Anda untuk membagikan brankas Anda dengan orang lain menggunakan akun organisasi. Apakah Anda ingin mengunjungi situs bitwarden.com untuk mempelajari lebih lanjut?</value>
<data name="LearnOrgConfirmation" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization account. Would you like to visit the bitwarden.com website to learn more?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Ekspor Brankas</value>
@@ -1439,6 +1455,9 @@
<data name="Unlock" xml:space="preserve">
<value>Membuka kunci</value>
</data>
<data name="UnlockVault" xml:space="preserve">
<value>Buka Vault</value>
</data>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 menit</value>
</data>
@@ -1455,6 +1474,9 @@
<data name="VaultLockedPIN" xml:space="preserve">
<value>Brankas Anda terkunci. Verifikasi kode PIN Anda untuk melanjutkan.</value>
</data>
<data name="VaultLockedIdentity" xml:space="preserve">
<value>Your vault is locked. Verify your identity to continue.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>Gelap</value>
<comment>A dark color</comment>
@@ -1500,12 +1522,8 @@
<data name="ThemeDescription" xml:space="preserve">
<value>Ubah warna tema aplikasi.</value>
</data>
<data name="RestartIsRequired" xml:space="preserve">
<value>Dibutuhkan pemulaian ulang.</value>
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Memulai ulang...</value>
<data name="ThemeDefault" xml:space="preserve">
<value>Default (System)</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Catatan Salinan</value>
@@ -1599,6 +1617,15 @@
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Masukkan kata sandi utama Anda untuk mengekspor data brankas Anda.</value>
</data>
<data name="SendVerificationCodeToEmail" xml:space="preserve">
<value>Send a verification code to your email</value>
</data>
<data name="CodeSent" xml:space="preserve">
<value>Code Sent!</value>
</data>
<data name="ConfirmYourIdentity" xml:space="preserve">
<value>Confirm your identity to continue.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Ekspor ini berisi data vault Anda dalam format yang tidak dienkripsi. Anda tidak boleh menyimpan atau mengirim file yang diekspor melalui saluran yang tidak aman (seperti emel). Hapus segera setelah Anda selesai menggunakannya.</value>
</data>
@@ -1999,4 +2026,94 @@
<data name="PasswordConfirmationDesc" xml:space="preserve">
<value>Tindakan ini dilindungi, untuk melanjutkan harap masukkan ulang sandi utama Anda untuk memverifikasi identitas Anda.</value>
</data>
<data name="CaptchaRequired" xml:space="preserve">
<value>Captcha Required</value>
</data>
<data name="CaptchaFailed" xml:space="preserve">
<value>Captcha Failed. Please try again.</value>
</data>
<data name="UpdatedMasterPassword" xml:space="preserve">
<value>Updated Master Password</value>
</data>
<data name="UpdateMasterPassword" xml:space="preserve">
<value>Update Master Password</value>
</data>
<data name="UpdateMasterPasswordWarning" xml:space="preserve">
<value>Your Master Password was recently changed by an administrator in your organization. In order to access the vault, you must update your Master Password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
</data>
<data name="UpdatingPassword" xml:space="preserve">
<value>Updating Password</value>
</data>
<data name="UpdatePasswordError" xml:space="preserve">
<value>Currently unable to update password</value>
</data>
<data name="RemoveMasterPassword" xml:space="preserve">
<value>Remove Master Password</value>
</data>
<data name="RemoveMasterPasswordWarning" xml:space="preserve">
<value>{0} is using SSO with customer-managed encryption. Continuing will remove your Master Password from your account and require SSO to login.</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>If you do not want to remove your Master Password, you may leave this organization.</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>Leave Organization</value>
</data>
<data name="LeaveOrganizationName" xml:space="preserve">
<value>Leave {0}?</value>
</data>
<data name="Fido2Title" xml:space="preserve">
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>To continue, have your FIDO2 WebAuthn enabled security key ready, then follow the instructions after clicking 'Authenticate WebAuthn' on the next screen.</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>Authentication using FIDO2 WebAuthn, you can authenticate using an external security key.</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>Authenticate WebAuthn</value>
</data>
<data name="Fido2ReturnToApp" xml:space="preserve">
<value>Return to App</value>
</data>
<data name="Fido2CheckBrowser" xml:space="preserve">
<value>Please make sure your default browser supports WebAuthn and try again.</value>
</data>
<data name="ResetPasswordAutoEnrollInviteWarning" xml:space="preserve">
<value>This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password.</value>
</data>
<data name="VaultTimeoutPolicyInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is {0} hour(s) and {1} minute(s)</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Your vault timeout exceeds the restrictions set by your organization.</value>
</data>
<data name="DisablePersonalVaultExportPolicyInEffect">
<value>One or more organization policies prevents your from exporting your personal vault.</value>
</data>
<data name="DeleteAccount" xml:space="preserve">
<value>Delete Account</value>
</data>
<data name="DeletingYourAccountIsPermanent" xml:space="preserve">
<value>Deleting your account is permanent</value>
</data>
<data name="DeleteAccountExplanation" xml:space="preserve">
<value>Your account and all associated data will be erased and unrecoverable. Are you sure you want to continue?</value>
</data>
<data name="DeletingYourAccount" xml:space="preserve">
<value>Deleting your account</value>
</data>
<data name="YourAccountHasBeenPermanentlyDeleted" xml:space="preserve">
<value>Your account has been permanently deleted</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code.</value>
</data>
<data name="SendCode" xml:space="preserve">
<value>Kirim Kode</value>
</data>
<data name="Sending" xml:space="preserve">
<value>Mengirim...</value>
</data>
</root>

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