- **Disable all clustering traces**
- **Fix variable capturing**
- **Show the delete options for long folder names too**
- **Show ML option to public beta**
- **Rename DBs**
## Description
Fdroid icon for auth was white, whilst we have already moved to purple
gradient. This PR adds the same adaptive background for fdroid as it is
for normal build.
The below Fdroid build recipe regenerates the icons that's why it was
not correct before:
3bbf65e8f0/metadata/io.ente.auth.yml (L58)
Otherwise the code reaches the isInternalUser on logout, triggered by
the search service, and at a point when it does not have the auth token
anymore. Doesn't impact production builds, but doesn't hurt to make the
check more robust say for people who're trying dev builds.
Otherwise the code reaches the isInternalUser on logout, triggered by the search
service, and at a point when it does not have the auth token anymore. Doesn't
impact production builds, but doesn't hurt to make the check more robust say for
people who're trying dev builds.
I updated the sentence "Ente Photos is a paid service, but we offer a
free trial. You can also clone this repository and choose to self host."
to reflect that Ente now offers a permanent free option with 5GB of free
storage.
## Description
- Use (Native video
player)[https://pub.dev/packages/native_video_player] for video
playback. With this, HDR videos can be played without tone-mapping to
SDR, preserving the full HDR quality and dynamic range.
**Note**: HDR will be supported only if the device supports it. Also,
only video formats that are supported by the device will be playable.
- Better UX/UX for video player.
- Also see #2694
- Closes#1350#832#1166https://github.com/user-attachments/assets/f62bdff6-3218-4314-bd8b-651a6a3f8586
## Tests
- Tested playback on both iOS and Android devices with remote, local and
shared media videos.
## Description
This avoids the 5xx error for authEntity which happens when we try to
create an auth entity without reporting the corresponding key
## Tests
## Description
Feature: Add support for selective export with filters for account,
albums, and options to exclude hidden or shared files.
Flags Added:
--shared: Include shared albums in export (default: true).
--hidden: Include hidden albums in export (default: true).
--albums: Comma-separated list of album names to export.
--emails: Comma-separated list of emails of the accounts that needs to
be exported
Behavior: By default, both hidden and shared albums are exported.
## Tests
Tested locally
- Start with leading slash for easier greppability
- Omit trailing slash for consistency
No production clients are using this yet, so should be safe.
Tested the two embedding related ones on localhost.
## Description
Going forward, we pick a row for replication, and immediately mark
replication attempt. Once that's done, we try to replicate the object,
and update it's status without any transaction.
The initial locking and marking the replication attempt should ideally
ensure that no other worker will pick up the row for replication for
next 24hours.
## Tests
## Description
Panorama was getting checked every time and was not getting cached. This
PR creates mediaType to classify image whether it's panorama or not.
- If a image can be panorama (Any side Dimensions >8000px and 2 * height
>= width or 2 * width >= height) it will try to check metadata if image
could be panorama.
- Opening details pane will check metadata if image is panorama or not.
- Gyroscope button is introduced along with proper panoramic view
instead of 360* view for Images that have Cropped metadata.
This fixes an issue where a user with a cancelled _and_ expired
subscription would try to purchase a plan, and would instead get
redirected to the updated subscription flow in stripe (instead of the
buy flow).
Smoke tested a few scenarios locally.
## Description
Changed the name of the Auth mobile app to "Ente Auth" on both Android
and iOS to make it consistent with the naming of Ente Photos and to also
make it consistent on both platforms.
The native video player package that is used only emits an event at each second when the video is played. For a good looking seek bar, have animate it in between seconds
### Description
Parse width and height of video correctly using FFProbe by
- Considering both `coded_height` & `height` + `coded_width` + `width`
keys to parse height and width of video. Came across two videos where
`coded_width` and `coded_height` were both `0` where as `height` and
`width` had the correct values.
- Parse `rotation` from `side_data_list` and consider `rotation` for
accurate (i.e, not flipped) dimensions.
Have made sure the correct height and width of the video is shown on the
video's file info. Sometimes there could be a slight difference from
what a user would expect, if the `coded_side` is different from `side`
(`side` is `width` or `height`). Will be fixing this in future.
Ref:
https://superuser.com/questions/1523944/whats-the-difference-between-coded-width-and-width-in-ffprobe
Discussed. It is meant for mobile app use cases - us using it also on
desktop (where the constraints are different) doesn't really improve on
much latency and adds the overhead of extra API requests on each sync.
Supercedes: https://github.com/ente-io/ente/pull/2591
Discussed. It is meant for mobile app use cases - us using it also on desktop
(where the constraints are different) doesn't really improve on much latency and
adds the overhead of extra API requests on each sync.
## Description
- Stopped updating image width and height in public metadata since the
these could be incorrect (width and height inverted to be precise).
- Parse `rotation` metadata from video metadata when parsing video
properties with `ffprobe` to get the correct video width and height
considering `rotation`.
Noticed multiple ticks when uploading an item, which brought back focus into the
app and caused wakeUp also to get triggered because of sync. Not sure if this
was the issue, but felt like a potential one.
* This ensures that the UI remains responsive when indexing is running.
* This allows us to parallelize the in-flight networking etc instead of
waterfalling everything.
* The actual CPU intensive indexing is still serial.
### Pull Request Description
*Features Added:*
1. *App Lock Options:*
- *Device Lock*: Users can set the app lock to utilize the device's
default lock mechanism (e.g., fingerprint, face recognition, or device
PIN/password).
- *Custom PIN/Password*: Users have the option to set a custom PIN or
password for app lock.
2. *Authentication for App Lock Settings:*
- When users attempt to change the app lock settings, they must
authenticate using the currently set PIN/password or, if none is set,
the device lock.
3. *App Lock on Background and Quit:*
- The app will prompt for authentication when it is brought back to the
foreground after being in the background or when the app is restarted.
4. *Incremental Lock Timer:*
- A timer mechanism is implemented which starts at 30 seconds after few
incorrect unlock attempts.
- The lockout time doubles after each incorrect attempt, increasing
delay penalties.
- After 10 incorrect attempts, the user is automatically logged out.
Exif extraction from XMP thus fails with the following console warning
Warning: DOMParser is not available. It is needed to be able to parse XMP tags
Thus we need to explicitly take a dep on xmldom.
Doesn't impact Ente's production instances since this endpoint was
disallowed on the load balancer, but instead of requiring the same for
folks who are self hosting we modify the source to not expose /metrics
on :8080 (they'll still be available on :2112).
Refs:
-
2199a42d96/middleware.go (L345)
- https://github.com/ente-io/ente/discussions/2562
Doesn't impact Ente's production instances since this endpoint was disallowed on
the load balancer, but instead of requiring the same for folks who are self
hosting we modify the source to not expose /metrics on :8080 (they'll still be
available on :2112).
Refs:
- 2199a42d96/middleware.go (L345)
- https://github.com/ente-io/ente/discussions/2562
Trying to diagnose a customer issue where they reported that the
renderer was crashing when trying to drag and drop a 1TB folder on
Windows. Fixing some things that popped out in the memory allocations or
the CPU time when testing with a synthetic workflow (on macOS) - these
may or may not fix their issue, but these are anyway improvements and
will only make things better.
Trying to diagnose a customer issue where they reported that the renderer was
crashing when trying to drag and drop a 1TB folder on Windows. Fixing some
things that popped out in the memory allocations or the CPU time when testing
with a synthetic workflow (on macOS) - these may or may not fix their issue, but
these are anyway improvements and will only make things better.
## Description
Since the app doesn't let a user create an account with a weak password
and since isn't clear for the user how the app classifies a password as
"Weak", "Moderate" or "Strong", users would find it hard to come up with
a moderate or strong password. Also, the app wasn't surfacing the
strength every time.
All these UX issues have been fixed in this PR.
Before:
https://github.com/user-attachments/assets/c9630c44-4591-4bdd-a05d-8098ff5afef8
After:
https://github.com/user-attachments/assets/a9c1abfa-de1e-44c6-9f7e-157abe4f8de3
## Tests
Tested new account creation flow, did not find any regressions and can't
think of any that could have been introduced.
To fix
`Changes cannot be sent for review automatically. Please set the query
parameter changesNotSentForReview to true. Once committed, the changes
in this edit can be sent for review from the Google Play Console UI.`
This is the format I've seen in all the XMP files I've encountered so far too
(not relying on this evidence, just that it corroborates what the spec says).
The wording in the exiftool spec was confusing, I now think what it means is
that _exiftool_ will use that format, not XMP.
## Description
Adds a new enviroment variable `ENTE_CLI_SECRETS_PATH`, that allows
specifying the path to a `secrets.txt` like the one used in the
dockerized version. If no path is provided, the old behaviour is
maintained.
The configuration variable and behaviour is analog to the already
present `ENTE_CONFIG_PATH` variable, which allows specifying a
configuration.
This provides a solution for people running without gnome-keyring
(https://github.com/ente-io/ente/issues/722 and
https://github.com/ente-io/ente/issues/1328)
This PR introduces a feature to lock individual media files (photos,
live photos, and videos) in the gallery.
This feature ensures that sensitive content remains protected,
especially when the device is handed to others.
Key aspects include:
- **Locking Mechanism:** Users can lock a media file, which hides all
other options and restricts access when the device is handed to others..
- **Authentication:** To view other files, users must authenticate via
the device's lock screen or a custom app PIN/pattern.
- **Swipe Restriction:** Swiping to navigate other files triggers an
authentication prompt to ensure secure access.
[rndr] [error] Native thumbnail generation failed: Error: Error invoking remote method 'ffmpegExec': Error: Command failed: '/Applications/ente.app/Contents/Resources/app.asar.unpacked/node_modules/ffmpeg-static/ffmpeg' -i /var/folders/61/8lm3qh2s1vx9905_jkvgcsqh0000gn/T/ente/9P6wsR5mPA -ss '00:00:00' -vframes 1 -vf 'scale=-1:720' '/var/folders/61/8lm3qh2s1vx9
905_jkvgcsqh0000gn/T/ente/wvkVRFNgpy.jpeg'
/bin/sh: /Applications/ente.app/Contents/Resources/app.asar.unpacked/node_modules/ffmpeg-static/ffmpeg: Bad CPU type in executable
[rndr] [warn] Not using browser based thumbnail generation fallback for video at path takeout-xxx.zip,Takeout/yyy.mp4
I did try and search both in git history and on the internet if caching the
FileReader itself has any performance benefits, but I didn't find anything.
Add Instant Gaming, Teleport and Mistral icons.
<!--- Describe your changes in detail -->
## Type of Change
<!--- Put an `x` in all the boxes that apply: -->
- [x] 🖼️ New icon
- [ ] ✨ New feature (non-breaking change which adds functionality)
- [ ] 🛠️ Bug fix (non-breaking change which fixes an issue)
- [ ] ❌ Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] 🧹 Code refactor
- [ ] ✅ Build configuration change
- [ ] 📝 Documentation
- [ ] 🗑️ Chore
## Description
I noticed there was a typo in the EnteAccountUrl constant for the CLI,
which resulted in an incorrect URL being generated when asking the user
to verify their passkey.
## Tests
I didn't see tests in the project, but I did build the cli project and
manually tested `cli.exe` by adding my ente account and verifying the
URL that's generated is correct now.
```
Nick ~\..\ente\cli .\cli.exe account add
Enter app type (default: photos):
Use default app type: photos
Enter export directory: .\
Enter email address: redacted@pm.me
Enter OTP: 123456
Open this url in browser to verify passkey: https://accounts.ente.io/passkeys/verify?redacted
Press enter once you have completed the passkey verification
```
This restores the workaround I'd removed in
4d84e966b0.
listItem.transports = ["usb", "nfc", "ble", "internal"];
- This PR fixes the passkey verification on Safari.
- Sibling PR that fixes the passkey registration: https://github.com/ente-io/ente/pull/2429/files
Safari just doesn't recognize the Yubikey (macOS/iOS, NFC/USB, doesn't
matter) if display name is set to the empty string. Safari's long
description doesn't care to mention this requirement:
https://webkit.org/blog/11312/meet-face-id-and-touch-id-for-the-web/
Tested on localhost with Safari macOS. Will test on iOS post deployment.
With the latest Docker update (27.0.3), it now warns about the "FROM"
and "AS" in the Dockerfile not matching. E.g. when building the server
docker image:
> WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match
(line 1)
With the latest Docker update (27.0.3), it now warns about the "FROM" and "AS"
in the Dockerfile not matching. E.g. when building the server docker image:
> WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 1)
Safari just doesn't recognize the Yubikey (macOS/iOS, NFC/USB, doesn't matter)
if display name is set to the empty string. Safari's long description doesn't
care to mention this requirement:
https://webkit.org/blog/11312/meet-face-id-and-touch-id-for-the-web/
Tested on localhost with Safari macOS. Will test on iOS post deployment.
Adds a new enviroment variable `ENTE_CLI_SECRETS_PATH`, that allows
specifying the path to a `secrets.txt` like the one used in the
dockerized version. If no path is provided, the old behaviour is maintained.
Continuation, and finalization, of
https://github.com/ente-io/ente/pull/2408
While the integration is complete, there is a server side integration we
still need to do. That in turn will have an impact on the embedding
formats. So for now, disable ML for the beta users too so that we can
put out the regular release that was schedule to go out this week
(otherwise the beta users will end up in a half-way state).
Something's wrong with yarn's resolution algorithm, but let's leave that
be until we migrate off classic. 11.11.4 doesn't have anything we need,
so use 11.11.3 that seems to not result in dupes.
The warning was
gallery.js:16547 You are loading @emotion/react when it is already
loaded. Running multiple instances may cause problems. This can happen
if multiple versions are used, or if multiple builds of the same version
are used.
Ref:
- https://github.com/ente-io/ente/pull/2372
Something's wrong with yarn's resolution algorithm, but let's leave that be
until we migrate off classic. 11.11.4 doesn't have anything we need, so use
11.11.3 that seems to not result in dupes.
The warning was
gallery.js:16547 You are loading @emotion/react when it is already loaded. Running multiple instances may cause problems. This can happen if multiple versions are used, or if multiple builds of the same version are used.
Ref:
- https://github.com/ente-io/ente/pull/2372
We updated to 5.5 in https://github.com/ente-io/ente/pull/2351, but I was
waiting for the VS Code release with 5.5 to also go out (so that we don't see
the editor squigglies).
Allow HTTP request body up to 4 MB. The default is 1 MB, which is too
small for face embeddings for photos with more than a couple of hundred
faces.
Roughly, each face embedding is 4KB, but encrypting and base-64-ing the
embedding also has a 30% addition (just from one sample I saw), so this
should allow photos with ~700 faces to go through.
Ref:
-
https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
Allow HTTP request body up to 4 MB. The default is 1 MB, which is too small for
face embeddings for photos with more than a couple of hundred faces.
Roughly, each face embedding is 4KB, but encrypting and base-64-ing the
embedding also has a 30% addition (just from one sample I saw), so this should
allow photos with ~700 faces to go through.
Ref:
- https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
This mostly moves a few files that are transitively used by f-index.ts
to new (so that we can move f-index.ts to new and call it from the
worker therein).
## Description
Fixed issues with the old clip preprocessing.
## Tests
Not tested, but confident it's correct. Should compare embeddings
between platforms after all web changes are done.
## Description
Quite possible the on ente section is built before favorites service is
finished initialising which is causing this issue. Reloading after init
is complete should fix this bug
## Tests
Tested and working fine.
- Do an upfront directory listing.
- Avoid JSON parsing (the various LivePhoto functions we were callling
were internally doing it), and even when we have to, don't do it twice
(I tested, the JSON parsing does have a noticeable impact)
@ua741 Monkey testing shows it to be _*almost_ O(1) compared to the
earlier O(n). _*almost_ is with many caveats:
- The recursive ls is still multi-second (takes ~5s for 300k files on my
SSD)
- The loop is now almost instantaneous for people who don't have live
photos or have already synced, but there is still one JSON parse (in the
else branch) that'll run for initial exports or people with many live
photos
Quite possible the on ente section is built before favorites service is finished initialising which is causing this issue. Reloading after init is compelte should fix this bug
Earlier we were storing the custom API origin setting in local storage.
Local storage is not accessible from web workers, which is a problem in
general (and in particular, this caused face indexing to fail since we
were not able to put the embeddings to remote since that code runs in a
web worker).
Move this to a Indexed DB. Do this in a way we can reuse the same table
for more such ad-hoc keys.
See code comments for the why and how.
**Tests**
- [x] Normal login
- [x] Normal login but after entering incorrect password once
- [x] Login after changing password
- Superceded by next item: ~~Change password on different browser,
opening tab in earlier browser shows logout prompt~~
- [x] Change password on different browser (with logOutOtherDevices:
false), opening tab in earlier browser transparently logs in
- [ ] Same case, but even if earlier browser was already on the enter
password page
- [x] Change password on same browser, then open another tab. Doesn't
prompt to logout.
- [x] Fresh signup
## Description
- Remove cooldown timer in FaceMlService
- Only load face ML models when actually doing indexing
- Small refactor of FaceMlService
## Tests
Tested in debug mode on my pixel phone.
This caused the reference counts to not be zero when we'd go to clear
the cache in `clearPendingUploads`.
Bug introduced in the nightly build, but didn't have any negative impact
except printing an error in the logs because of the unhandled promise
rejection.
Ref: https://github.com/nodejs/node/issues/10871#issuecomment-650150155
## Description
When viewing photos/videos and enabling fullscreen (with a tap on
scree), the bottom bar wasn't disappearing like it used to. This PR
fixes this regression.
This should _significantly_ (hours => seconds) improve the performance
of the metadata parsing step during import of large Google Takeout zips,
and bring them to par as if the user had drag-and-dropped the unzipped
folder instead.
In my monkey tests, it seems that beyond a certain zip size (few GBs),
reopening the handle to a stream zip overshadows the time taken to read
the individual JSONs. This effect seems to grow very big for big zips to
a point where the metadata parsing step takes hours.
But note that I'm only testing this on synthetic exemplars I've created.
After merging it'll also need testing on more realistic huge takeout
examples.
## Description
- Use cached results for magic section so that it does't anymore have to
wait for ML framework to be initialised and doesn't have to re-compute
results every time, which means faster loading of the search tab.
- For internal users, all results in
[here](https://discover.ente.io/v1.json) will show up.
- For non-internal users, once available, results will be limited to 4.
- 4 random prompts are selected from
[here](https://discover.ente.io/v1.json) with non-empty results and are
cached.
- The cache updates when the data updates
[here](https://discover.ente.io/v1.json) (checks size to compare) or in
3 days since the last update.
```lib/core/error-reporting/super_logging.dart:20:8: Error: Error when reading 'lib/services/machine_learning/face_ml/face_ml_exceptions.dart': No such file or directory
import "package:photos/services/machine_learning/face_ml/face_ml_exceptions.dart";
^
lib/core/error-reporting/super_logging.dart:239:20: Error: 'CouldNotRetrieveAnyFileData' isn't a type.
if (error is CouldNotRetrieveAnyFileData ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Target kernel_snapshot failed: Exception
FAILURE: Build failed with an exception.
Added options for Delete Account and Update Subscription in the
dashboard, Clicking on Update Subscription option opens a popup window
for taking user input
There are many things the form can do better, but going against the grain of the
libraries we're using is resulting in a more broken interaction (e.g. keyboard
nav).
The museum container depends on the postgres container being up and the
DB being ready to accept connections. To enforce this dependency, we use
the healthcheck attribute.
See: https://docs.docker.com/compose/startup-order/
The value of the healthcheck interval was set to 1s since the default
(30s) caused each `docker compose up` to require at least 30 seconds on
each startup, which was prohibitive. The downside is that the
healthchecks continue to run beyond the startup phase too, and for small
VMs, this caused a lot of unnecessary CPU usage.
Thankfully, now Docker has a new option for a different healthcheck
during the start phase:
> start interval is the time between health checks during the start
period. This
option requires Docker Engine version 25.0 or later.
They were added in Docker compose 2.20.2, released an year ago
(2023-07-19).
https://docs.docker.com/compose/release-notes/#2202
The museum container depends on the postgres container being up and the DB being
ready to accept connections. To enforce this dependency, we use the healthcheck
attribute.
See: https://docs.docker.com/compose/startup-order/
The value of the healthcheck interval was set to 1s since the default (30s)
caused each `docker compose up` to require at least 30 seconds on each startup,
which was prohibitive. The downside is that the healthchecks continue to run
beyond the startup phase too, and for small VMs, this caused a lot of
unnecessary CPU usage.
Thankfully, now Docker has a new option for a different healthcheck during the
start phase:
> start interval is the time between health checks during the start period. This
option requires Docker Engine version 25.0 or later.
They were added in Docker compose 2.20.2, released an year ago (2023-07-19).
https://docs.docker.com/compose/release-notes/#2202
Despite all of our efforts, gmail insists on marking our verification
emails to new users as spam. We have already changed our mail delivery
providers; non-gmail users don't face this problem; and even for gmail,
(a) existing Ente users also get these mails correctly with
SPF/DKIM/DMARC PASS, and (b)non-verification emails get delivered (in
the anecdotal reports we've received).
As an attempt at some voodoo, try changing the subject and content of
the mail, to try and rule out some faulty gmail classifier that uses the
email body.
**Tested**
- [x] Locally, by changing SendTemplatedEmail to log only
Despite all of our efforts, gmail insists on marking our verification emails to
new users as spam. We have already changed our mail delivery providers;
non-gmail users don't face this problem; and even for gmail, (a) existing Ente
users also get these mails correctly with SPF/DKIM/DMARC PASS, and (b)
non-verification emails get delivered (in the anecdotal reports we've received).
As an attempt at some voodoo, try changing the subject and content of the mail,
to try and rule out some faulty gmail classifier that uses the email body.
## Description
I recently started self hosting an instance of Ente. All went well until
I tried to enable replication.
This PR adds an option that allows replication to be enabled without a
Cloudflare worker, useful for self hosting.
## Tests
It doesn't look like there are any automated tests that I can add to,
but let me know if I'm wrong. Otherwise, I tested this on my own
instance and it's working as expected.
Fix for https://github.com/ente-io/ente/pull/2252
> Error: An error occurred trying to start process '/usr/bin/bash' with
working
directory '/home/runner/work/ente/ente/web'. No such file or directory
Fix for https://github.com/ente-io/ente/pull/2252
> Error: An error occurred trying to start process '/usr/bin/bash' with working
directory '/home/runner/work/ente/ente/web'. No such file or directory
## Description
Keyboard didn't pop up when search-field was focused on startup. For
more information see this issue:
https://github.com/ente-io/ente/issues/279
## Tests
Created an build for my Android phone.
Outcome was as expected
"Focus search on app start" enabled did popped the keyboard out.
"Focus search on app start" disabled did NOT popped the keyboard out and
also didn't focused the search-textfield.
This is my first pull request to any open source project. So feel free
to give some feedback!
Tested on macOS with large videos, but I was unable to hit the scenario
described. Will request a user who reported this issue on their Linux
machine to try out a nightly build with this change and see if it helps.
## Description
This fixes a bug where user feedback to remove a file from a certain
person would immediately be overwritten by remote sync.
## Tests
Tested in debug mode on my pixel phone.
After clicking the FETCH button, if the data is fetched successfully
then a new button labelled as 'MORE' appears, clicking on this opens a
dropdown menu which has 3 options: Disable2fa, Disable Passkeys and
Close Family, clicking on any of the option directly performs the action
required.
1. Sources uploaded anytime the {mobile,auth}/lib/l10n/arb/app_en.arb
changes in main.
2. Tuesday morning: Download translations from crowdin.
Step 2 can be done manually by running the workflows, e.g.
gh workflow run auth-crowdin-push.yml
gh workflow run mobile-crowdin-push.yml
1. Sources uploaded anytime the {mobile,auth}/lib/l10n/arb/app_en.arb changes in main.
2. Tuesday morning: Download translations from crowdin.
Step 2 can be done manually by running the workflows, e.g.
gh workflow run auth-crowdin-push.yml
gh workflow run mobile-crowdin-push.yml
## Description
- Show video duration overlay only on galleries
- In all other places, show a centred play button -- showing the overlay
on some places wasn't looking good, like memories, when opening a video
etc. So have replaced the overlay with a play button, just like before.
- Pass optional parameter to get Thumbnail without any icons stacked
over it.
This fixes the issue reported by a user where they cancelled their
subscription, then later on tried to upgrade, but were then redirected
to the new subscription flow instead of the upgrade flow.
**Tested (on localhost):**
- [x] Buy new plan
- [x] Change existing plan
- [x] Change existing plan after cancelling
This fixes the issue reported by a user where they cancelled their subscription,
then later on tried to upgrade, but were then redirected to the new subscription
flow instead of the upgrade flow.
## Description
Make the logfile more user friendly by adding a readable upload result
string instead of just a number.
Before the logfile showed only a not human understandable number for the
upload result:
`"Uploaded xyz.jpg with result 3"`
This PR adds the key from the enum UPLOAD_RESULT to make it easy for a
human to understand the result:
`"Uploaded xyz.jpg with result 3 (BLOCKED)"`
The script I used for testing - 10-100x faster, and the faster the
longer the arrays. Note that speed was not the primary motivator for
this change, I just wanted to enable `noUncheckedIndexedAccess`
```js
//zs = [...Array(10).keys()].map(() => Uint8Array.from(Array(100000).keys()));
zs = [...Array(100).keys()].map(() => Uint8Array.from(Array(1000).keys()));
const m0 = (as) => new Uint8Array(as.reduce((acc, x) => acc.concat(...x), []));
const mergeUint8Arrays = (as) => {
const len = as.reduce((len, xs) => len + xs.length, 0);
const result = new Uint8Array(len);
as.reduce((n, xs) => (result.set(xs, n), n + xs.length), 0);
return result;
};
s = performance.now();
a = m0(zs);
e = performance.now();
console.log(e - s, "ms", a.length, "m0");
//console.log(a);
s = performance.now();
b = mergeUint8Arrays(zs);
e = performance.now();
console.log(e - s, "ms", b.length, "merge");
//console.log(b);
console.log(JSON.stringify(a) === JSON.stringify(b))
```
The code doesn't get tested or run and is likely not safe for 32 bits
> 941.0 pkg/utils/billing/billing.go:117:13: cannot use
ente.FreePlanStorage
(untyped int constant 5368709120) as int value in struct literal
(overflows)
>
>
https://github.com/ente-io/ente/actions/runs/9546167833/job/26308448952
The code doesn't get tested or run and is likely not safe for 32 bits
> 941.0 pkg/utils/billing/billing.go:117:13: cannot use ente.FreePlanStorage
(untyped int constant 5368709120) as int value in struct literal (overflows)
>
> https://github.com/ente-io/ente/actions/runs/9546167833/job/26308448952
he accounts favicon does not show on a white background (second image is the
hover state showing that the icon is actually there). For now, changing it to
the photos favicon, until we have an app neutral favicon.
Mobile app shows it on the waiting screen instead (accounts web app
shows the recover option only when the recover query param is passed to
it).
(Did not verify by running on mobile)
/cc @ua741
## Description
Add the much demanded video editor for photos mobile app, made with the
help of [video_editor](https://pub.dev/packages/video_editor) package
with features like Trim, Crop and Rotate.
We now explicitly pass a recover URL to the accounts app, and I've added
some placeholder values. This URL will be opened when the user selects
the "Recover passkey" option on the authentication failure screen.
We now explicitly pass a recover URL to the accounts app, and I've added some
placeholder values. This URL will be opened when the user selects the "Recover
passkey" option on the authentication failure screen.
This allows user to copy paste the URLs if their passkeys are in a
different browser than the one which got opened when we asked the system
to open the browser (from the desktop / mobile apps).
1. Modified the` _createPlaceholder` function to return the image bytes
instead of the image path, changed the return type to
`Future<Uint8List?>`
2. Remove the call to `saveImage` on saving the image to a temporary
directory
3. Modified the `shareImageAndUrl` function:
4. Replaced the usage of XFile(imagePath) with
XFile.fromData(imageBytes).
5. Added metadata to the `XFile.fromData` method call, specifying the
name and mimeType for better file identification during sharing.
This was a regression introduced in 1.7.0. On deleting a file on disk,
the corresponding items are supposed to move to uncategorized.
> And if a file is deleted locally, then the corresponding Ente file
will also be automatically moved to uncategorized.
>
> https://help.ente.io/photos/features/watch-folders
This was a regression introduced in 1.7.0. On deleting a file on disk, the
corresponding items are supposed to move to uncategorized.
> And if a file is deleted locally, then the corresponding Ente file will also
> be automatically moved to uncategorized.
>
> https://help.ente.io/photos/features/watch-folders
I made these changes:
- Corrected grammar and punctuation errors.
- Formatted headings, links, and lists properly using Markdown.
- Simplified wording for clarity.
I made these changes:
- Corrected grammar and punctuation errors.
- Formatted headings, links, and lists properly using Markdown.
- Simplified wording for clarity.
Tests
- [x] Create passkey on localhost using web app
- [x] Verify passkey on localhost using web app
- [x] Test running on the default configuration.
The third test is pending on the library update which makes the RPID
optional.
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.0"
width="602.36218"
height="139.53543"
id="svg3058">
<defs
id="defs3060"/>
<g
id="layer1">
<path
d="M 106.369,119.88512 L 106.369,62.018665 L 81.544594,119.88512 L 67.772114,119.88512 L 43.359087,62.018665 L 43.359087,119.88512 L 17.716529,119.88512 L 17.716529,19.650275 L 52.045504,19.650275 L 75.627274,76.245395 L 100.30782,19.650275 L 132.00731,19.650275 L 132.00731,119.88512 L 106.369,119.88512 z M 151.74424,119.88514 L 151.74424,19.650295 L 173.67129,19.650295 C 175.59247,19.650295 177.51259,21.571475 177.51259,23.661675 L 177.51259,119.88514 L 151.74424,119.88514 z M 248.65971,62.160065 L 281.25389,62.160065 C 283.82526,62.160065 285.27873,64.264785 285.27873,66.736595 L 285.27873,118.51459 C 276.11148,120.56404 261.78448,121.82085 251.13365,121.82085 C 213.76593,121.82085 194.05842,104.00581 194.05842,69.633955 C 194.05948,38.962025 213.76593,17.714585 246.61239,17.714585 C 261.08007,17.714585 273.76688,21.571475 281.93349,27.080965 L 271.83223,44.330845 C 264.76546,41.165965 255.25983,38.962025 248.53357,38.962025 C 229.64739,38.962025 220.81534,51.492935 220.81534,69.633955 C 220.81534,89.002025 231.04275,100.96814 249.90412,100.96814 C 253.35105,100.96814 257.64767,100.84093 261.08007,100.30377 L 261.08007,82.644625 L 248.65971,82.644625 L 248.65971,62.160065 z M 342.46983,38.962025 L 329.85459,38.962025 L 329.85459,64.094705 L 342.46983,64.094705 C 349.99971,64.094705 355.91916,60.082975 355.91916,50.546515 C 355.92022,40.883215 349.99865,38.962025 342.46983,38.962025 z M 361.45735,119.88514 L 349.56211,92.294115 C 347.1314,86.671595 345.43451,83.888325 340.27794,83.888325 L 329.85459,83.888325 L 329.85459,119.88514 L 304.66452,119.88514 L 304.66452,23.661675 C 304.66452,21.571475 306.95349,19.650295 308.59192,19.650295 L 344.15113,19.650295 C 363.47597,19.650295 380.04625,23.661675 380.04625,48.611165 C 380.04625,59.785695 373.86247,71.230215 362.26026,73.547185 C 368.0401,75.510535 373.86247,82.913205 377.01176,90.951915 L 388.47046,119.88514 L 361.45735,119.88514 z M 444.16061,38.962025 C 430.64148,38.962025 421.01998,48.611165 421.01998,69.633955 C 421.02105,90.951915 430.64042,100.57341 444.15991,100.57341 C 455.75892,100.57341 465.25215,90.951915 465.25215,69.633955 C 465.25321,48.611165 455.75892,38.962025 444.16061,38.962025 z M 444.16061,121.82085 C 411.34321,121.82085 393.97817,98.638055 393.97817,69.633955 C 393.97817,40.883215 411.34215,17.714585 444.15991,17.714585 C 474.90235,17.714585 492.29396,40.883215 492.29396,69.633955 C 492.29502,98.636985 474.90128,121.82085 444.16061,121.82085 z M 541.64053,121.82085 C 524.689,121.82085 508.94892,115.74656 501.92857,110.91455 L 513.3575,90.655685 C 519.73014,94.512575 532.13207,100.4455 543.56101,100.4455 C 550.03179,100.4455 558.21187,99.202855 558.21187,92.012065 C 558.21187,85.258875 549.07227,83.196315 537.08986,79.762855 C 522.62431,75.623205 505.78439,69.859315 505.78439,50.405135 C 505.7851,29.439745 524.41723,17.714585 548.66337,17.714585 C 564.66778,17.714585 577.07254,23.378915 583.4023,29.439745 L 569.48526,45.277265 C 562.60593,41.165965 555.57104,37.973445 547.68719,37.973445 C 538.19396,37.973445 532.82585,41.576285 532.82585,46.816835 C 532.82691,52.015925 539.70518,54.671985 548.37813,57.285175 C 563.71002,62.018685 584.64565,66.850335 584.64565,86.926005 C 584.64671,107.60829 568.11435,121.82085 541.64053,121.82085 z "
d="M 115.822,0 H 2.94268 C 2.24645,0 1.57875,0.297103 1.08644,0.825953 0.594137,1.3548 0.317566,2.07208 0.317566,2.81999 V 124.079 c 0,0.748 0.276571,1.466 0.768874,1.995 0.49231,0.528 1.16001,0.825 1.85624,0.825 H 115.822 c 0.697,0 1.364,-0.297 1.857,-0.825 0.492,-0.529 0.769,-1.247 0.769,-1.995 V 2.81999 c 0,-0.74791 -0.277,-1.46519 -0.769,-1.994037 C 117.186,0.297103 116.519,0 115.822,0 Z M 79.0709,81.7797 c 0,0.7479 -0.2766,1.4651 -0.7689,1.994 -0.4923,0.5288 -1.16,0.8259 -1.8562,0.8259 H 42.3193 c -0.6962,0 -1.3639,-0.2971 -1.8562,-0.8259 -0.4923,-0.5289 -0.7689,-1.2461 -0.7689,-1.994 V 45.1198 c 0,-0.7479 0.2766,-1.4652 0.7689,-1.994 0.4923,-0.5289 1.16,-0.826 1.8562,-0.826 h 34.1265 c 0.6962,0 1.3639,0.2971 1.8562,0.826 0.4923,0.5288 0.7689,1.2461 0.7689,1.994 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path841"
d="m 352.131,42.305 h -34.127 c -1.449,0 -2.625,1.2625 -2.625,2.82 v 36.6598 c 0,1.5574 1.176,2.82 2.625,2.82 h 34.127 c 1.45,0 2.625,-1.2626 2.625,-2.82 V 45.125 c 0,-1.5575 -1.175,-2.82 -2.625,-2.82 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path843"
d="m 312.763,0.00204468 h -34.126 c -1.45,0 -2.625,1.26255532 -2.625,2.81998532 V 39.4819 c 0,1.5574 1.175,2.82 2.625,2.82 h 34.126 c 1.45,0 2.626,-1.2626 2.626,-2.82 V 2.82203 c 0,-1.55743 -1.176,-2.81998532 -2.626,-2.81998532 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path845"
d="m 391.529,0.00204468 h -34.127 c -1.449,0 -2.625,1.26255532 -2.625,2.81998532 V 39.4819 c 0,1.5574 1.176,2.82 2.625,2.82 h 34.127 c 1.45,0 2.625,-1.2626 2.625,-2.82 V 2.82203 c 0,-1.55743 -1.175,-2.81998532 -2.625,-2.81998532 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path847"
d="m 312.763,84.6038 h -34.126 c -1.45,0 -2.625,1.2625 -2.625,2.8199 v 36.6603 c 0,1.557 1.175,2.82 2.625,2.82 h 34.126 c 1.45,0 2.626,-1.263 2.626,-2.82 V 87.4237 c 0,-1.5574 -1.176,-2.8199 -2.626,-2.8199 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path849"
d="m 391.529,84.6038 h -34.127 c -1.449,0 -2.625,1.2625 -2.625,2.8199 v 36.6603 c 0,1.557 1.176,2.82 2.625,2.82 h 34.127 c 1.45,0 2.625,-1.263 2.625,-2.82 V 87.4237 c 0,-1.5574 -1.175,-2.8199 -2.625,-2.8199 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path851"
d="m 253.651,0.00204468 h -34.126 c -1.45,0 -2.626,1.26255532 -2.626,2.81998532 V 39.4819 c 0,1.5574 1.176,2.82 2.626,2.82 h 34.126 c 1.45,0 2.625,-1.2626 2.625,-2.82 V 2.82203 c 0,-1.55743 -1.175,-2.81998532 -2.625,-2.81998532 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path853"
d="m 253.651,84.6038 h -34.126 c -1.45,0 -2.626,1.2625 -2.626,2.8199 v 36.6603 c 0,1.557 1.176,2.82 2.626,2.82 h 34.126 c 1.45,0 2.625,-1.263 2.625,-2.82 V 87.4237 c 0,-1.5574 -1.175,-2.8199 -2.625,-2.8199 z"
inkscape:connector-curvature="0"
style="fill:#000000"/>
<path
id="path855"
d="m 216.888,45.0881 c 0,-0.7479 -0.277,-1.4652 -0.769,-1.994 -0.492,-0.5289 -1.16,-0.826 -1.856,-0.826 H 177.511 V 2.81999 c 0,-0.74791 -0.277,-1.46519 -0.769,-1.994037 C 176.25,0.297103 175.582,0 174.886,0 H 140.76 c -0.697,0 -1.364,0.297103 -1.857,0.825953 -0.492,0.528847 -0.769,1.246127 -0.769,1.994037 V 124.016 c 0,0.748 0.277,1.465 0.769,1.994 0.493,0.529 1.16,0.826 1.857,0.826 h 34.126 c 0.696,0 1.364,-0.297 1.856,-0.826 0.492,-0.529 0.769,-1.246 0.769,-1.994 V 84.5679 h 36.752 c 0.696,0 1.364,-0.2971 1.856,-0.8259 0.492,-0.5289 0.769,-1.2462 0.769,-1.9941 z"
"secretCanNotBeEmpty": "لا يمكن أن يكون رمز السر فارغ",
@@ -20,6 +20,8 @@
"codeIssuerHint": "المصدِّر",
"codeSecretKeyHint": "الرمز السري",
"codeAccountHint": "الحساب (you@domain.com)",
"codeTagHint": "وسم",
"accountKeyType": "نوع المفتاح",
"sessionExpired": "انتهت صلاحية الجلسة",
"@sessionExpired": {
"description": "Title of the dialog when the users current session is invalid/expired"
@@ -31,10 +33,10 @@
"saveAction": "حفظ",
"nextTotpTitle": "التالي",
"deleteCodeTitle": "حذف الرمز؟",
"deleteCodeMessage": "هل أنت متأكد من أنك تريد حذف هذا الرمز ؟ هذا الإجراء لا رجعة فيه.",
"viewLogsAction": "عرض السجل",
"sendLogsDescription": "هذا سوف يرسل عبر السجلات لمساعدتنا على تصحيح مشكلتك. وبينما نتخذ الاحتياطات لضمان عدم تسجيل المعلومات الحساسة، نشجعك على رؤية هذه السجلات قبل تقاسمها.",
"preparingLogsTitle": "جاري إعداد السجلات...",
"deleteCodeMessage": "هل أنت متأكد من أنك تريد حذف هذه الشيفرة؟ هذا الإجراء لا رجعة فيه.",
"viewLogsAction": "عرض السجلات",
"sendLogsDescription": "سوف يُرسل هذا السجلات لنا لمساعدتنا على تصحيح مشكلتك. بينما نتخذ الاحتياطات لضمان عدم تسجيل المعلومات الحساسة، نشجعك على رؤية هذه السجلات قبل مشاركتها.",
"preparingLogsTitle": "جارٍ إعداد السجلات...",
"emailLogsTitle": "سجلات البريد الإلكتروني",
"emailLogsMessage": "الرجاء إرسال السجلات إلى {email}",
"@emailLogsMessage": {
@@ -69,21 +71,23 @@
"useRecoveryKey": "استخدم مفتاح الاسترداد",
"incorrectPasswordTitle": "كلمة المرور غير صحيحة",
"welcomeBack": "مرحبًا مجددًا!",
"madeWithLoveAtPrefix": "مصنوعة مع ❤️ في ",
"madeWithLoveAtPrefix": "مصنوعة بـ❤️ في ",
"supportDevs": "اشترك في <bold-green>ente</bold-green> لدعمنا",
"supportDiscount": "استخدم رمز القسيمة \"AUTH\" للحصول على 10% خصم من السنة الأولى",
"passwordEmptyError": "لا يمكن أن تكون كلمة المرور فارغة",
"importFromApp": "استيراد الرموز من {appName}",
"importGoogleAuthGuide": "قم بتصدير حساباتك من Google Authenticator إلى رمز QR code باستخدام خيار \"Transfer Accounts\" ثم استخدم جهازًا آخر لمسح رمز الاستجابة السريعة ضوئيًا.\n\nنصيحة: يمكنك استخدام كاميرا الويب الخاصة بالكمبيوتر المحمول لالتقاط صورة لرمز الاستجابة السريعة.",
"importRaivoGuide": "استخدم خيار تصدير OTP إلى أرشيف Zip في إعدادات Raivo.\n\nاستخرج ملف zip واسترد ملف JSON.",
"importFromApp": "استورد الشيفرات من {appName}",
"importGoogleAuthGuide": "صدر حساباتك من Google Authenticator إلى شيفرة استجابة سريعة باستخدام خيار \"نقل الحسابات\" ثم استخدم جهازًا آخر لمسح شيفرة الاستجابة السريعة ضوئيًا.\n\nنصيحة: يمكنك استخدام كاميرا الشبكة الخاصة بحاسوبك المحمول لالتقاط صورة لشيفرة الاستجابة السريعة.",
"importSelectJsonFile": "انتقِ ملف JSON",
"importSelectAppExport": "حدد ملف التصدير الخاص بـ{appName}",
"importEnteEncGuide": "اختر ملف JSON المشفر المصدَّر من Ente",
"importRaivoGuide": "استخدم خيار \"صدر كلمات المرور لمرة واحدة إلى أرشيف Zip\" في إعدادات Raivo.\n\nاستخرج ملف الـzip واسترد ملف الـJSON.",
"importBitwardenGuide": "استخدم خيار \"تصدير خزانة\" داخل أدوات Bitwarden واستيراد ملف JSON غير مشفر.",
"importAegisGuide": "استخدم خيار \"Export the vault\" في إعدادات Aegis.\n\nإذا كان المخزن الخاص بك مشفرًا، فستحتاج إلى إدخال كلمة مرور المخزن لفك تشفير المخزن.",
"import2FasGuide": "استخدم خيار \"الإعدادات -> النسخ الاحتياطي - التصدير\" في 2FAS.\n\nإذا تم تشفير النسخة الاحتياطية، سوف تحتاج إلى إدخال كلمة المرور لفك تشفير النسخة الاحتياطية",
@@ -112,18 +116,22 @@
"copied": "تم النسخ",
"pleaseTryAgain": "حاول مرة اخرى",
"existingUser": "المستخدم موجود",
"newUser": "جديد في Ente",
"delete": "حذف",
"enterYourPasswordHint": "أدخل كلمة المرور الخاصة بك",
"forgotPassword": "هل نسيت كلمة المرور",
"oops": "عذرًا",
"suggestFeatures": "اقتراح ميزة",
"faq": "الأسئلة الأكثر شيوعاً",
"faq_q_1": "إلى أي مدى Auth آمن؟",
"faq_a_1": "كل الشيفرات التي تنسخها احتياطيا بواسطة Auth تخزن مشفرة من الطرفين. يعني هذا أنك وحدك من يمكنك الوصول لشيفراتك. تطبيقاتنا مفتوحة المصدر وتشفيرنا تم اختباره من جهات خارجية.",
"faq_q_2": "هل يمكنني الوصول إلى رموزي على سطح المكتب؟",
"faq_a_2": "يمكنك الوصول إلى رموزك على الويب @ auth.ente.io.",
"faq_q_3": "كيف يمكنني حذف الرموز؟",
"faq_a_3": "يمكنك حذف الرمز عن طريق السحب لليسار على هذا العنصر.",
"faq_q_4": "كيف يمكنني دعم هذا المشروع؟",
"faq_a_4": "يمكنك دعم تطوير هذا المشروع عن طريق الاشتراك في تطبيق الصور @ ente.io.",
"somethingWentWrongMessage": "حدث خطأ ما، يرجى المحاولة مرة أخرى",
"leaveFamily": "مغادرة خطة العائلة",
@@ -150,6 +158,7 @@
}
}
},
"invalidQRCode": "شيفرة استجابة سريعة غير صالحة",
"noRecoveryKeyTitle": "لا يوجد مفتاح استرجاع؟",
"enterEmailHint": "أدخل عنوان البريد الإلكتروني الخاص بك",
"invalidEmailTitle": "عنوان البريد الإلكتروني غير صالح",
@@ -194,6 +203,8 @@
"saveKey": "حفظ المفتاح",
"save": "حفظ",
"send": "إرسال",
"saveOrSendDescription": "هل تريد حفظه إلى السعة التخزينية الخاصة بك (مجلد التنزيلات افتراضيا) أم إرساله إلى تطبيقات أخرى؟",
"saveOnlyDescription": "هل تريد حفظه إلى السعة التخزينية الخاصة بك (مجلد التنزيلات افتراضيا)؟",
"back": "الرجوع",
"createAccount": "إنشاء حساب",
"passwordStrength": "قوة كلمة المرور: {passwordStrengthValue}",
@@ -252,12 +263,15 @@
"exportLogs": "تصدير السجلات",
"enterYourRecoveryKey": "أدخل رمز الاسترداد",
"tempErrorContactSupportIfPersists": "يبدو أنه حدث خطأ ما. الرجاء إعادة المحاولة لاحقا. إذا استمر الخطأ، يرجى الاتصال بفريق الدعم.",
"networkHostLookUpErr": "تعذر الاتصال بـEnte، فضلا تحقق من إعدادات الشبكة الخاصة بك وتواصل مع الدعم إذا استمر الخطأ.",
"networkConnectionRefusedErr": "تعذر الإتصال بـEnte، فضلا أعد المحاولة لاحقا. إذا استمر الخطأ، فضلا تواصل مع الدعم.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "يبدو أنه حدث خطأ ما. الرجاء إعادة المحاولة لاحقا. إذا استمر الخطأ، يرجى الاتصال بفريق الدعم.",
"about": "حول",
"weAreOpenSource": "الخدمة مفتوحة المصدر!",
"privacy": "الخصوصية",
"terms": "الشروط",
"checkForUpdates": "بحث عن تحديثات",
"checkStatus": "تحقق من الحالة",
"downloadUpdate": "تحميل",
"criticalUpdateAvailable": "تحديث حاسم متوفر",
"updateAvailable": "التحديث متاح",
@@ -341,6 +355,7 @@
"deleteCodeAuthMessage": "المصادقة لحذف الرمز",
"showQRAuthMessage": "المصادقة لإظهار رمز QR",
"confirmAccountDeleteTitle": "تأكيد حذف الحساب",
"confirmAccountDeleteMessage": "هذا الحساب مرتبط بتطبيقات Ente أخرى، إذا كنت تستخدم أحدها.\n\nسنضع موعدا لحذف بياناتك المرفوعة عبر كل تطبيقات Ente، وسيتم حذف حسابك بصورة دائمة.",
"androidBiometricHint": "التحقق من الهوية",
"@androidBiometricHint": {
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
@@ -401,6 +416,55 @@
"doNotSignOut": "لا تقم بتسجيل الخروج",
"hearUsWhereTitle": "كيف سمعت عن Ente؟ (اختياري)",
"hearUsExplanation": "نحن لا نتتبع تثبيت التطبيق. سيكون من المفيد إذا أخبرتنا أين وجدتنا!",
"recoveryKeySaved": "حُفِظ مفتاح الاستعادة في مجلد التنزيلات!",
"waitingForBrowserRequest": "بانتظار طلب المتصفح...",
"waitingForVerification": "بانتظار التحقق...",
"passkey": "مفتاح المرور",
"developerSettings": "اعدادات المطور"
"passKeyPendingVerification": "التحقق ما زال جارٍ",
"loginSessionExpired": "انتهت صلاحية الجلسة",
"loginSessionExpiredDetails": "انتهت صلاحية جلستك. فضلا أعد تسجيل الدخول.",
"tempErrorContactSupportIfPersists": "Etwas ist schiefgelaufen. Bitte versuchen sie es später noch einmal. Sollte der Fehler weiter bestehen, kontaktieren sie unser Supportteam.",
"networkHostLookUpErr": "Ente ist im Moment nicht erreichbar. Bitte überprüfen Sie Ihre Netzwerkeinstellungen. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support.",
"networkConnectionRefusedErr": "Ente ist im Moment nicht erreichbar. Bitte versuchen Sie es später erneut. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Etwas ist schiefgelaufen. Bitte versuchen sie es später noch einmal. Sollte der Fehler weiter bestehen, kontaktieren sie unser Supportteam.",
"about": "Über uns",
"weAreOpenSource": "Wir sind Opensource!",
"privacy": "Datenschutz",
"terms": "Bestimmungen",
"checkForUpdates": "Auf Updates prüfen",
"checkStatus": "Status überprüfen",
"downloadUpdate": "Herunterladen",
"criticalUpdateAvailable": "Kritische neue Aktualisierung ist verfügbar",
"updateAvailable": "Aktualisierung verfügbar",
@@ -417,6 +420,9 @@
"waitingForBrowserRequest": "Warten auf Browseranfrage...",
"waitingForVerification": "Warte auf Bestätigung...",
"passkey": "Passkey",
"passKeyPendingVerification": "Verifizierung steht noch aus",
"loginSessionExpired": "Sitzung abgelaufen",
"loginSessionExpiredDetails": "Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",
"developerSettingsWarning": "Sind Sie sicher, dass Sie die Entwicklereinstellungen ändern möchten?",
"deleteCodeMessage": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτόν τον κωδικό; Αυτή η ενέργεια είναι μη αναστρέψιμη.",
"viewLogsAction": "Προβολή αρχείων καταγραφής",
"sendLogsDescription": "Αυτό θα στείλει σε μας όλα τα αρχεία καταγραφής γιανα μας βοηθήσει να αποσφαλματώσουμε το πρόβλημά σας. Ενώ λαμβάνουμε προφυλάξεις γιανα διασφαλίσουμε ότι οι ευαίσθητες πληροφορίες δεν καταγράφονται, σας ενθαρρύνουμε να δείτε αυτά τα αρχεία καταγραφής πριν τα μοιραστείτε.",
"recreatePasswordMessage": "Η τρέχουσα συσκευή δεν είναι αρκετά ισχυρή γιανα επαληθεύσει τον κωδικό πρόσβασής σας, οπότε πρέπει να τον επαναδημιουργήσουμε με τέτοιο τρόπο ώστε να λειτουργεί με όλες τις συσκευές. \n\nΠαρακαλούμε συνδεθείτε χρησιμοποιώντας το κλειδί ανάκτησης σας και επαναδημιουργήστε τον κωδικό πρόσβασής σας (μπορείτε να χρησιμοποιήσετε ξανά τον ίδιο αν το επιθυμείτε).",
"importTypeEnteEncrypted": "Κρυπτογραφημένη Ente εξαγωγή",
"passwordForDecryptingExport": "Κωδικός πρόσβασης για αποκρυπτογράφηση εξαγωγής",
"passwordEmptyError": "Ο κωδικός πρόσβασης δεν μπορεί να είναι κενός",
"importFromApp": "Εισαγωγή κωδικών από {appName}",
"importGoogleAuthGuide": "Εξαγωγή των λογαριασμών σας από το Google Authenticator σε έναν κωδικό QR χρησιμοποιώντας την επιλογή \"Μεταφορά λογαριασμών\". Στη συνέχεια, χρησιμοποιώντας μια άλλη συσκευή, σαρώστε τον κωδικό QR.\n\nΣυμβουλή: Μπορείτε να χρησιμοποιήσετε την κάμερα του λάπτοπ σας γιανα τραβήξετε μια φωτογραφία του κωδικού QR.",
"importEnteEncGuide": "Επιλέξτε το κρυπτογραφημένο αρχείο JSON που εξήχθη από το Ente",
"importRaivoGuide": "Χρησιμοποιήστε την επιλογή \"Export OTPs to Zip archive\" στις Ρυθμίσεις του Raivo.\n\nΕξάγετε το αρχείο zip και εισάγετε το αρχείο JSON.",
"importBitwardenGuide": "Χρησιμοποιήστε την επιλογή \"Εξαγωγή θησαυ/κίου\" μέσα στα Εργαλεία Bitwarden και εισάγετε το μη κρυπτογραφημένο αρχείο JSON.",
"importAegisGuide": "Χρησιμοποιήστε την επιλογή \"Εξαγωγή θησαυ/κίου\" στις Ρυθμίσεις του Aegis.\n\nΑν το θησαυ/κιό σας είναι κρυπτογραφημένο, θα πρέπει να εισάγετε τον κωδικό πρόσβασης θησαυ/κίου γιανα αποκρυπτογραφήσετε το θησαυ/κιο.",
"import2FasGuide": "Χρησιμοποιήστε την επιλογή \"Ρυθμίσεις->Δημιουργία αντιγράφων ασφαλείας - Εξαγωγή\" στο 2FAS.\n\nΑν το αντίγραφο ασφαλείας είναι κρυπτογραφημένο, θα πρέπει να εισάγετε τον κωδικό πρόσβασης γιανα αποκρυπτογραφήσετε το αντίγραφο ασφαλείας",
"importLastpassGuide": "Χρησιμοποιήστε την επιλογή \"Μεταφορά λογαριασμών\" στις ρυθμίσεις Lastpass Authenticator και πατήστε \"Εξαγωγή λογαριασμών σε αρχείο\". Εισαγάγετε το κατεβασμένο JSON.",
"exportCodes": "Εξαγωγή κωδικών",
"importLabel": "Εισαγωγή",
"importInstruction": "Παρακαλώ επιλέξτε ένα αρχείο που περιέχει μια λίστα των κωδικών σας με τον ακόλουθο τύπο",
"importCodeDelimiterInfo": "Οι κωδικοί μπορούν να διαχωριστούν με κόμμα ή με μία νέα γραμμή",
"emailVerificationEnableWarning": "Για να αποφύγετε να κλειδωθείτε έξω από τον λογαριασμό σας, φροντίστε να αποθηκεύσετε ένα αντίγραφο του 2FA του ηλ. ταχυδρομείου σας έξω από το Ente Auth πριν ενεργοποιήσετε την επαλήθευση μέσω ηλ. ταχυδρομείου.",
"authToViewSecrets": "Παρακαλώ πραγματοποιήστε έλεγχο ταυτότητας γιανα δείτε τα μυστικά σας",
"authToInitiateSignIn": "Παρακαλώ πραγματοποιήστε έλεγχο ταυτότητας γιανα ξεκινήσετε την είσοδο για δημιουργία αντιγράφου ασφαλείας.",
"ok": "Οκ",
"cancel": "Ακύρωση",
"yes": "Ναι",
"no": "Όχι",
"email": "Διεύθυνση ηλ. ταχυδρομείου",
"support": "Υποστήριξη",
"general": "Γενικά",
"settings": "Ρυθμίσεις",
"copied": "Αντιγράφηκε",
"pleaseTryAgain": "Παρακαλώ δοκιμάστε ξανά",
"existingUser": "Υπάρχων Χρήστης",
"newUser": "Νέος/α στο Ente",
"delete": "Διαγραφή",
"enterYourPasswordHint": "Εισάγετε τον κωδικό πρόσβασης σας",
"forgotPassword": "Ξέχασα τον κωδικό πρόσβασης σας",
"oops": "Ουπς",
"suggestFeatures": "Προτείνετε λειτουργίες",
"faq": "Συχνές Ερωτήσεις",
"faq_q_1": "Πόσο ασφαλής είναι το Auth;",
"faq_a_1": "Όλοι οι κωδικοί που δημιουργείτε μέσω του Auth αποθηκεύονται κρυπτογραφημένοι από άκρο σε άκρο. Αυτό σημαίνει ότι μόνο εσείς μπορείτε να έχετε πρόσβαση στους κωδικούς σας. Οι εφαρμογές μας είναι ανοικτού κώδικα και η κρυπτογραφία μας έχει ελεγχθεί εξωτερικά.",
"faq_q_2": "Μπορώ να έχω πρόσβαση στους κωδικούς μου στον υπολογιστή;",
"faq_a_2": "Μπορείτε να αποκτήσετε πρόσβαση στους κωδικούς σας στο ίντερνετ @ auth.ente.io.",
"faq_q_3": "Πώς μπορώ να διαγράψω κωδικούς;",
"faq_a_3": "Μπορείτε να διαγράψετε έναν κωδικό σύροντας αριστερά σε αυτό το αντικείμενο.",
"faq_q_4": "Πώς μπορώ να υποστηρίξω αυτό το πρότζεκτ;",
"faq_a_4": "Μπορείτε να υποστηρίξετε την ανάπτυξη αυτού του πρότζεκτ με την εγγραφή σας στην εφαρμογή Photos @ ente.io.",
"faq_q_5": "Πώς μπορώ να ενεργοποιήσω το Κλείδωμα FaceID στο Auth",
"faq_a_5": "Μπορείτε να ενεργοποιήσετε το κλείδωμα FaceID στις Ρυθμίσεις → Ασφάλεια → Οθόνη κλειδώματος.",
"lockScreenEnablePreSteps": "Για να ενεργοποιήσετε την οθόνη κλειδώματος, παρακαλώ ορίστε τον κωδικό πρόσβασης της συσκευής ή το κλείδωμα οθόνης στις ρυθμίσεις του συστήματός σας.",
"passwordWarning": "Δεν αποθηκεύουμε αυτόν τον κωδικό πρόσβασης, οπότε αν τον ξεχάσετε <underline>δεν μπορούμε να αποκρυπτογραφήσουμε τα δεδομένα σας</underline>",
"enterPasswordToEncrypt": "Εισάγετε έναν κωδικό πρόσβασης που μπορούμε να χρησιμοποιήσουμε για την κρυπτογράφηση των δεδομένων σας",
"enterNewPasswordToEncrypt": "Εισάγετε ένα νέο κωδικό πρόσβασης που μπορούμε να χρησιμοποιήσουμε γιανα κρυπτογραφήσουμε τα δεδομένα σας",
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Συγγνώμη, δεν μπορέσαμε να δημιουργήσουμε ασφαλή κλειδιά σε αυτήν τη συσκευή.\n\nπαρακαλώ εγγραφείτε από μια διαφορετική συσκευή.",
"howItWorks": "Πώς λειτουργεί",
"ackPasswordLostWarning": "Καταλαβαίνω ότι αν χάσω τον κωδικό μου μπορεί να χάσω τα δεδομένα μου αφού τα δεδομένα μου είναι από <underline>άκρο-σε-άκρο κρυπτογραφημένα</underline>.",
"loginTerms": "Κάνοντας κλικ στη σύνδεση, συμφωνώ με τους <u-terms>όρους χρήσης</u-terms> και την <u-policy>πολιτική απορρήτου</u-policy>",
"logInLabel": "Σύνδεση",
"logout": "Αποσυνδέση",
"areYouSureYouWantToLogout": "Είστε σίγουροι ότι θέλετε να αποσυνδεθείτε;",
"recoveryKeySuccessBody": "Τέλεια! Το κλειδί ανάκτησης σας είναι έγκυρο. Σας ευχαριστούμε για την επαλήθευση.\n\nΠαρακαλώ θυμηθείτε να κρατήσετε το κλειδί ανάκτησης σας και σε αντίγραφο ασφαλείας.",
"invalidRecoveryKey": "Το κλειδί ανάκτησης που εισάγατε δεν είναι έγκυρο. Παρακαλώ βεβαιωθείτε ότι περιέχει 24 λέξεις και ελέγξτε την ορθογραφία της κάθε μίας.\n\nΑν εισαγάγατε έναν παλαιότερο κωδικό ανάκτησης, βεβαιωθείτε ότι έχει μήκος 64 χαρακτήρες, και ελέγξτε κάθε έναν από αυτούς.",
"recreatePasswordBody": "Η τρέχουσα συσκευή δεν είναι αρκετά ισχυρή γιανα επαληθεύσει τον κωδικό πρόσβασής σας, αλλά μπορούμε να τον αναδημιουργήσουμε με έναν τρόπο που λειτουργεί με όλες τις συσκευές.\n\nΠαρακαλούμε συνδεθείτε χρησιμοποιώντας το κλειδί ανάκτησης και αναδημιουργήστε τον κωδικό πρόσβασής σας (μπορείτε να χρησιμοποιήσετε ξανά τον ίδιο αν το επιθυμείτε).",
"recoveryKeyVerifyReason": "Το κλειδί ανάκτησης σας είναι ο μόνος τρόπος γιανα ανακτήσετε τις φωτογραφίες σας εάν ξεχάσετε τον κωδικό πρόσβασής σας. Μπορείτε να βρείτε το κλειδί ανάκτησης σας στις Ρυθμίσεις > Λογαριασμός.\n\nΠαρακαλώ εισάγετε το κλειδί ανάκτησης σας εδώ γιανα βεβαιωθείτε ότι το έχετε αποθηκεύσει σωστά.",
"enterYourRecoveryKey": "Εισάγετε το κλειδί ανάκτησης σας",
"tempErrorContactSupportIfPersists": "Φαίνεται ότι κάτι πήγε στραβά. Παρακαλώ προσπαθήστε ξανά μετά από κάποιο χρονικό διάστημα. Αν το σφάλμα παραμένει, παρακαλούμε επικοινωνήστε με την ομάδα υποστήριξης μας.",
"networkHostLookUpErr": "Δεν είναι δυνατή η σύνδεση με το Ente, ελέγξτε τις ρυθμίσεις του δικτύου σας και επικοινωνήστε με την υποστήριξη αν το σφάλμα παραμένει.",
"networkConnectionRefusedErr": "Δεν είναι δυνατή η σύνδεση με το Ente, παρακαλώ προσπαθήστε ξανά μετά από λίγο. Εάν το σφάλμα παραμένει, παρακαλούμε επικοινωνήστε με την υποστήριξη.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Φαίνεται ότι κάτι πήγε στραβά. Παρακαλώ προσπαθήστε ξανά μετά από λίγο. Αν το σφάλμα παραμένει, παρακαλούμε επικοινωνήστε με την ομάδα υποστήριξης μας.",
"importFailureDesc": "Δεν ήταν δυνατή η ανάλυση του επιλεγμένου αρχείου.\nΠαρακαλώ γράψτε στο support@ente.io αν χρειάζεστε βοήθεια!",
"pendingSyncs": "Προσοχή",
"pendingSyncsWarningBody": "Δεν έχουν γίνει αντίγραφα ασφαλείας για μερικούς από τους κωδικούς σας.\n\nΠαρακαλώ βεβαιωθείτε ότι έχετε ένα αντίγραφο ασφαλείας για αυτούς τους κωδικούς πριν αποσυνδεθείτε.",
"checkInboxAndSpamFolder": "Παρακαλώ ελέγξτε τα εισερχόμενά σας (και τα ανεπιθύμητα) γιανα ολοκληρώσετε την επαλήθευση",
"tapToEnterCode": "Πατήστε γιανα εισάγετε τον κωδικό",
"theRecoveryKeyYouEnteredIsIncorrect": "Το κλειδί ανάκτησης που εισάγατε είναι εσφαλμένο",
"enterPassword": "Εισάγετε κωδικό πρόσβασης",
"selectExportFormat": "Επιλέξτε τύπο εξαγωγής",
"exportDialogDesc": "Οι κρυπτογραφημένες εξαγωγές θα προστατεύονται από έναν κωδικό πρόσβασης της επιλογής σας.",
"encrypted": "Κρυπτογραφημένο",
"plainText": "Απλό κείμενο",
"passwordToEncryptExport": "Κωδικός πρόσβασης για κρυπτογράφηση εξαγωγής",
"export": "Εξαγωγή",
"useOffline": "Χρήση χωρίς αντίγραφα ασφαλείας",
"signInToBackup": "Συνδεθείτε γιανα δημιουργήσετε αντίγραφα ασφαλείας των κωδικών σας",
"singIn": "Σύνδεση",
"sigInBackupReminder": "Παρακαλώ εξάγετε τους κωδικούς σας γιανα βεβαιωθείτε ότι έχετε ένα αντίγραφο ασφαλείας από το οποίο μπορείτε να επαναφέρετε.",
"offlineModeWarning": "Επιλέξατε να προχωρήσετε χωρίς αντίγραφα ασφαλείας. Παρακαλώ κάντε χειροκίνητα αντίγραφα ασφαλείας γιανα βεβαιωθείτε ότι οι κωδικοί σας είναι ασφαλείς.",
"showLargeIcons": "Εμφάνιση μεγάλων εικονιδίων",
"shouldHideCode": "Απόκρυψη κωδικών",
"doubleTapToViewHiddenCode": "Μπορείτε να πατήσετε δύο φορές σε μια καταχώρηση γιανα δείτε τον κωδικό",
"focusOnSearchBar": "Εστίαση στην αναζήτηση κατά την εκκίνηση εφαρμογής",
"confirmUpdatingkey": "Είστε σίγουροι ότι θέλετε να ενημερώσετε το μυστικό κλειδί;",
"minimizeAppOnCopy": "Ελαχιστοποίηση εφαρμογής κατά την αντιγραφή",
"editCodeAuthMessage": "Πραγματοποιήστε έλεγχο ταυτότητας γιανα επεξεργαστείτε τον κωδικό",
"deleteCodeAuthMessage": "Πραγματοποιήστε έλεγχο ταυτότητας γιανα διαγράψετε τον κωδικό",
"showQRAuthMessage": "Πραγματοποιήστε έλεγχο ταυτότητας γιανα δείτε τον κωδικό QR",
"confirmAccountDeleteMessage": "Αυτός ο λογαριασμός είναι συνδεδεμένος με άλλες εφαρμογές Ente, εάν χρησιμοποιείτε κάποια.\n\nΤα δεδομένα σας, σε όλες τις εφαρμογές Ente, θα προγραμματιστούν για διαγραφή και ο λογαριασμός σας θα διαγραφεί οριστικά.",
"androidBiometricHint": "Επαλήθευση ταυτότητας",
"@androidBiometricHint": {
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
"description": "Message showed as a title in a dialog which indicates the user has not set up biometric authentication on their device. It is used on Android side. Maximum 60 characters."
},
"androidDeviceCredentialsRequiredTitle": "Απαιτούνται στοιχεία συσκευής",
"@androidDeviceCredentialsRequiredTitle": {
"description": "Message showed as a title in a dialog which indicates the user has not set up credentials authentication on their device. It is used on Android side. Maximum 60 characters."
},
"androidDeviceCredentialsSetupDescription": "Απαιτούνται στοιχεία συσκευής",
"@androidDeviceCredentialsSetupDescription": {
"description": "Message advising the user to go to the settings and configure device credentials on their device. It shows in a dialog on Android side."
},
"goToSettings": "Μετάβαση στις ρυθμίσεις",
"@goToSettings": {
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
},
"androidGoToSettingsDescription": "Η βιομετρική πιστοποίηση δεν έχει ρυθμιστεί στη συσκευή σας. Μεταβείτε στις 'Ρυθμίσεις > Ασφάλεια' γιανα προσθέσετε βιομετρική ταυτοποίηση.",
"@androidGoToSettingsDescription": {
"description": "Message advising the user to go to the settings and configure biometric on their device. It shows in a dialog on Android side."
},
"iOSLockOut": "Η βιομετρική ταυτοποίηση είναι απενεργοποιημένη. Παρακαλώ κλειδώστε και ξεκλειδώστε την οθόνη σας γιανα την ενεργοποιήσετε.",
"@iOSLockOut": {
"description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side."
},
"iOSGoToSettingsDescription": "Η βιομετρική ταυτοποίηση δεν έχει ρυθμιστεί στη συσκευή σας. Παρακαλώ ενεργοποιήστε το Touch ID ή το Face ID στο τηλέφωνό σας.",
"@iOSGoToSettingsDescription": {
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
},
"iOSOkButton": "ΟΚ",
"@iOSOkButton": {
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
},
"noInternetConnection": "Χωρίς σύνδεση στο διαδίκτυο",
"pleaseCheckYourInternetConnectionAndTryAgain": "Παρακαλούμε ελέγξτε τη σύνδεσή σας στο διαδίκτυο και προσπαθήστε ξανά.",
"signOutFromOtherDevices": "Αποσύνδεση από άλλες συσκευές",
"signOutOtherBody": "Αν νομίζετε ότι κάποιος μπορεί να γνωρίζει τον κωδικό πρόσβασής σας, μπορείτε να αναγκάσετε όλες τις άλλες συσκευές που χρησιμοποιούν το λογαριασμό σας να αποσυνδεθούν.",
"signOutOtherDevices": "Αποσύνδεση άλλων συσκευών",
"doNotSignOut": "Μην αποσυνδεθείτε",
"hearUsWhereTitle": "Πώς ακούσατε για το Ente; (προαιρετικό)",
"hearUsExplanation": "Δεν παρακολουθούμε εγκαταστάσεις εφαρμογών. Θα βοηθούσε αν μας είπατε πού μας βρήκατε!",
"recoveryKeySaved": "Το κλειδί ανάκτησης αποθηκεύτηκε στο φάκελο Λήψεις!",
"waitingForBrowserRequest": "Αναμονή για αίτημα περιηγητή...",
"waitingForVerification": "Αναμονή για επαλήθευση...",
"passkey": "Κλειδί πρόσβασης",
"passKeyPendingVerification": "Η επαλήθευση εξακολουθεί να εκκρεμεί",
"loginSessionExpired": "Η συνεδρία έληξε",
"loginSessionExpiredDetails": "Η συνεδρία σας έληξε. Παρακαλώ συνδεθείτε ξανά.",
"developerSettingsWarning": "Είστε σίγουροι ότι θέλετε να τροποποιήσετε τις ρυθμίσεις Προγραμματιστή;",
"developerSettings": "Ρυθμίσεις προγραμματιστή",
"serverEndpoint": "Τερματικό σημείο διακομιστή",
"invalidEndpoint": "Μη έγκυρο τερματικό σημείο",
"invalidEndpointMessage": "Λυπούμαστε, το τερματικό σημείο που εισάγατε δεν είναι έγκυρο. Παρακαλώ εισάγετε ένα έγκυρο τερματικό σημείο και προσπαθήστε ξανά.",
"endpointUpdatedMessage": "Το τερματκό σημείο ενημερώθηκε επιτυχώς",
"toEnableAppLockPleaseSetupDevicePasscodeOrScreen": "Για να ενεργοποιήσετε το κλείδωμα εφαρμογής, παρακαλώ ορίστε τον κωδικό πρόσβασης της συσκευής ή το κλείδωμα οθόνης στις ρυθμίσεις του συστήματος σας.",
"autoLock": "Αυτόματο κλείδωμα",
"immediately": "Άμεσα",
"reEnterPassword": "Πληκτρολογήστε ξανά τον κωδικό πρόσβασης",
"reEnterPin": "Πληκτρολογήστε ξανά το PIN",
"next": "Επόμενο",
"tooManyIncorrectAttempts": "Πάρα πολλές εσφαλμένες προσπάθειες",
"tapToUnlock": "Πατήστε για ξεκλείδωμα",
"setNewPassword": "Ορίστε νέο κωδικό πρόσβασης",
"deviceLock": "Κλείδωμα συσκευής",
"hideContent": "Απόκρυψη περιεχομένου",
"pinLock": "Κλείδωμα καρφιτσωμάτων",
"enterPin": "Εισαγωγή PIN",
"setNewPin": "Ορίστε νέο PIN",
"importFailureDescNew": "Αδυναμία ανάλυσης του επιλεγμένου αρχείου."
"authToChangeLockscreenSetting": "Please authenticate to change lockscreen setting",
"lockScreenEnablePreSteps": "To enable lockscreen, please setup device passcode or screen lock in your system settings.",
"deviceLockEnablePreSteps": "To enable device lock, please setup device passcode or screen lock in your system settings.",
"viewActiveSessions": "View active sessions",
"authToViewYourActiveSessions": "Please authenticate to view your active sessions",
"searchHint": "Search...",
@@ -263,12 +263,15 @@
"exportLogs": "Export logs",
"enterYourRecoveryKey": "Enter your recovery key",
"tempErrorContactSupportIfPersists": "It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team.",
"networkHostLookUpErr": "Unable to connect to Ente, please check your network settings and contact support if the error persists.",
"networkConnectionRefusedErr": "Unable to connect to Ente, please retry after sometime. If the error persists, please contact support.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team.",
"passwordForDecryptingExport": "Contraseña para descifrar exportación",
"passwordEmptyError": "La contraseña no puede estar vacía",
"importFromApp": "Importar códigos de {appName}",
"importGoogleAuthGuide": "Exportar tus cuentas desde Google Authenticator a un código QR usando la opción \"Transferir Cuentas\". A continuación, usando otro dispositivo, escanee el código QR.\n\nConsejo: Puede usar la webcam de su portátil para tomar una foto del código QR.",
"importSelectJsonFile": "Seleccione el archivo JSON",
"importSelectAppExport": "Seleccione el archivo de exportación de {appName}",
"importEnteEncGuide": "Seleccione el archivo JSON cifrado exportado desde Ente",
"importRaivoGuide": "Utilice la opción \"Exportar códigos a un archivo de Zip\" en la configuración de Raivo.\n\nExtraiga el archivo zip e importe el archivo JSON.",
"importBitwardenGuide": "Use la opción \"Exportar caja fuerte\" dentro del menú Herramientas de Bitwarden e importe el fichero JSON no crifrado.",
"importAegisGuide": "Utilice la opción \"Exportar la bóveda\" en ajustes de Aegis.\n\nSi tu bóveda es cifrada, necesitara entrar contraseña de bóveda para descifrar la bóveda.",
@@ -119,12 +123,15 @@
"oops": "Ups",
"suggestFeatures": "Sugerir funcionalidades",
"faq": "Preguntas Frecuentes",
"faq_q_1": "¿Qué tan seguro es Auth?",
"faq_a_1": "Todos los códigos que copia de seguridad vía Ente se almacenan cifrados de extremo a extremo. Esto significa que solo usted puede acceder a sus códigos. Nuestras aplicaciones son de código abierto y nuestra criptografía ha sido auditada externamente.",
"faq_q_2": "¿Puedo acceder a mis códigos en el escritorio?",
"faq_a_2": "Puede acceder a tus códigos en la web en auth.ente.io.",
"faq_q_3": "¿Cómo puedo borrar códigos?",
"faq_a_3": "Puede eliminar un código deslizando a la izquierda en ese elemento.",
"faq_q_4": "¿Cómo puedo apoyar este proyecto?",
"faq_a_4": "Puedes apoyar el desarrollo de este proyecto suscribiéndote a nuestra app de Fotos en ente.io.",
"faq_q_5": "Cómo puedo habilitar bloqueo FaceID en Ente Auth",
"faq_a_5": "Puede activar el bloqueo FaceID en Ajustes → Seguridad → Pantalla de bloqueo.",
"somethingWentWrongMessage": "Algo ha ido mal, por favor, prueba otra vez",
"leaveFamily": "Dejar plan familiar",
@@ -151,6 +158,7 @@
}
}
},
"invalidQRCode": "Código QR no válido",
"noRecoveryKeyTitle": "¿Sin clave de recuperación?",
"enterEmailHint": "Introduce tu dirección de correo electrónico",
"invalidEmailTitle": "Dirección de correo electrónico no válida",
@@ -195,6 +203,8 @@
"saveKey": "Guardar Clave",
"save": "Guardar",
"send": "Enviar",
"saveOrSendDescription": "¿Desea guardar esto en el almacenamiento (carpeta Descargas por defecto) o enviarlo a otras aplicaciones?",
"saveOnlyDescription": "¿Desea guardar esto en el almacenamiento (carpeta Descargas por defecto)?",
"back": "Atrás",
"createAccount": "Crear cuenta",
"passwordStrength": "Fortaleza de la contraseña: {passwordStrengthValue}",
@@ -253,12 +263,15 @@
"exportLogs": "Exportar registros",
"enterYourRecoveryKey": "Introduzca su clave de recuperación",
"tempErrorContactSupportIfPersists": "Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte.",
"networkHostLookUpErr": "No se puede conectar a Ente. Por favor, comprueba tu configuración de red y ponte en contacto con el soporte técnico si el error persiste.",
"networkConnectionRefusedErr": "No se puede conectar a Ente. Por favor, vuelve a intentarlo pasado un tiempo. Si el error persiste, ponte en contacto con el soporte técnico.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte.",
"deleteCodeAuthMessage": "Autenticar para borrar código",
"showQRAuthMessage": "Autenticar para mostrar código QR",
"confirmAccountDeleteTitle": "Confirmar eliminación de la cuenta",
"confirmAccountDeleteMessage": "Esta cuenta está vinculada a otras aplicaciones de Ente, si utilizas alguna. Se programará la eliminación de los datos cargados en todas las aplicaciones de Ente, y tu cuenta se eliminará permanentemente.",
"androidBiometricHint": "Verificar identidad",
"@androidBiometricHint": {
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
},
"androidCancelButton": "Peruuta",
"@androidCancelButton": {
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
},
"goToSettings": "Mene asetuksiin",
"@goToSettings": {
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
"enterYourRecoveryKey": "Entrez votre clé de récupération",
"tempErrorContactSupportIfPersists": "Il semble qu'une erreur s'est produite. Veuillez réessayer après un certain temps. Si l'erreur persiste, veuillez contacter notre équipe d'assistance.",
"networkHostLookUpErr": "Impossible de se connecter à Ente, veuillez vérifier vos paramètres réseau et contacter le support si l'erreur persiste.",
"networkConnectionRefusedErr": "Impossible de se connecter à Ente, veuillez réessayer après un certain temps. Si l'erreur persiste, veuillez contacter le support.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Il semble qu'une erreur s'est produite. Veuillez réessayer après un certain temps. Si l'erreur persiste, veuillez contacter notre équipe d'assistance.",
"about": "À propos",
"weAreOpenSource": "Nous sommes open source !",
"privacy": "Confidentialité",
"terms": "Conditions",
"checkForUpdates": "Vérifier les mises à jour",
"checkStatus": "Vérifier le statut",
"downloadUpdate": "Télécharger",
"criticalUpdateAvailable": "Mise à jour critique disponible",
"updateAvailable": "Une mise à jour est disponible",
@@ -417,6 +420,9 @@
"waitingForBrowserRequest": "En attente de la requête du navigateur...",
"waitingForVerification": "En attente de vérification...",
"passkey": "Code d'accès",
"passKeyPendingVerification": "La vérification est toujours en attente",
"loginSessionExpired": "Session expirée",
"loginSessionExpiredDetails": "Votre session a expiré. Veuillez vous reconnecter.",
"developerSettingsWarning": "Êtes-vous sûr de vouloir modifier les paramètres du développeur ?",
"developerSettings": "Paramètres du développeur",
"serverEndpoint": "Point de terminaison serveur",
@@ -436,5 +442,22 @@
"deleteTagTitle": "Supprimer le tag ?",
"deleteTagMessage": "Êtes-vous sûr de vouloir supprimer ce tag ? Cette action est irréversible.",
"somethingWentWrongParsingCode": "Impossible d'analyser les codes {x}.",
"updateNotAvailable": "Mise à jour non disponible"
"updateNotAvailable": "Mise à jour non disponible",
"viewRawCodes": "Afficher les codes bruts",
"rawCodes": "Codes bruts",
"rawCodeData": "Données de code brut",
"noSystemLockFound": "Aucun verrou système trouvé",
"autoLock": "Verrouillage automatique",
"immediately": "Immédiatement",
"reEnterPassword": "Ressaisir le mot de passe",
"reEnterPin": "Ressaisir le code PIN",
"next": "Suivant",
"tooManyIncorrectAttempts": "Trop de tentatives incorrectes",
"tapToUnlock": "Appuyer pour déverrouiller",
"setNewPassword": "Définir un nouveau mot de passe",
"deviceLock": "Verrouillage de l'appareil",
"hideContent": "Masquer le contenu",
"enterPin": "Saisir le code PIN",
"setNewPin": "Définir un nouveau code PIN",
"importFailureDescNew": "Impossible de lire le fichier sélectionné."
"bothIssuerAndAccountCanNotBeEmpty": "રજૂકર્તા અને ખાતું બંને ખાલી હોઈ શકતા નથી",
"incorrectDetails": "ખોટી વિગતો",
"pleaseVerifyDetails": "કૃપા કરીને વિગતો ચકાસો અને ફરી પ્રયાસ કરો",
"codeIssuerHint": "રજૂકર્તા",
"codeSecretKeyHint": "ગુપ્ત ચાવી",
"codeAccountHint": "ખાતું (you@domain.com)",
"codeTagHint": "ચિઠ્ઠી",
"accountKeyType": "ચાવી નો પ્રકાર",
"sessionExpired": "સત્ર સમાપ્ત થયુ",
"@sessionExpired": {
"description": "Title of the dialog when the users current session is invalid/expired"
},
"pleaseLoginAgain": "કૃપા કરીને ફરી લોગિન કરો",
"loggingOut": "લૉગ આઉટ થઈ રહ્યું છે...",
"timeBasedKeyType": "સમય આધારિત (TOTP)",
"counterBasedKeyType": "ગણતરી આધારિત (HOTP)",
"saveAction": "સાચવો",
"nextTotpTitle": "આગળ",
"deleteCodeTitle": "કોડ કાઢી નાખીએ?",
"deleteCodeMessage": "શું તમે ખરેખર આ કોડ કાઢી નાખવા માંગો છો? આ ક્રિયા બદલી શકાય તેવી નથી.",
"viewLogsAction": "લોગ જુઓ",
"sendLogsDescription": "આ તમારી સમસ્યાને ડીબગ કરવામાં અમને મદદ કરવા માટે અમને લોગ મોકલશે. જ્યારે સંવેદનશીલ માહિતી લૉગ ન થાય તેની ખાતરી કરવા માટે અમે સાવચેતી રાખીએ છીએ, અમે તમને આ લોગ મોકલતા પહેલા જોવા માટે પ્રોત્સાહિત કરીએ છીએ.",
"preparingLogsTitle": "લૉગ્સ તૈયાર કરી રહ્યાં છીએ...",
"emailLogsTitle": "લોગ ઇમેઇલ કરો",
"emailLogsMessage": "કૃપા કરીને આને {email} લોગ મોકલો",
"@emailLogsMessage": {
"placeholders": {
"email": {
"type": "String"
}
}
},
"copyEmailAction": "ઈમેલ કોપી કરો",
"exportLogsAction": "લોગ નિકાસ કરો",
"reportABug": "બગની જાણ કરો",
"crashAndErrorReporting": "ભાંગી પડવાની અને ભૂલની જાણ કરવી",
"reportBug": "બગની જાણ કરો",
"emailUsMessage": "કૃપા કરીને અમને {email} ઇમેઇલ કરો",
"@emailUsMessage": {
"placeholders": {
"email": {
"type": "String"
}
}
},
"contactSupport": "સહાયતા માટે સંપર્ક કરો",
"rateUsOnStore": "{storeName} પર અમને રેટ કરો",
"blog": "બ્લોગ",
"merchandise": "વેપારી વસ્તુઓ",
"verifyPassword": "પાસવર્ડ ચકાસો",
"pleaseWait": "કૃપા કરીને રાહ જુવો...",
"generatingEncryptionKeysTitle": "એન્ક્રિપ્શન ચાવીઓ જનરેટ કરી રહ્યાં છીએ...",
"recreatePassword": "પાસવર્ડ ફરીથી બનાવો",
"recreatePasswordMessage": "વર્તમાન ઉપકરણ તમારા પાસવર્ડને ચકાસવા માટે પૂરતું શક્તિશાળી નથી, તેથી અમારે તેને તમામ ઉપકરણો સાથે કામ કરે તે રીતે એકવાર ફરીથી બનાવવાની જરૂર છે.\n\nકૃપા કરીને તમારી પુનઃપ્રાપ્તિ ચાવીનો ઉપયોગ કરીને લૉગિન કરો અને તમારો પાસવર્ડ ફરીથી બનાવો (જો તમે ઈચ્છો તો તમે તે જ ફરી ઉપયોગ કરી શકો છો).",
"useRecoveryKey": "પુનઃપ્રાપ્તિ કીનો ઉપયોગ કરો",
"incorrectPasswordTitle": "ખોટો પાસવર્ડ",
"welcomeBack": "ફરી તમારુ સ્વાગત છે!",
"madeWithLoveAtPrefix": " ખાતે ❤️ સાથે બનાવેલ છે",
"supportDevs": "અમને સમર્થન આપવા માટે <bold-green>ente</bold-green> પર સબ્સ્ક્રાઇબ કરો",
"supportDiscount": "પ્રથમ વર્ષે મા 10% છૂટ મેળવવા માટે કૂપન કોડ \"AUTH\" નો ઉપયોગ કરો",
"passwordForDecryptingExport": "નિકાસને ડિક્રિપ્ટ કરવા માટે પાસવર્ડ",
"passwordEmptyError": "પાસવર્ડ ખાલી ન હોઈ શકે",
"importFromApp": "{appName} થી કોડ્સ આયાત કરો",
"selectFile": "ફાઇલ પસંદ કરો",
"ok": "સારું",
"cancel": "રદ કરો",
"yes": "હા",
"no": "ના",
"email": "ઇમેઇલ",
"support": "સહાય",
"general": "સામાન્ય",
"delete": "કાઢી નાખો",
"enterPassword": "પાસવર્ડ દાખલ કરો",
"encrypted": "એનક્રિપ્ટ થયેલ",
"plainText": "સાદુ લખાણ",
"passwordToEncryptExport": "નિકાસને એન્ક્રિપ્ટ કરવા માટે પાસવર્ડ",
"export": "નિકાસ કરો",
"singIn": "સાઇન ઇન કરો",
"androidBiometricSuccess": "સફળતા",
"@androidBiometricSuccess": {
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
},
"androidCancelButton": "રદ કરો",
"@androidCancelButton": {
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
},
"androidSignInTitle": "પ્રમાણીકરણ જરૂરી છે",
"@androidSignInTitle": {
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
},
"goToSettings": "સેટિંગ માં જાઓ",
"@goToSettings": {
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
},
"iOSOkButton": "બરાબર",
"@iOSOkButton": {
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
"faq_a_1": "כל הקודים שאתה מגבה דרך ente מאוחסנים מקצה לקצה בהצפנה. הכוונה שרק אתה יכול לגשת לקודים שלך. האפליקציות שלנו הם מפותחות דרך קוד פתוח והקריפטוגרפיה שלנו מבוקרת חיצונית.",
"faq_q_2": "האם ישנה אפשרות להשתמש בקודים שלי במחשב?",
"faq_a_2": "אתה יכול לגשת לקודים שלך ברשת ב- auth.ente.io.",
"faq_q_3": "איך אפשר למחוק קודים?",
@@ -183,6 +187,8 @@
"recoveryKeySaveDescription": "אנחנו לא מאחסנים את המפתח הזה, אנא שמור את המפתח 24 מילים הזה במקום בטוח.",
"pleaseVerifyDetails": "Periksa kembali data kamu dan coba lagi",
"codeIssuerHint": "Penerbit",
"codeSecretKeyHint": "Kunci Rahasia",
"codeAccountHint": "Akun (kamu@domain.com)",
"codeTagHint": "Tag",
"sessionExpired": "Sesi berakhir",
"@sessionExpired": {
"description": "Title of the dialog when the users current session is invalid/expired"
},
"pleaseLoginAgain": "Silakan masuk akun lagi",
"loggingOut": "Mengeluarkan akun...",
"timeBasedKeyType": "Berbasis waktu (TOTP)",
"saveAction": "Simpan",
"nextTotpTitle": "berikutnya",
"deleteCodeTitle": "Hapus kode?",
"deleteCodeMessage": "Apakah kamu yakin ingin menghapus kode ini? Tindakan ini tidak dapat dikembalikan ke semula.",
"viewLogsAction": "Lihat log",
"sendLogsDescription": "Langkah ini akan mengirimkan log untuk membantu kami menganalisa masalah kamu. Meskipun kami melakukan tindakan pencegahan untuk memastikan bahwa informasi sensitif tidak dicatat, kami menganjurkan kamu untuk melihat log ini sebelum membagikannya.",
"recreatePasswordMessage": "Perangkat ini tidak cukup kuat untuk memverifikasi kata sandi kamu, jadi kami perlu membuat ulang kata sandi kamu sekali lagi dengan cara yang dapat digunakan di semua perangkat.\n\nSilahkan masuk menggunakan kunci pemulihan dan buat ulang kata sandi kamu (Kamu dapat menggunakan kata sandi yang sama lagi jika mau).",
"useRecoveryKey": "Gunakan kunci pemulihan",
"incorrectPasswordTitle": "Kata sandi salah",
"welcomeBack": "Selamat datang kembali!",
"madeWithLoveAtPrefix": "dibuat dengan ❤️ di ",
"supportDevs": "Berlangganan <bold-green>ente</bold-green> untuk mendukung kami",
"supportDiscount": "Gunakan kode kupon \"AUTH\" untuk mendapatkan potongan 10% pada tahun pertamamu",
"changeEmail": "Ubah email",
"changePassword": "Ubah sandi",
"data": "Data",
"importCodes": "Impor kode",
"importTypePlainText": "Teks biasa",
"passwordForDecryptingExport": "Kata sandi untuk mendekripsi ekspor",
"passwordEmptyError": "Kata sandi tidak boleh kosong",
"importFromApp": "Impor kode dari {appName}",
"importSelectJsonFile": "Pilih File JSON",
"importSelectAppExport": "Pilih file ekspor dari {appName}",
"selectFile": "Pilih file",
"emailVerificationToggle": "Verifikasi email",
"emailVerificationEnableWarning": "Untuk menghindari akun kamu terkunci, pastikan untuk menyimpan salinan 2FA email kamu di luar Ente Auth sebelum mengaktifkan verifikasi email.",
"ok": "Oke",
"cancel": "Batal",
"email": "Email",
"support": "Dukungan",
"general": "Umum",
"settings": "Pengaturan",
"newUser": "Baru di Ente",
"delete": "Hapus",
"enterYourPasswordHint": "Masukkan sandi kamu",
"suggestFeatures": "Sarankan fitur",
"faq": "Tanya Jawab Umum",
"faq_q_1": "Seberapa aman Auth itu?",
"faq_a_1": "Semua kode yang kamu cadangkan melalui Auth disimpan menggunakan enkripsi end-to-end. Jadi hanya kamu yang dapat mengaksesnya. Aplikasi kami bersifat open source dan kriptografi kami telah diaudit oleh eksternal.",
"faq_q_2": "Bisakah saya mengakses kode saya di desktop?",
"faq_a_2": "Kamu dapat mengakses kodenya melalui web auth.ente.io.",
"scan": "Pindai",
"scanACode": "Pindai kode",
"verify": "Verifikasi",
"verifyEmail": "Verifikasi email",
"enterCodeHint": "Masukkan kode 6 angka dari\napp autentikator kamu",
"description": "Title of the dialog when the users current session is invalid/expired"
@@ -77,16 +79,19 @@
"data": "Dati",
"importCodes": "Importa codici",
"importTypePlainText": "Testo in chiaro",
"importTypeEnteEncrypted": "Esportazione Ente criptata",
"passwordForDecryptingExport": "Password per decriptare il file esportato",
"passwordEmptyError": "La password è obbligatoria",
"importFromApp": "Importa codici da {appName}",
"importGoogleAuthGuide": "Esporta i tuoi account da Google Authenticator in un codice QR utilizzando l'opzione \"Trasferisci Account\". Quindi, usando un altro dispositivo, scansiona il codice QR.\n\nSuggerimento: Puoi usare la webcam del tuo computer portatile per scattare una foto del codice QR.",
"importSelectJsonFile": "Seleziona file JSON",
"importSelectAppExport": "Seleziona il file di esportazione {appName}",
"importEnteEncGuide": "Seleziona il file JSON criptato esportato da Ente",
"importRaivoGuide": "Utilizza l'opzione \"Esporta i codici OTP in archivio Zip\" nelle impostazioni di Raivo.\n\nEstrai il file zip e importa il file JSON.",
"importBitwardenGuide": "Utilizzare l'opzione \"Esporta vault\" all'interno di Bitwarden Tools e importa il file JSON non crittografato.",
"importAegisGuide": "Usa l'opzione \"Esporta la cassaforte\" nelle impostazioni di Aegis.\n\nSe la tua cassaforte è criptata, dovrai inserire la password della cassaforte per decriptarla.",
"import2FasGuide": "Utilizza l'opzione \"Impostazioni->Backup -Export\" in 2FAS.\n\nSe il backup è crittografato, è necessario inserire la password per decriptare il backup",
"importLastpassGuide": "Usa l'opzione \"Trasferisci account\" all'interno delle impostazioni di Lastpass Authenticator e premi \"Esporta account su file\". Importa il JSON scaricato.",
"exportCodes": "Esporta codici",
"importLabel": "Importa",
"importInstruction": "Per favore seleziona un file contenente una lista dei tuoi codici nel seguente formato",
@@ -111,18 +116,22 @@
"copied": "Copiato",
"pleaseTryAgain": "Per favore riprova",
"existingUser": "Accedi",
"newUser": "Nuovo utente",
"delete": "Cancella",
"enterYourPasswordHint": "Inserisci la tua password",
"forgotPassword": "Password dimenticata",
"oops": "Oops",
"suggestFeatures": "Suggerisci funzionalità",
"faq": "FAQ",
"faq_q_1": "Quanto è sicuro Auth?",
"faq_a_1": "Tutti i codici di cui fai il backup tramite Auth sono memorizzati con crittografia end-to-end. Ciò significa che solo tu puoi accedere ai tuoi codici. Le nostre app sono open source e la nostra crittografia è stata verificata esternamente.",
"faq_q_2": "Posso accedere ai miei codici sul desktop?",
"faq_a_2": "Puoi accedere ai tuoi codici sul web @ auth.ente.io.",
"faq_q_3": "Come posso cancellare i codici?",
"faq_a_3": "Puoi eliminare un codice scorrendo il dito a sinistra sul codice in questione.",
"faq_q_4": "Come posso supportare questo progetto?",
"faq_a_4": "Puoi supportare lo sviluppo di questo progetto abbonandoti alla nostra app Photos @ ente.io.",
"faq_q_5": "Come posso abilitare il blocco FaceID in Auth",
"faq_a_5": "Puoi abilitare il blocco FaceID in Impostazioni → Sicurezza → Schermata di blocco.",
"somethingWentWrongMessage": "Qualcosa è andato storto, per favore riprova",
"leaveFamily": "Abbandona il piano famiglia",
@@ -136,6 +145,8 @@
"enterCodeHint": "Inserisci il codice di 6 cifre dalla tua app di autenticazione",
"lostDeviceTitle": "Dispositivo perso?",
"twoFactorAuthTitle": "Autenticazione a due fattori",
"passkeyAuthTitle": "Verifica della passkey",
"verifyPasskey": "Verifica passkey",
"recoverAccount": "Recupera account",
"enterRecoveryKeyHint": "Inserisci la tua chiave di recupero",
"recover": "Recupera",
@@ -147,6 +158,7 @@
}
}
},
"invalidQRCode": "Codice QR non valido",
"noRecoveryKeyTitle": "Nessuna chiave di recupero?",
"enterEmailHint": "Inserisci il tuo indirizzo email",
"invalidEmailTitle": "Indirizzo email non valido",
@@ -190,6 +202,9 @@
"doThisLater": "Fallo più tardi",
"saveKey": "Salva chiave",
"save": "Salva",
"send": "Invia",
"saveOrSendDescription": "Vuoi salvarlo nel tuo spazio di archiviazione (cartella Download per impostazione predefinita) o inviarlo ad altre applicazioni?",
"saveOnlyDescription": "Vuoi salvarlo nel tuo spazio di archiviazione (cartella Download per impostazione predefinita)?",
"enterYourRecoveryKey": "Inserisci la tua chiave di recupero",
"tempErrorContactSupportIfPersists": "Sembra che qualcosa sia andato storto. Riprova tra un po'. Se l'errore persiste, contatta il nostro team di supporto.",
"networkHostLookUpErr": "Impossibile connettersi a Ente, controlla le impostazioni di rete e contatta l'assistenza se l'errore persiste.",
"networkConnectionRefusedErr": "Impossibile connettersi a Ente, riprova tra un po' di tempo. Se l'errore persiste, contatta l'assistenza.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Sembra che qualcosa sia andato storto. Riprova tra un po'. Se l'errore persiste, contatta il nostro team di supporto.",
"about": "Informazioni",
"weAreOpenSource": "Siamo open source!",
"privacy": "Privacy",
"terms": "Termini",
"checkForUpdates": "Controlla aggiornamenti",
"checkStatus": "Verifica stato",
"downloadUpdate": "Scarica",
"criticalUpdateAvailable": "Un aggiornamento importante è disponibile",
"updateAvailable": "Aggiornamento disponibile",
@@ -337,6 +355,7 @@
"deleteCodeAuthMessage": "Autenticarsi per cancellare il codice",
"showQRAuthMessage": "Autenticarsi per mostrare il codice QR",
"confirmAccountDeleteMessage": "Questo account è collegato ad altre app di Ente, se ne utilizzi.\n\nI tuoi dati caricati, su tutte le app di Ente, saranno pianificati per la cancellazione e il tuo account verrà eliminato definitivamente.",
"androidBiometricHint": "Verifica l'identità",
"@androidBiometricHint": {
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
@@ -397,5 +416,55 @@
"doNotSignOut": "Non uscire",
"hearUsWhereTitle": "Dove hai sentito parlare di Ente? (opzionale)",
"hearUsExplanation": "Non teniamo traccia delle installazioni dell'app. Sarebbe utile se ci dicessi dove ci hai trovato!",
"passkey": "Passkey"
"recoveryKeySaved": "Chiave di recupero salvata nella cartella Download!",
"waitingForBrowserRequest": "In attesa della richiesta del browser...",
"waitingForVerification": "In attesa di verifica...",
"passkey": "Passkey",
"passKeyPendingVerification": "La verifica è ancora in corso",
"loginSessionExpired": "Sessione scaduta",
"loginSessionExpiredDetails": "La sessione è scaduta. Si prega di accedere nuovamente.",
"developerSettingsWarning": "Siete sicuri di voler modificare le impostazioni sviluppatore?",
"developerSettings": "Impostazioni sviluppatore",
"serverEndpoint": "Endpoint del server",
"invalidEndpoint": "Endpoint invalido",
"invalidEndpointMessage": "Spiacenti, l'endpoint inserito non è valido. Inserisci un endpoint valido e riprova.",
"endpointUpdatedMessage": "Endpoint aggiornato con successo",
"customEndpoint": "Connesso a {endpoint}",
"pinText": "Fissa",
"unpinText": "Sgancia",
"pinnedCodeMessage": "{code} è stato fissato",
"unpinnedCodeMessage": "{code} è stato sganciato",
"tags": "Tag",
"createNewTag": "Crea un nuovo tag",
"tag": "Tag",
"create": "Crea",
"editTag": "Modifica tag",
"deleteTagTitle": "Eliminare il tag?",
"deleteTagMessage": "Sei sicuro di voler eliminare questo tag? Questa azione è irreversibile.",
"somethingWentWrongParsingCode": "Non siamo riusciti ad analizzare i codici {x}.",
"updateNotAvailable": "Aggiornamento non disponibile",
"viewRawCodes": "Visualizza codici raw",
"rawCodes": "Codici raw",
"rawCodeData": "Dati codice raw",
"appLock": "Blocco app",
"noSystemLockFound": "Nessun blocco di sistema trovato",
"toEnableAppLockPleaseSetupDevicePasscodeOrScreen": "Per abilitare il blocco dell'app, configura il codice di accesso del dispositivo o il blocco schermo nelle impostazioni di sistema.",
"description": "Text shown in the AppBar of the Counter Page"
},
"onBoardingBody": "2단계 인증 코드를 안전하게 백업하세요",
"onBoardingGetStarted": "시작하기",
"setupFirstAccount": "첫번째 계정을 설정하세요",
"importScanQrCode": "QR 코드 스캔",
"qrCode": "QR 코드",
"importEnterSetupKey": "설정 키 입력",
"importAccountPageTitle": "계정 상세 정보 입력",
"secretCanNotBeEmpty": "비밀 키는 비워둘 수 없습니다",
"bothIssuerAndAccountCanNotBeEmpty": "발행인과 계정을 모두 비워둘 수 없습니다",
"incorrectDetails": "세부 정보가 잘못 됨",
"pleaseVerifyDetails": "입력된 정보를 확인하고 다시 시도하세요",
"codeIssuerHint": "발행인",
"codeSecretKeyHint": "비밀 키",
"codeAccountHint": "계정 (you@domain.com)",
"codeTagHint": "태그",
"accountKeyType": "키 종류",
"sessionExpired": "세션 만료 됨",
"@sessionExpired": {
"description": "Title of the dialog when the users current session is invalid/expired"
},
"pleaseLoginAgain": "다시 로그인하세요",
"loggingOut": "로그아웃하는 중...",
"timeBasedKeyType": "시간 기반 (TOTP)",
"counterBasedKeyType": "카운터 기반 (HOTP)",
"saveAction": "저장",
"nextTotpTitle": "다음",
"deleteCodeTitle": "코드를 삭제할까요?",
"deleteCodeMessage": "정말 이 코드를 삭제하시겠습니까? 이 동작은 되돌릴 수 없습니다.",
"viewLogsAction": "로그 확인",
"sendLogsDescription": "이렇게 하면 문제를 디버깅하는 데 도움이 되는 로그가 전송됩니다. 민감한 정보가 기록되지 않도록 예방 조치를 취하고 있지만, 로그를 공유하기 전에 해당 로그를 확인하는 것이 좋습니다.",
"preparingLogsTitle": "로그를 준비하는 중...",
"emailLogsTitle": "이메일 로그",
"emailLogsMessage": "{email} 로 로그를 보내주세요",
"@emailLogsMessage": {
"placeholders": {
"email": {
"type": "String"
}
}
},
"copyEmailAction": "이메일 복사",
"exportLogsAction": "로그 내보내기",
"reportABug": "버그 제보",
"crashAndErrorReporting": "충돌 & 에러 보고",
"reportBug": "버그 제보",
"emailUsMessage": "{email} 로 이메일을 보내주세요",
"@emailUsMessage": {
"placeholders": {
"email": {
"type": "String"
}
}
},
"contactSupport": "지원 연락",
"rateUsOnStore": "{storeName} 에서 평가해주세요",
"blog": "블로그",
"merchandise": "제품",
"verifyPassword": "비밀번호 확인",
"pleaseWait": "잠시만 기다려주세요...",
"generatingEncryptionKeysTitle": "암호화 키를 생성하는 중...",
"recreatePassword": "비밀번호 재생성",
"recreatePasswordMessage": "현재 기기는 비밀번호를 확인할 수 있을 만큼 강력하지 않으므로, 모든 기기에서 작동하는 방식으로 비밀번호를 한 번 더 생성해야 합니다. \n\n복구 키를 사용하여 로그인하고 비밀번호를 다시 생성해 주세요. (원하는 경우 동일한 비밀번호를 다시 사용할 수 있습니다)",
"enterYourRecoveryKey": "Voer je herstelsleutel in",
"tempErrorContactSupportIfPersists": "Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam.",
"networkHostLookUpErr": "Kan geen verbinding maken met Ente, controleer uw netwerkinstellingen en neem contact op met ondersteuning als de fout zich blijft voordoen.",
"networkConnectionRefusedErr": "Kan geen verbinding maken met Ente, probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met support.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam.",
"toEnableAppLockPleaseSetupDevicePasscodeOrScreen": "Om schermvergrendeling in te schakelen, moet u een toegangscode of schermvergrendeling instellen in uw systeeminstellingen.",
"autoLock": "Automatische vergrendeling",
"immediately": "Onmiddellijk",
"reEnterPassword": "Wachtwoord opnieuw invoeren",
"reEnterPin": "PIN opnieuw invoeren",
"next": "Volgende",
"tooManyIncorrectAttempts": "Te veel onjuiste pogingen",
"tapToUnlock": "Tik om te ontgrendelen",
"setNewPassword": "Nieuw wachtwoord instellen",
"deviceLock": "Apparaat vergrendeling",
"hideContent": "Inhoud verbergen",
"hideContentDescriptionAndroid": "Verbergt de app inhoud in de app switcher en schakelt schermafbeeldingen uit",
"hideContentDescriptioniOS": "Verbergt de inhoud van de app in de app switcher",
"autoLockFeatureDescription": "Tijd waarna de app vergrendelt nadat ze op de achtergrond is gezet",
"appLockDescription": "Kies tussen de standaard schermvergrendeling van uw apparaat en een aangepaste schermvergrendeling met een pincode of wachtwoord.",
"pinLock": "Pin vergrendeling",
"enterPin": "Pin invoeren",
"setNewPin": "Nieuwe pin instellen",
"importFailureDescNew": "Kon het geselecteerde bestand niet lezen."
"secretCanNotBeEmpty": "Sekret nie może być pusty",
"bothIssuerAndAccountCanNotBeEmpty": "Pola wydawca i konto nie mogą być puste",
"incorrectDetails": "Nieprawidłowe szczegóły",
"pleaseVerifyDetails": "Proszę zweryfikować szczegóły i spróbuj ponownie",
"pleaseVerifyDetails": "Prosimy zweryfikować szczegóły i spróbować ponownie",
"codeIssuerHint": "Wydawca",
"codeSecretKeyHint": "Tajny klucz",
"codeSecretKeyHint": "Tajny Klucz",
"codeAccountHint": "Konto (ty@domena.com)",
"codeTagHint": "Oznacz",
"accountKeyType": "Rodzaj klucza",
"sessionExpired": "Sesja wygasła",
"@sessionExpired": {
"description": "Title of the dialog when the users current session is invalid/expired"
},
"pleaseLoginAgain": "Prosimy zaloguj się ponownie",
"pleaseLoginAgain": "Prosimy zalogować się ponownie",
"loggingOut": "Wylogowywanie...",
"timeBasedKeyType": "Oparte na czasie (TOTP)",
"counterBasedKeyType": "Oparte na liczniku (HOTP)",
@@ -34,9 +36,9 @@
"deleteCodeMessage": "Czy na pewno chcesz usunąć ten kod? Ta akcja jest nieodwracalna.",
"viewLogsAction": "Wyświetl logi",
"sendLogsDescription": "Spowoduje to przesłanie logów, które pomogą nam rozwiązać Twój problem. Chociaż podejmujemy środki ostrożności, aby zapewnić, że wrażliwe informacje nie są rejestrowane, zachęcamy do obejrzenia tych dzienników przed ich udostępnieniem.",
"preparingLogsTitle": "Przygotowanie logów...",
"emailLogsTitle": "Wyślij log mailem",
"emailLogsMessage": "Proszę wysłać logi do {email}",
"preparingLogsTitle": "Przygotowywanie logów...",
"emailLogsTitle": "Wyślij logi mailem",
"emailLogsMessage": "Prosimy wysłać logi do {email}",
"recreatePasswordMessage": "Obecne urządzenie nie jest wystarczająco wydajne, aby zweryfikować Twoje hasło, więc musimy je raz zregenerować w sposób, który działa ze wszystkimi urządzeniami. \n\nZaloguj się przy użyciu klucza odzyskiwania i zresetuj swoje hasło (możesz ponownie użyć tego samego, jeśli chcesz).",
"useRecoveryKey": "Użyj kodu odzyskiwania",
"incorrectPasswordTitle": "Nieprawidłowe hasło",
"welcomeBack": "Witaj ponownie!",
"madeWithLoveAtPrefix": "wykonane z ❤️ w ",
"madeWithLoveAtPrefix": "zrobione z ❤️ w ",
"supportDevs": "Subskrybuj <bold-green>ente</bold-green> aby wesprzeć ten projekt.",
"supportDiscount": "Użyj kodu rabatowego \"AUTH\", aby otrzymać 10% rabatu na pierwszy rok",
"changeEmail": "Zmień adres e-mail",
@@ -77,25 +79,32 @@
"data": "Dane",
"importCodes": "Importuj kody",
"importTypePlainText": "Zwykły tekst",
"importTypeEnteEncrypted": "Zaszyfrowany eksport Ente",
"passwordForDecryptingExport": "Hasło do odszyfrowania eksportu",
"passwordEmptyError": "Pole hasło nie może być puste",
"importFromApp": "Importuj kody z {appName}",
"importGoogleAuthGuide": "Wyeksportuj twoje konta z Google Authenticator do kodu QR używając opcji \"Przenieś konta\". Potem używając innego urządzenia, zeskanuj kod QR.",
"importGoogleAuthGuide": "Wyeksportuj Twoje konta z Google Authenticator do kodu QR używając opcji \"Przenieś konta\". Potem używając innego urządzenia, zeskanuj kod QR.\n\nWskazówka: Możesz użyć kamery Twojego laptopa, by zrobić zdjęcie kodu QR.",
"importEnteEncGuide": "Wybierz zaszyfrowany plik JSON wyeksportowany z Ente",
"importRaivoGuide": "Użyj opcji \"Eksportuj OTP do archiwum ZIP\" w Ustawieniach Raivo.\n\nWyodrębnij plik zip i zaimportuj plik JSON.",
"importBitwardenGuide": "Użyj opcji \"Eksportuj sejf\" w Narzędziach Bitwarden i zaimportuj niezaszyfrowany plik JSON.",
"importAegisGuide": "Użyj opcji \"Eksportuj sejf\" w ustawieniach Aegis.\n\nJeśli twój sejf jest zaszyfrowany, musisz wprowadzić hasło sejfu, aby odszyfrować sejf.",
"import2FasGuide": "Użyj opcji \"Ustawienia->Kopia Zapasowa-Eksport\" w 2FAS.\n\nJeśli twoja kopia zapasowa jest zaszyfrowana, musisz wprowadzić hasło, aby odszyfrować kopię zapasową",
"importLastpassGuide": "Użyj opcji \"Przenieś konta\" w Ustawieniach Lastpass Authenticator i naciśnij \"Eksportuj konta do pliku\". Zaimportuj pobrany plik JSON.",
"exportCodes": "Eksportuj kody",
"importLabel": "Importuj",
"importInstruction": "Wybierz plik, który zawiera listę twoich kodów w następującym formacie",
"importCodeDelimiterInfo": "Kody mogą być oddzielone przecinkiem lub nową linią",
"selectFile": "Wybierz plik",
"emailVerificationToggle": "Weryfikacja e-mail",
"emailVerificationEnableWarning": "Jeśli przechowujesz uwierzytelnianie dwuskładnikowe do twojego e-mailu z nami, włączenie weryfikacji adresu e-mail może spowodować impas. Jeśli jesteś zablokowany z jednej usługi, możesz nie być w stanie zalogować się do drugiej.",
"authToChangeEmailVerificationSetting": "Proszę uwierzytelnić, aby zmienić weryfikację e-mail",
"authToViewYourRecoveryKey": "Proszę uwierzytelnić, aby wyświetlić swój klucz odzyskiwania",
"authToChangeYourEmail": "Proszę uwierzytelnić, aby zmienić swój adres e-mail",
"authToChangeYourPassword": "Proszę uwierzytelnić, aby zmienić hasło",
"authToViewSecrets": "Proszę uwierzytelnić, aby wyświetlić swoje sekrety",
"emailVerificationEnableWarning": "Aby uniknąć zablokowania się z konta, upewnij się, że przed włączeniem weryfikacji e-mail przechowujesz kopię 2FA dla swojego adresu e-mail poza Ente Auth.",
"authToChangeEmailVerificationSetting": "Prosimy uwierzytelnić się, aby zmienić weryfikację e-mail",
"authToViewYourRecoveryKey": "Prosimy uwierzytelnić się, aby wyświetlić swój klucz odzyskiwania",
"authToChangeYourEmail": "Prosimy uwierzytelnić się, aby zmienić swój adres e-mail",
"authToChangeYourPassword": "Prosimy uwierzytelnić się, aby zmienić hasło",
"authToViewSecrets": "Prosimy uwierzytelnić się, aby wyświetlić swoje sekrety",
"authToInitiateSignIn": "Prosimy uwierzytelnić się, aby zainicjować logowanie do kopii zapasowej.",
"ok": "Ok",
"cancel": "Anuluj",
"yes": "Tak",
@@ -105,22 +114,26 @@
"general": "Ogólne",
"settings": "Ustawienia",
"copied": "Skopiowano",
"pleaseTryAgain": "Proszę spróbować ponownie",
"existingUser": "Istniejący użytkownik",
"pleaseTryAgain": "Prosimy spróbować ponownie",
"existingUser": "Istniejący Użytkownik",
"newUser": "Nowy/a do Ente",
"delete": "Usuń",
"enterYourPasswordHint": "Wprowadź swoje hasło",
"forgotPassword": "Nie pamiętam hasła",
"oops": "Ups",
"suggestFeatures": "Zaproponuj funkcje",
"faq": "Najczęściej zadawane pytania (FAQ)",
"faq_q_1": "Jak bezpieczny jest Auth?",
"faq_a_1": "Wszystkie kody, których tworzysz kopię zapasową za pomocą Ente są przechowywane zaszyfrowane end-to-end. Oznacza to, że tylko Ty możesz uzyskać dostęp do swoich kodów. Nasze aplikacje są otwarto-źródłowe, a nasza kryptografia została poddana zewnętrznemu audytowi.",
"faq_q_2": "Czy mogę uzyskać dostęp do moich kodów na komputerze?",
"faq_a_2": "Możesz uzyskać dostęp do swoich kodów na stronie auth.ente.io.",
"faq_q_3": "Jak mogę usunąć kody?",
"faq_a_3": "Możesz usunąć kod, przesuwając go w lewo.",
"faq_q_4": "Jak mogę wesprzeć ten projekt?",
"faq_a_4": "Możesz wspierać rozwój tego projektu, subskrybując do naszej aplikacji Zdjęcia na ente.io.",
"faq_q_5": "Jak mogę włączyć blokadę FaceID w Ente Auth",
"signUpTerms": "Akceptuję <u-terms>warunki korzystania z usługi</u-terms> i <u-policy>politykę prywatności</u-policy>",
"privacyPolicyTitle": "Polityka prywatności",
"privacyPolicyTitle": "Polityka Prywatności",
"termsOfServicesTitle": "Regulamin",
"encryption": "Szyfrowanie",
"setPasswordTitle": "Ustaw hasło",
@@ -220,7 +238,7 @@
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Przepraszamy, nie mogliśmy wygenerować kluczy bezpiecznych na tym urządzeniu.\n\nZarejestruj się z innego urządzenia.",
"howItWorks": "Jak to działa",
"ackPasswordLostWarning": "Rozumiem, że jeśli utracę hasło, mogę stracić moje dane, ponieważ moje dane są <underline>szyfrowane end-to-end</underline>.",
"loginTerms": "Klikając zaloguj się zgadzam się na <u-terms>Regulamin</u-terms> i <u-policy>politykę prywatności<u-policy>",
"loginTerms": "Klikając, zaloguj się, zgadzam się na <u-terms>regulamin</u-terms> i <u-policy>politykę prywatności</u-policy>",
"logInLabel": "Zaloguj się",
"logout": "Wyloguj się",
"areYouSureYouWantToLogout": "Czy na pewno chcesz się wylogować?",
"recoveryKeySuccessBody": "Świetnie! Twój klucz odzyskiwania jest prawidłowy. Dziękuję za weryfikację.\n\nPamiętaj, aby przechowywać klucz odzyskiwania w bezpiecznej kopii zapasowej.",
"invalidRecoveryKey": "Wprowadzony klucz odzyskiwania jest nieprawidłowy. Upewnij się, że zawiera 24 słowa i sprawdź pisownię każdego z nich.\n\nJeśli wprowadziłeś starszy kod odzyskiwania, upewnij się, że ma on 64 znaki i sprawdź każdy z nich.",
"recoveryKeySuccessBody": "Znakomicie! Klucz odzyskiwania jest prawidłowy. Dziękujemy za weryfikację.\n\nPamiętaj, aby bezpiecznie przechowywać kopię zapasową klucza odzyskiwania.",
"invalidRecoveryKey": "Wprowadzony klucz odzyskiwania jest nieprawidłowy. Upewnij się, że zawiera 24 słowa i sprawdź pisownię każdego z nich.\n\nJeśli wprowadziłeś/aś starszy kod odzyskiwania, upewnij się, że ma on 64 znaki i sprawdź każdy z nich.",
"recreatePasswordTitle": "Zresetuj hasło",
"recreatePasswordBody": "Obecne urządzenie nie jest wystarczająco wydajne, aby zweryfikować Twoje hasło, więc musimy je raz zregenerować w sposób, który działa ze wszystkimi urządzeniami. \n\nZaloguj się przy użyciu klucza odzyskiwania i zresetuj swoje hasło (możesz ponownie użyć tego samego, jeśli chcesz).",
"pleaseSendTheLogsTo": "Proszę wysłać logi do {toEmail}",
"pleaseSendTheLogsTo": "Prosimy wysłać logi do {toEmail}",
"copyEmailAddress": "Kopiuj adres e-mail",
"exportLogs": "Eksportuj logi",
"enterYourRecoveryKey": "Wprowadź swój klucz odzyskiwania",
"tempErrorContactSupportIfPersists": "Wygląda na to, że coś poszło nie tak. Spróbuj ponownie po pewnym czasie. Jeśli błąd będzie się powtarzał, skontaktuj się z naszym zespołem pomocy technicznej.",
"networkHostLookUpErr": "Nie można połączyć się z Ente, sprawdź ustawienia sieci i skontaktuj się z pomocą techniczną, jeśli błąd będzie się powtarzał.",
"networkConnectionRefusedErr": "Nie można połączyć się z Ente, spróbuj ponownie po pewnym czasie. Jeśli błąd będzie się powtarzał, skontaktuj się z pomocą techniczną.",
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Wygląda na to, że coś poszło nie tak. Spróbuj ponownie po pewnym czasie. Jeśli błąd będzie się powtarzał, skontaktuj się z naszym zespołem pomocy technicznej.",
"about": "O nas",
"weAreOpenSource": "Posiadamy otwarte źródło!",
"privacy": "Prywatność",
"terms": "Warunki",
"checkForUpdates": "Sprawdź czy są dostępne nowe aktualizacje",
"checkStatus": "Sprawdź stan",
"downloadUpdate": "Pobierz",
"criticalUpdateAvailable": "Dostępna jest krytyczna aktualizacja",
"theRecoveryKeyYouEnteredIsIncorrect": "Wprowadzony klucz odzyskiwania jest nieprawidłowy",
"enterPassword": "Wprowadź hasło",
@@ -322,21 +343,31 @@
"useOffline": "Używaj bez kopii zapasowych",
"signInToBackup": "Zaloguj się, aby wykonać kopię zapasową swoich kodów",
"singIn": "Zaloguj się",
"sigInBackupReminder": "Proszę wyeksportować swoje kody, aby upewnić się, że masz kopię zapasową, z której możesz przywrócić swoje kody.",
"sigInBackupReminder": "Prosimy wyeksportować swoje kody, aby upewnić się, że masz kopię zapasową, z której możesz przywrócić swoje kody.",
"offlineModeWarning": "Wybrałeś kontynuację bez kopii zapasowych. Proszę wykonywać ręczne kopie zapasowe, aby upewnić się, że Twoje kody są bezpieczne.",
"showLargeIcons": "Pokaż duże ikony",
"shouldHideCode": "Ukryj kody",
"doubleTapToViewHiddenCode": "Możesz kliknąć dwukrotnie na wpis, aby wyświetlić kod",
"focusOnSearchBar": "Uaktywnij wyszukiwanie przy uruchamianiu aplikacji",
"confirmUpdatingkey": "Czy na pewno chcesz zaktualizować tajny klucz?",
"minimizeAppOnCopy": "Minimalizuj aplikację przy kopiowaniu",
"editCodeAuthMessage": "Uwierzytelnij, aby edytować kod",
"deleteCodeAuthMessage": "Uwierzytelnij, aby usunąć kod",
"showQRAuthMessage": "Uwierzytelnij, aby pokazać kod QR",
"editCodeAuthMessage": "Uwierzytelnij się, aby edytować kod",
"deleteCodeAuthMessage": "Uwierzytelnij się, aby usunąć kod",
"showQRAuthMessage": "Uwierzytelnij się, aby pokazać kod QR",
"confirmAccountDeleteMessage": "To konto jest połączone z innymi aplikacjami Ente, jeśli ich używasz.\n\nTwoje przesłane dane, we wszystkich aplikacjach Ente, zostaną zaplanowane do usunięcia, a Twoje konto zostanie trwale usunięte.",
"androidBiometricHint": "Potwierdź swoją tożsamość",
"@androidBiometricHint": {
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
},
"androidBiometricSuccess": "Sukces",
"@androidBiometricSuccess": {
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
},
"androidCancelButton": "Anuluj",
"@androidCancelButton": {
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
@@ -345,13 +376,95 @@
"@androidSignInTitle": {
"description": "Message showed as a title in a dialog which indicates the user that they need to scan biometric to continue. It is used on Android side. Maximum 60 characters."
"description": "Message showed as a title in a dialog which indicates the user has not set up biometric authentication on their device. It is used on Android side. Maximum 60 characters."
},
"androidDeviceCredentialsRequiredTitle": "Wymagane dane logowania urządzenia",
"@androidDeviceCredentialsRequiredTitle": {
"description": "Message showed as a title in a dialog which indicates the user has not set up credentials authentication on their device. It is used on Android side. Maximum 60 characters."
},
"androidDeviceCredentialsSetupDescription": "Wymagane dane logowania urządzenia",
"@androidDeviceCredentialsSetupDescription": {
"description": "Message advising the user to go to the settings and configure device credentials on their device. It shows in a dialog on Android side."
},
"goToSettings": "Przejdź do ustawień",
"@goToSettings": {
"description": "Message showed on a button that the user can click to go to settings pages from the current dialog. It is used on both Android and iOS side. Maximum 30 characters."
},
"androidGoToSettingsDescription": "Uwierzytelnianie biometryczne nie jest skonfigurowane na tym urządzeniu. Przejdź do 'Ustawienia > Bezpieczeństwo', aby dodać uwierzytelnianie biometryczne.",
"@androidGoToSettingsDescription": {
"description": "Message advising the user to go to the settings and configure biometric on their device. It shows in a dialog on Android side."
},
"iOSLockOut": "Uwierzytelnianie biometryczne jest wyłączone. Proszę zablokować i odblokować ekran, aby je włączyć.",
"@iOSLockOut": {
"description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side."
},
"iOSGoToSettingsDescription": "Uwierzytelnianie biometryczne nie jest skonfigurowane na Twoim urządzeniu. Proszę włączyć Touch ID lub Face ID na swoim telefonie.",
"@iOSGoToSettingsDescription": {
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
},
"iOSOkButton": "OK",
"@iOSOkButton": {
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
},
"noInternetConnection": "Brak połączenia z Internetem",
"pleaseCheckYourInternetConnectionAndTryAgain": "Proszę sprawdzić połączenie internetowe i spróbować ponownie.",
"hearUsWhereTitle": "Jak usłyszałeś o Ente? (opcjonalnie)",
"pleaseCheckYourInternetConnectionAndTryAgain": "Prosimy sprawdzić połączenie internetowe i spróbować ponownie.",
"signOutFromOtherDevices": "Wyloguj z pozostałych urządzeń",
"signOutOtherBody": "Jeśli uważasz, że ktoś może znać Twoje hasło, możesz wymusić wylogowanie na wszystkich innych urządzeniach korzystających z Twojego konta.",
"signOutOtherDevices": "Wyloguj z pozostałych urządzeń",
"doNotSignOut": "Nie wylogowuj mnie",
"hearUsWhereTitle": "Jak usłyszałeś/aś o Ente? (opcjonalnie)",
"hearUsExplanation": "Nie śledzimy instalacji aplikacji. Pomogłyby nam, gdybyś powiedział/a nam, gdzie nas znalazłeś/aś!",
"recoveryKeySaved": "Klucz odzyskiwania zapisany w folderze Pobrane!",
"waitingForBrowserRequest": "Oczekiwanie na żądanie przeglądarki...",
"waitingForVerification": "Oczekiwanie na weryfikację...",
"developerSettings": "Ustawienia deweloperskie"
"passkey": "Klucz dostępu",
"passKeyPendingVerification": "Weryfikacja jest nadal w toku",
"loginSessionExpired": "Sesja wygasła",
"loginSessionExpiredDetails": "Twoja sesja wygasła. Zaloguj się ponownie.",
"developerSettingsWarning": "Czy na pewno chcesz zmodyfikować ustawienia programisty?",
"developerSettings": "Ustawienia dla programistów",
"serverEndpoint": "Punkt końcowy serwera",
"invalidEndpoint": "Punkt końcowy jest nieprawidłowy",
"invalidEndpointMessage": "Niestety, wprowadzony punkt końcowy jest nieprawidłowy. Wprowadź prawidłowy punkt końcowy i spróbuj ponownie.",
"deleteTagMessage": "Czy na pewno chcesz usunąć tę etykietę? Ta akcja jest nieodwracalna.",
"somethingWentWrongParsingCode": "Nie udało się przetworzyć {x} kodów.",
"updateNotAvailable": "Aktualizacja jest niedostępna",
"viewRawCodes": "Zobacz surowe kody",
"rawCodes": "Surowe kody",
"rawCodeData": "Dane surowego kodu",
"appLock": "Blokada dostępu do aplikacji",
"noSystemLockFound": "Nie znaleziono blokady systemowej",
"toEnableAppLockPleaseSetupDevicePasscodeOrScreen": "Aby włączyć blokadę aplikacji, należy skonfigurować hasło urządzenia lub blokadę ekranu w ustawieniach systemu.",
"autoLock": "Automatyczna blokada",
"immediately": "Natychmiast",
"reEnterPassword": "Wprowadź ponownie hasło",
"reEnterPin": "Wprowadź ponownie kod PIN",
"next": "Dalej",
"tooManyIncorrectAttempts": "Zbyt wiele błędnych prób",
"tapToUnlock": "Naciśnij, aby odblokować",
"setNewPassword": "Ustaw nowe hasło",
"deviceLock": "Blokada urządzenia",
"hideContent": "Ukryj zawartość",
"hideContentDescriptionAndroid": "Ukrywa zawartość aplikacji w przełączniku aplikacji i wyłącza zrzuty ekranu",
"hideContentDescriptioniOS": "Ukrywa zawartość aplikacji w przełączniku aplikacji",
"autoLockFeatureDescription": "Czas, po którym aplikacja blokuje się po umieszczeniu jej w tle",
"appLockDescription": "Wybierz między domyślnym ekranem blokady urządzenia a niestandardowym ekranem blokady z kodem PIN lub hasłem.",
"pinLock": "Blokada PIN",
"enterPin": "Wprowadź kod PIN",
"setNewPin": "Ustaw nowy kod PIN",
"importFailureDescNew": "Nie udało się przetworzyć wybranego pliku."
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.