Compare commits
194 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97a9fd4cb7 | ||
|
|
bea840d891 | ||
|
|
923f2484fb | ||
|
|
37928cd2c6 | ||
|
|
fc32ba97c1 | ||
|
|
e49084867e | ||
|
|
a046748ded | ||
|
|
047d708ef1 | ||
|
|
5b5f563d47 | ||
|
|
2b60ad3748 | ||
|
|
1f70043c83 | ||
|
|
7ce6f6a346 | ||
|
|
03814bff0c | ||
|
|
4c63a0ff13 | ||
|
|
93552fb872 | ||
|
|
1b61becdcf | ||
|
|
0499cad3c9 | ||
|
|
79752ef4b8 | ||
|
|
c1bd6d3fdb | ||
|
|
621423d9a4 | ||
|
|
edb11c89ba | ||
|
|
adb71fe09c | ||
|
|
c20cee2406 | ||
|
|
dcfad86c47 | ||
|
|
0a2bff67bf | ||
|
|
7aaa689cfb | ||
|
|
ad2a0ce897 | ||
|
|
d99615b24f | ||
|
|
09cc48ae55 | ||
|
|
6ab2223a80 | ||
|
|
6fd86162e0 | ||
|
|
707e8dbfcf | ||
|
|
5869bec781 | ||
|
|
e311a8bb32 | ||
|
|
547ccfceca | ||
|
|
3a1917949b | ||
|
|
3a1ce3258e | ||
|
|
13b2542bea | ||
|
|
6db3741a3b | ||
|
|
ce17eccd68 | ||
|
|
95dc683088 | ||
|
|
cf9d5f72f7 | ||
|
|
3096e1550a | ||
|
|
1b39435735 | ||
|
|
8f3d8505bb | ||
|
|
47e8aafe25 | ||
|
|
edf32d065e | ||
|
|
1fa6a0c3b9 | ||
|
|
2388989dd0 | ||
|
|
9e392277b1 | ||
|
|
4609c375db | ||
|
|
839c62ea72 | ||
|
|
dceef49f33 | ||
|
|
acbdc3111a | ||
|
|
98b91a6935 | ||
|
|
e1640e67d4 | ||
|
|
e875758419 | ||
|
|
214b120472 | ||
|
|
f139e0a098 | ||
|
|
e3c9a61887 | ||
|
|
0da3dc5084 | ||
|
|
a856a82249 | ||
|
|
fbdec00a62 | ||
|
|
6a7f980a0d | ||
|
|
10a855fe27 | ||
|
|
b4f8a2b27c | ||
|
|
89489b4d7c | ||
|
|
50296f8dfa | ||
|
|
f69cec864b | ||
|
|
73d5d33fc5 | ||
|
|
4d8ea12ddd | ||
|
|
7beb267ba7 | ||
|
|
7e13ef3537 | ||
|
|
47edca5bf5 | ||
|
|
925ba10b15 | ||
|
|
db2d0bb7e9 | ||
|
|
f3a2b2af0c | ||
|
|
967e88f88d | ||
|
|
b44734a493 | ||
|
|
6478b08a19 | ||
|
|
314e81565b | ||
|
|
f95e20d00f | ||
|
|
35a04d6e7e | ||
|
|
403264d2c9 | ||
|
|
6b06a4c388 | ||
|
|
678bce89b2 | ||
|
|
2f1d4b9f1a | ||
|
|
af20eadff0 | ||
|
|
3264ea046c | ||
|
|
d81a73c833 | ||
|
|
ac9c63fe29 | ||
|
|
53cb217dbc | ||
|
|
fca9a42e0a | ||
|
|
8b708228be | ||
|
|
d379262f56 | ||
|
|
9282632af1 | ||
|
|
6a43d6a567 | ||
|
|
1cdbef1a01 | ||
|
|
fa84bb0845 | ||
|
|
cbb6f07d0d | ||
|
|
fad9cf8559 | ||
|
|
371ba9c552 | ||
|
|
19086e43cc | ||
|
|
964c837c40 | ||
|
|
d85121862d | ||
|
|
42d31a73a3 | ||
|
|
946d2ae522 | ||
|
|
8e9eb50783 | ||
|
|
af3bc7757f | ||
|
|
eda1d05216 | ||
|
|
b58e0f8331 | ||
|
|
6dcf53650d | ||
|
|
bff53d9081 | ||
|
|
f3306e14c7 | ||
|
|
b5c075bac4 | ||
|
|
241d21c2aa | ||
|
|
789d77747c | ||
|
|
35050aa32f | ||
|
|
40e6bd9fae | ||
|
|
9fe15d7ff0 | ||
|
|
28a2afe275 | ||
|
|
c072097c11 | ||
|
|
b317df2000 | ||
|
|
dd420a80a4 | ||
|
|
3dc0620e18 | ||
|
|
173d075f8b | ||
|
|
48283282e5 | ||
|
|
fa555c448f | ||
|
|
6f6770d677 | ||
|
|
0b894e9724 | ||
|
|
0670550cb1 | ||
|
|
45783cf527 | ||
|
|
1615779eb8 | ||
|
|
02e4c9d8fd | ||
|
|
2e706228ee | ||
|
|
6eab6457ee | ||
|
|
25490a7238 | ||
|
|
f519ff8a51 | ||
|
|
afebe1ade1 | ||
|
|
3862644dd5 | ||
|
|
274a7d207d | ||
|
|
add2f0c8de | ||
|
|
8e807616e0 | ||
|
|
70f4325c71 | ||
|
|
38ea2248b8 | ||
|
|
9600b26359 | ||
|
|
5b3e996aaa | ||
|
|
4d4cce091f | ||
|
|
aaca140d1b | ||
|
|
596ffcd4c4 | ||
|
|
41ef85a294 | ||
|
|
f722d82835 | ||
|
|
cbb3096534 | ||
|
|
f635e1e856 | ||
|
|
c6734a5cb7 | ||
|
|
e26b4796d3 | ||
|
|
99c0194c0f | ||
|
|
e824c02d7f | ||
|
|
a11f66b51d | ||
|
|
f202fef266 | ||
|
|
ff8cfd3e87 | ||
|
|
431ab7fcc7 | ||
|
|
2ac1d58dac | ||
|
|
5533e6a71d | ||
|
|
a8ae0727a8 | ||
|
|
6955788724 | ||
|
|
f6dd35f5e7 | ||
|
|
9148916d88 | ||
|
|
68545f8947 | ||
|
|
fe40185889 | ||
|
|
6bb4428a8a | ||
|
|
76c5c12c53 | ||
|
|
0881685915 | ||
|
|
3e13932d03 | ||
|
|
8d749a2dc8 | ||
|
|
56af818482 | ||
|
|
88260a05e3 | ||
|
|
28a842b006 | ||
|
|
19eb342f59 | ||
|
|
2b82c79be9 | ||
|
|
58182cc8ab | ||
|
|
bb177bc3f6 | ||
|
|
65f7e3f6c6 | ||
|
|
37c1d0f6a8 | ||
|
|
be1bf28cd8 | ||
|
|
cad8613e81 | ||
|
|
b46e51f64d | ||
|
|
e6bf64548c | ||
|
|
5729e0cf3e | ||
|
|
b353539328 | ||
|
|
ad39694026 | ||
|
|
1752192688 | ||
|
|
873ee3ac14 | ||
|
|
cfce2d00f5 |
5
.github/workflows/mobile-daily-internal.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.32.8"
|
||||
RUST_VERSION: "1.85.1"
|
||||
RUST_VERSION: "1.86.0"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -47,6 +47,9 @@ jobs:
|
||||
- name: Install Flutter Rust Bridge
|
||||
run: cargo install flutter_rust_bridge_codegen
|
||||
|
||||
- name: Generate Rust bindings
|
||||
run: flutter_rust_bridge_codegen generate
|
||||
|
||||
- name: Increment version code for build
|
||||
run: |
|
||||
CURRENT_VERSION=$(grep '^version:' pubspec.yaml | sed 's/version: //')
|
||||
|
||||
14
.github/workflows/mobile-lint.yml
vendored
@@ -9,6 +9,7 @@ on:
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.32.8"
|
||||
RUST_VERSION: "1.86.0"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -31,7 +32,18 @@ jobs:
|
||||
channel: "stable"
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
|
||||
|
||||
- run: flutter pub get
|
||||
|
||||
- name: Install Rust ${{ env.RUST_VERSION }}
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
toolchain: ${{ env.RUST_VERSION }}
|
||||
|
||||
- name: Install Flutter Rust Bridge
|
||||
run: cargo install flutter_rust_bridge_codegen
|
||||
|
||||
- name: Generate Rust bindings
|
||||
run: flutter_rust_bridge_codegen generate
|
||||
|
||||
- run: flutter analyze --no-fatal-infos
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
## v1.7.15 (Unreleased)
|
||||
|
||||
- Custom domains.
|
||||
- Support Czech translations.
|
||||
- .
|
||||
|
||||
## v1.7.14
|
||||
|
||||
@@ -8,6 +8,12 @@ description: Guide to configuring Ente CLI for Self Hosted Instance
|
||||
If you are self-hosting, you can configure Ente CLI to export data & perform
|
||||
basic administrative actions.
|
||||
|
||||
::: tip Installing Ente CLI
|
||||
|
||||
For instructions on installing the Ente CLI, see the [README available on Github](https://github.com/ente-io/ente/tree/main/cli/README.md).
|
||||
|
||||
:::
|
||||
|
||||
## Step 1: Configure endpoint
|
||||
|
||||
To do this, first configure the CLI to use your server's endpoint.
|
||||
|
||||
@@ -22,8 +22,7 @@ can achieve this the following steps:
|
||||
# Change the DB name and DB user name if you use different
|
||||
# values.
|
||||
# If using Docker
|
||||
|
||||
docker exec -it <postgres-ente-container-name>
|
||||
docker exec -it <postgres-ente-container-name> sh
|
||||
psql -U pguser -d ente_db
|
||||
|
||||
# Or when using psql directly
|
||||
|
||||
@@ -46,7 +46,7 @@ If running Museum without Docker, the code should be visible in the terminal
|
||||
# Change the DB name and DB user name if you use different
|
||||
# values.
|
||||
|
||||
# If using Docker docker exec -it <postgres-ente-container-name>
|
||||
# If using Docker docker exec -it <postgres-ente-container-name> sh
|
||||
psql -U pguser -d ente_db
|
||||
|
||||
# Or when using psql directly
|
||||
|
||||
45
mobile/.gitignore
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
migrate_working_dir/
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
melos_*.iml
|
||||
|
||||
# The .vscode folder contains launch configuration and tasks you configure in
|
||||
# VS Code which you may wish to be included in version control, so this line
|
||||
# is commented out by default.
|
||||
#.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
**/ios/Flutter/.last_build_id
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
|
||||
# Symbolication related
|
||||
app.*.symbols
|
||||
|
||||
# Obfuscation related
|
||||
app.*.map.json
|
||||
|
||||
# Android Studio will place build artifacts here
|
||||
/android/app/debug
|
||||
/android/app/profile
|
||||
/android/app/release
|
||||
72
mobile/analysis_options.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
# For more linters, we can check https://dart-lang.github.io/linter/lints/index.html
|
||||
# or https://pub.dev/packages/lint (Effective dart)
|
||||
# use "flutter analyze ." or "dart analyze ." for running lint checks
|
||||
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
linter:
|
||||
rules:
|
||||
# Ref https://github.com/flutter/packages/blob/master/packages/flutter_lints/lib/flutter.yaml
|
||||
# Ref https://dart-lang.github.io/linter/lints/
|
||||
- avoid_print
|
||||
- avoid_unnecessary_containers
|
||||
- avoid_web_libraries_in_flutter
|
||||
- no_logic_in_create_state
|
||||
- prefer_const_constructors
|
||||
- prefer_const_constructors_in_immutables
|
||||
- prefer_const_declarations
|
||||
- prefer_const_literals_to_create_immutables
|
||||
- prefer_final_locals
|
||||
- require_trailing_commas
|
||||
- sized_box_for_whitespace
|
||||
- use_full_hex_values_for_flutter_colors
|
||||
- use_key_in_widget_constructors
|
||||
- cancel_subscriptions
|
||||
|
||||
|
||||
- avoid_empty_else
|
||||
- exhaustive_cases
|
||||
|
||||
# just style suggestions
|
||||
- sort_pub_dependencies
|
||||
- use_rethrow_when_possible
|
||||
- prefer_double_quotes
|
||||
- directives_ordering
|
||||
- always_use_package_imports
|
||||
- sort_child_properties_last
|
||||
- unawaited_futures
|
||||
|
||||
analyzer:
|
||||
errors:
|
||||
avoid_empty_else: error
|
||||
exhaustive_cases: error
|
||||
curly_braces_in_flow_control_structures: error
|
||||
directives_ordering: error
|
||||
require_trailing_commas: error
|
||||
always_use_package_imports: warning
|
||||
prefer_final_fields: error
|
||||
unused_import: error
|
||||
camel_case_types: error
|
||||
prefer_is_empty: warning
|
||||
use_rethrow_when_possible: info
|
||||
unused_field: warning
|
||||
use_key_in_widget_constructors: warning
|
||||
sort_child_properties_last: warning
|
||||
sort_pub_dependencies: warning
|
||||
library_private_types_in_public_api: warning
|
||||
constant_identifier_names: ignore
|
||||
prefer_const_constructors: warning
|
||||
prefer_const_declarations: warning
|
||||
prefer_const_constructors_in_immutables: warning
|
||||
prefer_final_locals: warning
|
||||
unnecessary_const: error
|
||||
cancel_subscriptions: error
|
||||
unrelated_type_equality_checks: error
|
||||
unnecessary_cast: info
|
||||
|
||||
|
||||
unawaited_futures: warning # convert to warning after fixing existing issues
|
||||
invalid_dependency: info
|
||||
use_build_context_synchronously: ignore # experimental lint, requires many changes
|
||||
prefer_interpolation_to_compose_strings: ignore # later too many warnings
|
||||
prefer_double_quotes: ignore # too many warnings
|
||||
avoid_renaming_method_parameters: ignore # incorrect warnings for `equals` overrides
|
||||
2
mobile/apps/auth/.gitignore
vendored
@@ -33,6 +33,8 @@
|
||||
.pub/
|
||||
/build/
|
||||
macos/build/
|
||||
.gradle/
|
||||
settings.local.json
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
@@ -382,6 +382,11 @@
|
||||
{
|
||||
"title": "CoinDCX"
|
||||
},
|
||||
{
|
||||
"title": "CoinTracking",
|
||||
"slug": "cointracking",
|
||||
"altNames": ["cointracking.info", "Coin Tracking"]
|
||||
},
|
||||
{
|
||||
"title": "colorado",
|
||||
"altNames": [
|
||||
@@ -735,6 +740,11 @@
|
||||
{
|
||||
"title": "Hivelocity"
|
||||
},
|
||||
{
|
||||
"title": "HRDocumentBox",
|
||||
"slug": "hrdocumentbox",
|
||||
"altNames": ["HRDocumentBox", "HR Document Box"]
|
||||
},
|
||||
{
|
||||
"title": "HSA Bank",
|
||||
"slug": "hsa_bank",
|
||||
@@ -1040,6 +1050,13 @@
|
||||
"MistralAI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Mobile01",
|
||||
"slug": "mobile01",
|
||||
"altNames": [
|
||||
"M01"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Mozilla"
|
||||
},
|
||||
@@ -1773,6 +1790,11 @@
|
||||
"uollet.com.br"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "VHV",
|
||||
"slug": "vhv",
|
||||
"altNames": ["VHV", "VHV Versicherung"]
|
||||
},
|
||||
{
|
||||
"title": "Vikunja"
|
||||
},
|
||||
|
||||
27
mobile/apps/auth/assets/custom-icons/icons/cointracking.svg
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1220.8 227.9" style="enable-background:new 0 0 1220.8 227.9;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#0D253E;}
|
||||
.st1{fill:#008AFB;}
|
||||
</style>
|
||||
<title>CoinTracking light</title>
|
||||
<g id="Layer_2_1_">
|
||||
<g id="Layer_1-2">
|
||||
<path class="st0" d="M198.1,167c-30.2,0-54.7-24.5-54.7-54.7s24.5-54.7,54.7-54.7s54.7,24.5,54.7,54.7l0,0 C252.8,142.5,228.3,167,198.1,167z M198.1,81.6c-17,0-30.7,13.7-30.7,30.7s13.7,30.7,30.7,30.7s30.7-13.7,30.7-30.7l0,0 C228.8,95.4,215,81.6,198.1,81.6z"/>
|
||||
<path class="st0" d="M292.2,59.5h-23.6v107.9h23.6V59.5z"/>
|
||||
<path class="st0" d="M339.5,167.4h-23.8V59.5h23.8v16.2c6.2-12.5,21-18.5,33-18.5c26.1,0,41.1,16.9,41.1,47.3v62.8h-23.8v-60.1 c0-17.1-8.8-26.8-22.6-26.8c-14.1,0-27.7,7.6-27.7,28.9V167.4z"/>
|
||||
<path class="st1" d="M390.6,8.2h151.7v22.9h-65.9v136.3h-25V31.1h-60.9V8.2H390.6z"/>
|
||||
<path class="st1" d="M540.3,167.4h-23.8V59.5h23.8V79c7.4-13.5,15.4-19.5,29.6-21.8c7.5-1.2,15.7,1.8,19.2,4.2l-3.9,22 c-4.9-2.5-10.4-3.8-15.9-3.7c-20.3,0-28.9,20.3-28.9,49L540.3,167.4L540.3,167.4z"/>
|
||||
<path class="st1" d="M680.7,151.9c-7.2,11.8-22.9,17.8-36.3,17.8c-29.1,0-54.8-21.9-54.8-56.4s25.6-56.1,54.8-56.1 c12.9,0,28.9,5.3,36.3,17.5V59.5h23.6v107.9h-23.6V151.9z M647.2,146.6c17.6,0,33.3-12.2,33.3-33.5s-17.1-32.8-33.3-32.8 c-18,0-33,12.9-33,32.8S629.2,146.6,647.2,146.6L647.2,146.6z"/>
|
||||
<path class="st1" d="M778.4,57.2c17.1,0,32.6,6.7,42.7,18.7l-18.5,14.8c-5.8-6.7-14.8-10.4-24.3-10.4c-18,0-34,12.7-34,32.8 s15.9,33.7,34,33.7c9.5,0,18.5-3.9,24.3-10.6l18.7,14.6c-10.2,12-25.6,18.9-43,18.9c-31,0-57.5-22.4-57.5-56.6 S747.4,57.2,778.4,57.2z"/>
|
||||
<path class="st1" d="M860.3,117.2v50.1h-23.6V0.8h23.6V95l34.2-35.6h31.9l-46,46.9l56.4,61h-30.5L860.3,117.2z"/>
|
||||
<path class="st1" d="M967.4,59.5h-23.6v107.9h23.6V59.5z"/>
|
||||
<path class="st1" d="M1014.7,167.4h-23.8V59.5h23.8v16.2c6.2-12.5,21-18.5,33-18.5c26.1,0,41.1,16.9,41.1,47.3v62.8H1065v-60.1 c0-17.1-8.8-26.8-22.6-26.8c-14.1,0-27.7,7.6-27.7,28.9V167.4z"/>
|
||||
<path class="st1" d="M1220.2,111.5c0-12.3-4.5-24.2-12.5-33.6l13-17.1l-19.6-13l-11.9,15.7c-8.3-4.1-17.5-6.2-26.8-6.2 c-31.9,0-57.8,24.4-57.8,54.3s25.9,54.3,57.8,54.3c20.2,0,34.2,10.2,34.2,19.3s-14.1,19.3-34.2,19.3s-34.2-10.2-34.2-19.3h-23.6 c0,24,25.4,42.9,57.8,42.9s57.8-18.8,57.8-42.9c0-13.2-7.7-24.8-19.9-32.6C1212.5,142.5,1220.2,127.8,1220.2,111.5z M1128.2,111.5 c0-16.9,15.4-30.7,34.2-30.7s34.2,13.8,34.2,30.7s-15.4,30.7-34.2,30.7S1128.2,128.4,1128.2,111.5L1128.2,111.5z"/>
|
||||
<path class="st0" d="M81.4,170.5C36.4,170.5,0,134,0,89c0-21.6,8.6-42.3,23.9-57.6c31.8-31.8,83.4-31.8,115.2,0l0,0l-17.7,17.7 C99.3,27,63.6,27,41.5,49.1s-22.1,57.8,0,79.9s57.8,22.1,79.9,0l17.7,17.7C123.8,162,103.1,170.6,81.4,170.5z"/>
|
||||
<circle class="st0" cx="280.7" cy="15.5" r="15.5"/>
|
||||
<circle class="st1" cx="954.7" cy="15.5" r="15.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 18 KiB |
26
mobile/apps/auth/assets/custom-icons/icons/mobile01.svg
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<svg width="320" height="280" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" version="1.1">
|
||||
|
||||
<g class="layer">
|
||||
<title>Layer 1</title>
|
||||
<g id="Layer1000">
|
||||
<g id="Layer1002">
|
||||
<g id="Layer1003">
|
||||
<path d="m123.08,34.29c-66.43,0 -120.27,53.85 -120.27,120.27c0,66.43 53.85,120.27 120.27,120.27c66.47,0 120.32,-53.85 120.32,-120.27c0,-66.43 -53.85,-120.27 -120.32,-120.27zm0,215.67c-52.67,0 -95.36,-42.73 -95.36,-95.4c0,-52.67 42.68,-95.4 95.36,-95.4c52.72,0 95.4,42.73 95.4,95.4c0,52.67 -42.68,95.4 -95.4,95.4z" fill="#2a5e00" fill-rule="evenodd" id="path7"/>
|
||||
<g id="Layer1004">
|
||||
<g id="Layer1005">
|
||||
<path d="m138.72,146.29l59.61,-41.47l7.78,33.7l-67.39,7.78z" fill="#2a5e00" fill-rule="evenodd" id="path8"/>
|
||||
<path d="m110.88,146.29l-59.61,-41.47l-7.78,33.7l67.39,7.78z" fill="#2a5e00" fill-rule="evenodd" id="path9"/>
|
||||
</g>
|
||||
<path d="m43.95,192.02l74.62,49.75l87.12,-78.8l-161.75,29.05z" fill="#2a5e00" fill-rule="evenodd" id="path10"/>
|
||||
</g>
|
||||
<path d="m94.24,59.29l-30.48,-55.1l54.26,33.24l-23.79,21.86z" fill="#2a5e00" fill-rule="evenodd" id="path11"/>
|
||||
<path d="m202.64,78.1l30.43,-55.1l-54.22,33.24l23.79,21.86z" fill="#2a5e00" fill-rule="evenodd" id="path12"/>
|
||||
</g>
|
||||
<path d="m275.63,274.67l29.35,0l0,-240.76l-29.35,0l0,240.76z" fill="#2a5e00" fill-rule="evenodd" id="path13"/>
|
||||
<path d="m317.94,125.93c0,15.3 -12.33,27.63 -27.63,27.63c-15.26,0 -27.63,-12.33 -27.63,-27.63c0,-15.26 12.37,-27.63 27.63,-27.63c15.3,0 27.63,12.37 27.63,27.63z" fill="#2a5e00" fill-rule="evenodd" id="path14"/>
|
||||
<path d="m288.84,33.91l-41.76,0l16.76,45.99l23.58,0l1.42,-45.99z" fill="#2a5e00" fill-rule="evenodd" id="path15"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
27
mobile/apps/auth/assets/custom-icons/icons/vhv.svg
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) by Marsupilami -->
|
||||
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="1024" height="357" viewBox="-1.98252 -1.98252 201.02104 70.04904" id="svg3349">
|
||||
<defs id="defs3351"/>
|
||||
<path d="m 0,0 11.76,0 4.455,31.962 0.12,0 L 20.789,0 32.55,0 23.402,42.417 9.147,42.417 0,0" id="path3131" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 34.039,0 11.05,0 0,15.567 6.771,0 0,-15.567 11.05,0 0,42.417 -11.05,0 0,-17.465 -6.771,0 0,17.465 -11.05,0 0,-42.417" id="path3133" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 64.395,0 11.757,0 4.457,31.962 0.121,0 L 85.185,0 96.944,0 87.797,42.417 73.54,42.417 64.395,0" id="path3135" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 97.576,42.414 8.907,0 9.222,-42.41 -8.912,0 -9.217,42.41" id="path3137" style="fill:#f0ab00;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 111.026,42.424 8.908,-0.01 9.218,-42.41 -8.913,0 -9.213,42.42" id="path3139" style="fill:#f0ab00;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 124.564,42.414 8.906,0 9.217,-42.41 -8.906,0 -9.217,42.41" id="path3141" style="fill:#f0ab00;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 4.169,46.784 5.251,0 1.985,14.261 0.05,0 1.99,-14.261 5.247,0 -4.082,18.928 -6.363,0 -4.082,-18.928" id="path3143" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 19.356,46.784 11.216,0 0,4.031 -6.282,0 0,3.234 5.882,0 0,3.87 -5.882,0 0,3.763 6.517,0 0,4.03 -11.451,0 0,-18.928" id="path3145" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 54.93,52.247 0,-0.45 c 0,-1.117 -0.449,-2.043 -1.405,-2.043 -1.06,0 -1.538,0.823 -1.538,1.67 0,3.739 8.059,1.91 8.059,8.828 0,4.027 -2.357,5.832 -6.705,5.832 -4.082,0 -6.362,-1.404 -6.362,-5.331 l 0,-0.663 4.772,0 0,0.453 c 0,1.615 0.663,2.202 1.614,2.202 1.007,0 1.594,-0.798 1.594,-1.831 0,-3.739 -7.743,-1.88 -7.743,-8.586 0,-3.819 2.043,-5.913 6.205,-5.913 4.294,0 6.12,1.775 6.12,5.832 l -4.611,0" id="path3147" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 61.476,65.712 4.932,0 0,-18.928 -4.932,0 0,18.928 z" id="path3149" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 32.477,46.784 7.714,0 c 3.766,0 5.195,2.124 5.195,5.039 0,2.516 -0.979,4.16 -3.232,4.506 2.385,0.265 3.103,1.776 3.103,4.294 l 0,1.616 c 0,0.981 0,2.251 0.237,2.626 0.132,0.209 0.237,0.422 0.558,0.582 l 0,0.265 -5.25,0 C 40.325,64.705 40.325,62.9 40.325,62.109 l 0,-1.275 c 0,-2.147 -0.423,-2.704 -1.619,-2.704 l -1.296,0 0,7.582 -4.933,0 0,-18.928 z m 4.933,8.008 0.98,0 c 1.405,0 2.066,-0.9 2.066,-2.252 0,-1.541 -0.609,-2.202 -2.094,-2.202 l -0.952,0 0,4.454" id="path3151" style="fill:#1e1e1e;fill-opacity:1;fill-rule:evenodd;stroke:none"/>
|
||||
<path d="m 75.975,52.54 c 0,-2.147 -0.396,-2.786 -1.35,-2.786 -1.513,0 -1.67,1.381 -1.67,6.494 0,5.117 0.157,6.497 1.67,6.497 1.22,0 1.485,-1.063 1.485,-4.64 l 4.771,0 0,1.405 c 0,5.3 -3.101,6.574 -6.256,6.574 -5.54,0 -6.76,-2.784 -6.76,-9.836 0,-7.236 1.642,-9.833 6.76,-9.833 4.451,0 6.12,2.334 6.12,5.992 l 0,1.19 -4.77,0 0,-1.057" id="path3153" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 82.524,46.784 4.928,0 0,6.948 3.02,0 0,-6.948 4.932,0 0,18.928 -4.932,0 0,-7.793 -3.02,0 0,7.793 -4.928,0 0,-18.928" id="path3155" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 97.606,46.784 11.21,0 0,4.031 -6.282,0 0,3.234 5.886,0 0,3.87 -5.886,0 0,3.763 6.522,0 0,4.03 -11.45,0 0,-18.928" id="path3157" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 130.526,46.784 0,13.655 c 0,1.824 0.559,2.306 1.485,2.306 0.928,0 1.485,-0.482 1.485,-2.306 l 0,-13.655 4.929,0 0,12.408 c 0,5.298 -2.28,6.892 -6.414,6.892 -4.135,0 -6.412,-1.594 -6.412,-6.892 l 0,-12.408 4.927,0" id="path3159" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 140.415,46.784 5.51,0 3.185,11.665 0.05,0 0,-11.665 4.614,0 0,18.928 -5.407,0 -3.288,-11.689 -0.05,0 0,11.689 -4.613,0 0,-18.928" id="path3161" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 110.726,46.784 7.716,0 c 3.76,0 5.192,2.124 5.192,5.039 0,2.516 -0.979,4.16 -3.234,4.506 2.383,0.265 3.101,1.776 3.101,4.294 l 0,1.616 c 0,0.981 0,2.251 0.238,2.626 0.131,0.209 0.24,0.422 0.558,0.582 l 0,0.265 -5.251,0 c -0.477,-1.007 -0.477,-2.812 -0.477,-3.603 l 0,-1.275 c 0,-2.147 -0.422,-2.704 -1.612,-2.704 l -1.301,0 0,7.582 -4.93,0 0,-18.928 z m 4.93,8.008 0.979,0 c 1.404,0 2.07,-0.9 2.07,-2.252 0,-1.541 -0.61,-2.202 -2.095,-2.202 l -0.954,0 0,4.454" id="path3163" style="fill:#1e1e1e;fill-opacity:1;fill-rule:evenodd;stroke:none"/>
|
||||
<path d="m 162.334,55.428 6.361,0 0,10.284 -3.34,0 -0.113,-1.669 -0.05,0 c -0.662,1.617 -2.412,2.041 -4.082,2.041 -5.01,0 -5.459,-3.58 -5.459,-9.836 0,-6.336 1.22,-9.833 7.047,-9.833 3.502,0 5.993,1.775 5.993,6.36 l -4.771,0 c 0,-0.952 -0.07,-1.695 -0.266,-2.198 -0.185,-0.53 -0.554,-0.823 -1.139,-0.823 -1.612,0 -1.774,1.381 -1.774,6.494 0,5.117 0.161,6.497 1.67,6.497 1.034,0 1.639,-0.666 1.669,-3.978 l -1.75,0 0,-3.339" id="path3165" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 170.577,46.784 11.213,0 0,4.031 -6.28,0 0,3.234 5.885,0 0,3.87 -5.885,0 0,3.763 6.519,0 0,4.03 -11.452,0 0,-18.928" id="path3167" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 183.697,46.784 5.514,0 3.18,11.665 0.05,0 0,-11.665 4.615,0 0,18.928 -5.408,0 -3.284,-11.689 -0.05,0 0,11.689 -4.614,0 0,-18.928" id="path3169" style="fill:#1e1e1e;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
</svg>
|
||||
<!-- version: 20110311, original size: 197.056 66.084, border: 3% -->
|
||||
|
After Width: | Height: | Size: 5.9 KiB |
576
mobile/apps/auth/integration_test/auth_flow_test.dart
Normal file
@@ -0,0 +1,576 @@
|
||||
import 'package:ente_auth/app/view/app.dart';
|
||||
import 'package:ente_auth/bootstrap.dart';
|
||||
import 'package:ente_auth/main.dart';
|
||||
import 'package:ente_auth/onboarding/view/common/add_chip.dart';
|
||||
import 'package:ente_auth/services/update_service.dart';
|
||||
import 'package:ente_lock_screen/local_authentication_service.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:integration_test/integration_test.dart';
|
||||
|
||||
void main() {
|
||||
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
group('Authentication Flow Integration Test with Persistence', () {
|
||||
testWidgets(
|
||||
'Complete auth flow: Use without backup -> Enter setup key -> Verify entry persists after restart',
|
||||
(WidgetTester tester) async {
|
||||
// Bootstrap the app
|
||||
await bootstrap(App.new);
|
||||
await init(false, via: 'integrationTest');
|
||||
await UpdateService.instance.init();
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Step 1: Click on "Use without backup" option
|
||||
final useOfflineText = find.text('Use without backups');
|
||||
expect(
|
||||
useOfflineText,
|
||||
findsOneWidget,
|
||||
reason:
|
||||
'ERROR: "Use without backups" button not found on initial screen. Check if app loaded correctly or text changed.',
|
||||
);
|
||||
await tester.tap(useOfflineText);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Step 2: Click OK button on the warning dialog
|
||||
final okButton = find.text('Ok');
|
||||
expect(
|
||||
okButton,
|
||||
findsOneWidget,
|
||||
reason:
|
||||
'ERROR: "Ok" button not found in warning dialog. Check if dialog appeared or button text changed.',
|
||||
);
|
||||
await tester.tap(okButton);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Wait for navigation to complete
|
||||
await tester.pumpAndSettle(const Duration(seconds: 2));
|
||||
|
||||
// Step 3: Navigate to manual entry screen
|
||||
bool foundManualEntry = false;
|
||||
|
||||
// Try FloatingActionButton approach first
|
||||
final fabFinder = find.byType(FloatingActionButton);
|
||||
if (fabFinder.evaluate().isNotEmpty) {
|
||||
await tester.tap(fabFinder);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
final manualEntryFinder = find.text('Enter a setup key');
|
||||
if (manualEntryFinder.evaluate().isNotEmpty) {
|
||||
await tester.tap(manualEntryFinder);
|
||||
await tester.pumpAndSettle();
|
||||
foundManualEntry = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Alternative approaches if FAB didn't work
|
||||
if (!foundManualEntry) {
|
||||
final alternatives = [
|
||||
'Enter details manually',
|
||||
'Enter a setup key',
|
||||
];
|
||||
|
||||
for (final text in alternatives) {
|
||||
final finder = find.text(text);
|
||||
if (finder.evaluate().isNotEmpty) {
|
||||
await tester.tap(finder.first);
|
||||
await tester.pumpAndSettle();
|
||||
foundManualEntry = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
expect(
|
||||
foundManualEntry,
|
||||
isTrue,
|
||||
reason:
|
||||
'ERROR: Could not find manual entry option. Tried FAB + "Enter details manually", "Enter a setup key", etc. Check UI navigation.',
|
||||
);
|
||||
|
||||
// Step 4: Fill in the form with test data
|
||||
final textFields = find.byType(TextFormField);
|
||||
expect(
|
||||
textFields.evaluate().length,
|
||||
greaterThanOrEqualTo(3),
|
||||
reason:
|
||||
'ERROR: Expected at least 3 text fields (issuer, secret, account) but found ${textFields.evaluate().length}. Check manual entry form.',
|
||||
);
|
||||
|
||||
// Fill issuer field
|
||||
await tester.tap(textFields.first);
|
||||
await tester.enterText(textFields.first, 'testIssuer');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Fill secret field
|
||||
await tester.tap(textFields.at(1));
|
||||
await tester.enterText(
|
||||
textFields.at(1),
|
||||
'JBSWY3DPEHPK3PXP',
|
||||
); // Valid base32 secret
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Fill account field
|
||||
await tester.tap(textFields.at(2));
|
||||
await tester.enterText(textFields.at(2), 'testAccount');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Step 5: Save the entry
|
||||
final saveButton = find.text('Save');
|
||||
expect(
|
||||
saveButton,
|
||||
findsOneWidget,
|
||||
reason:
|
||||
'ERROR: "Save" button not found on manual entry form. Check if button text changed or form layout changed.',
|
||||
);
|
||||
await tester.tap(saveButton);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Step 6: Verify entry was created successfully
|
||||
await tester.pumpAndSettle(const Duration(seconds: 1));
|
||||
|
||||
// Check if coach mark overlay is present and dismiss it
|
||||
final coachMarkOverlay = find.text('Ok');
|
||||
if (coachMarkOverlay.evaluate().isNotEmpty) {
|
||||
print('🎯 Dismissing coach mark overlay...');
|
||||
await tester.tap(coachMarkOverlay);
|
||||
await tester.pumpAndSettle();
|
||||
}
|
||||
|
||||
// Look for the created entry
|
||||
final issuerEntryFinder = find.textContaining('testIssuer');
|
||||
expect(
|
||||
issuerEntryFinder,
|
||||
findsAtLeastNWidgets(1),
|
||||
reason:
|
||||
'ERROR: testIssuer entry not found after saving. Entry creation may have failed or navigation issue occurred.',
|
||||
);
|
||||
|
||||
final accountEntryFinder = find.textContaining('testAccount');
|
||||
expect(
|
||||
accountEntryFinder,
|
||||
findsAtLeastNWidgets(1),
|
||||
reason:
|
||||
'ERROR: testAccount not found after saving. Account field may not have been saved properly.',
|
||||
);
|
||||
print('✅ Step 1 completed: Entry created successfully');
|
||||
print('- testIssuer entry is visible');
|
||||
print('- testAccount is visible');
|
||||
|
||||
// warning about clearing
|
||||
|
||||
// Step 8: Add second code entry
|
||||
print('🔄 Adding second code entry...');
|
||||
|
||||
// Wait a moment before adding second entry
|
||||
await tester.pumpAndSettle(const Duration(seconds: 1));
|
||||
|
||||
// Click FAB to add second entry
|
||||
final fabFinder2 = find.byType(FloatingActionButton);
|
||||
expect(
|
||||
fabFinder2,
|
||||
findsOneWidget,
|
||||
reason: 'FAB not found for second entry',
|
||||
);
|
||||
await tester.tap(fabFinder2);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Click "Enter details manually" (coach mark won't show second time)
|
||||
final manualEntryFinder = find.text('Enter details manually');
|
||||
expect(
|
||||
manualEntryFinder,
|
||||
findsOneWidget,
|
||||
reason: 'Manual entry option not found',
|
||||
);
|
||||
await tester.tap(manualEntryFinder);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Fill second entry form
|
||||
final textFields2 = find.byType(TextFormField);
|
||||
expect(textFields2.evaluate().length, greaterThanOrEqualTo(3));
|
||||
|
||||
// Fill second issuer field
|
||||
await tester.tap(textFields2.first);
|
||||
await tester.enterText(textFields2.first, 'testIssuer2');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify issuer field was filled
|
||||
final issuerField = tester.widget<TextFormField>(textFields2.first);
|
||||
print(
|
||||
'✓ Issuer field controller text: "${issuerField.controller?.text ?? "null"}"');
|
||||
|
||||
// Fill second secret field
|
||||
await tester.tap(textFields2.at(1));
|
||||
await tester.enterText(textFields2.at(1), 'JBSWY3DPEHPK3PXP');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify secret field was filled
|
||||
final secretField = tester.widget<TextFormField>(textFields2.at(1));
|
||||
print(
|
||||
'✓ Secret field controller text: "${secretField.controller?.text ?? "null"}"');
|
||||
|
||||
// Fill second account field
|
||||
await tester.tap(textFields2.at(2));
|
||||
await tester.enterText(textFields2.at(2), 'testAccount2');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Save second entry
|
||||
final saveButton2 = find.text('Save');
|
||||
await tester.tap(saveButton2);
|
||||
await tester.pumpAndSettle();
|
||||
await tester.pumpAndSettle(const Duration(seconds: 2));
|
||||
|
||||
// Verify both entries exist
|
||||
final issuer1Finder = find.textContaining('testIssuer');
|
||||
final issuer2Finder = find.textContaining('testIssuer2');
|
||||
final account1Finder = find.textContaining('testAccount');
|
||||
final account2Finder = find.textContaining('testAccount2');
|
||||
|
||||
expect(issuer1Finder, findsAtLeastNWidgets(1),
|
||||
reason: 'First issuer not found');
|
||||
expect(issuer2Finder, findsAtLeastNWidgets(1),
|
||||
reason: 'Second issuer not found');
|
||||
expect(
|
||||
account1Finder,
|
||||
findsAtLeastNWidgets(1),
|
||||
reason: 'First account not found',
|
||||
);
|
||||
expect(
|
||||
account2Finder,
|
||||
findsAtLeastNWidgets(1),
|
||||
reason: 'Second account not found',
|
||||
);
|
||||
|
||||
print('✅ Step 2 completed: Both entries created successfully');
|
||||
print('- testIssuer and testIssuer2 entries are visible');
|
||||
print('- testAccount and testAccount2 are visible');
|
||||
|
||||
// Step 9: Test search functionality
|
||||
print('🔍 Testing search functionality...');
|
||||
|
||||
// Click on search icon to activate search
|
||||
final searchIcon = find.byIcon(Icons.search);
|
||||
expect(searchIcon, findsOneWidget, reason: 'Search icon not found');
|
||||
await tester.tap(searchIcon);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Find the search text field
|
||||
final searchField = find.byType(TextField);
|
||||
expect(searchField, findsOneWidget,
|
||||
reason: 'Search text field not found');
|
||||
|
||||
// Enter search term "issuer2"
|
||||
await tester.tap(searchField);
|
||||
await tester.enterText(searchField, 'issuer2');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify only one result is shown (testIssuer2)
|
||||
final searchResults = find.textContaining('testIssuer');
|
||||
final issuer2Results = find.textContaining('testIssuer2');
|
||||
|
||||
// Should find testIssuer2 but not testIssuer when searching for "issuer2"
|
||||
expect(issuer2Results, findsAtLeastNWidgets(1),
|
||||
reason: 'testIssuer2 not found in search results');
|
||||
|
||||
// Verify total results - should only show the matching entry
|
||||
final allVisibleIssuers = find.textContaining('testIssuer');
|
||||
expect(allVisibleIssuers.evaluate().length, equals(1),
|
||||
reason: 'Search should show only one result for "issuer2"');
|
||||
|
||||
print('✅ Search results verified: only testIssuer2 is visible');
|
||||
|
||||
// Clear search bar
|
||||
final clearIcon = find.byIcon(Icons.clear);
|
||||
expect(clearIcon, findsOneWidget,
|
||||
reason: 'Clear search icon not found');
|
||||
await tester.tap(clearIcon);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify both entries are visible again after clearing search
|
||||
final allIssuer1 = find.textContaining('testIssuer');
|
||||
final allIssuer2 = find.textContaining('testIssuer2');
|
||||
expect(allIssuer1, findsAtLeastNWidgets(1),
|
||||
reason: 'testIssuer not visible after clearing search');
|
||||
expect(allIssuer2, findsAtLeastNWidgets(1),
|
||||
reason: 'testIssuer2 not visible after clearing search');
|
||||
|
||||
print('✅ Search cleared: both entries visible again');
|
||||
print('✅ Step 3 completed: Search functionality working correctly');
|
||||
|
||||
// Step 10: Long press on issuer2 to edit and add tags
|
||||
print('🏷️ Testing tag functionality...');
|
||||
|
||||
// Long press on testIssuer2 entry to bring up edit menu
|
||||
final issuer2Entry = find.textContaining('testIssuer2');
|
||||
expect(issuer2Entry, findsOneWidget,
|
||||
reason: 'testIssuer2 entry not found for long press');
|
||||
await tester.longPress(issuer2Entry);
|
||||
await tester.pumpAndSettle();
|
||||
LocalAuthenticationService.instance.lastAuthTime = DateTime.now()
|
||||
.add(const Duration(minutes: 10))
|
||||
.millisecondsSinceEpoch;
|
||||
|
||||
// Look for edit option and tap it
|
||||
final editOption = find.text('Edit');
|
||||
expect(editOption, findsOneWidget, reason: 'Edit option not found');
|
||||
await tester.tap(editOption);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Wait for edit page to load
|
||||
await tester.pumpAndSettle(const Duration(seconds: 2));
|
||||
|
||||
// Look for AddChip widget to add first tag
|
||||
final addChip = find.byType(AddChip);
|
||||
expect(addChip, findsOneWidget, reason: 'AddChip widget not found');
|
||||
await tester.tap(addChip);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Enter first tag name "tag1"
|
||||
final tagInputField = find.byType(TextField).last;
|
||||
await tester.tap(tagInputField);
|
||||
await tester.enterText(tagInputField, 'tag1');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Tap create/save button for first tag
|
||||
final createButton = find.text('Create');
|
||||
expect(createButton, findsOneWidget,
|
||||
reason: 'Create button not found for first tag');
|
||||
await tester.tap(createButton);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Add second tag
|
||||
final addChip2 = find.byType(AddChip);
|
||||
await tester.tap(addChip2);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Enter second tag name "tag2"
|
||||
final tagInputField2 = find.byType(TextField).last;
|
||||
await tester.tap(tagInputField2);
|
||||
await tester.enterText(tagInputField2, 'tag2');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Tap create button for second tag
|
||||
final createButton2 = find.text('Create');
|
||||
await tester.tap(createButton2);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify tags are selected/visible
|
||||
final tag1Chip = find.text('tag1');
|
||||
final tag2Chip = find.text('tag2');
|
||||
expect(tag1Chip, findsOneWidget,
|
||||
reason: 'tag1 not found after creation');
|
||||
expect(tag2Chip, findsOneWidget,
|
||||
reason: 'tag2 not found after creation');
|
||||
|
||||
print('✅ Tags created: tag1 and tag2 are visible');
|
||||
|
||||
// Save the edited entry
|
||||
final saveEditButton = find.text('Save');
|
||||
expect(saveEditButton, findsOneWidget,
|
||||
reason: 'Save button not found on edit page');
|
||||
await tester.tap(saveEditButton);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Wait for navigation back to home
|
||||
await tester.pumpAndSettle(const Duration(seconds: 2));
|
||||
|
||||
print('✅ Entry saved with tags');
|
||||
|
||||
// Step 11: Test tag filtering functionality
|
||||
print('🏷️ Testing tag filtering...');
|
||||
|
||||
// Click on tag1 to filter entries
|
||||
final tag1Filter = find.textContaining('tag1');
|
||||
if (tag1Filter.evaluate().isNotEmpty) {
|
||||
await tester.tap(tag1Filter.first);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify only testIssuer2 is visible (the one with tag1)
|
||||
final filteredIssuer2 = find.textContaining('testIssuer2');
|
||||
final filteredIssuer1 = find.textContaining('testIssuer').evaluate().where(
|
||||
(element) => !element.widget.toString().contains('testIssuer2')
|
||||
).length;
|
||||
|
||||
expect(filteredIssuer2, findsAtLeastNWidgets(1),
|
||||
reason: 'testIssuer2 not visible when filtering by tag1');
|
||||
expect(filteredIssuer1, equals(0),
|
||||
reason: 'testIssuer should not be visible when filtering by tag1');
|
||||
|
||||
print('✅ Tag1 filtering verified: only testIssuer2 is visible');
|
||||
|
||||
// Click "All" to clear tag filter
|
||||
final allFilter = find.text('All');
|
||||
if (allFilter.evaluate().isNotEmpty) {
|
||||
await tester.tap(allFilter);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify both entries are visible again
|
||||
final allEntriesIssuer1 = find.textContaining('testIssuer');
|
||||
final allEntriesIssuer2 = find.textContaining('testIssuer2');
|
||||
expect(allEntriesIssuer1, findsAtLeastNWidgets(1));
|
||||
expect(allEntriesIssuer2, findsAtLeastNWidgets(1));
|
||||
|
||||
print('✅ Tag filter cleared: both entries visible again');
|
||||
}
|
||||
}
|
||||
|
||||
print('✅ Step 4 completed: Tag functionality working correctly');
|
||||
|
||||
// Step 12: Test trash functionality
|
||||
print('🗑️ Testing trash functionality...');
|
||||
|
||||
// Long press on testIssuer2 entry to bring up context menu
|
||||
final issuer2EntryForTrash = find.textContaining('testIssuer2').first;
|
||||
await tester.longPress(issuer2EntryForTrash);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Look for trash/delete option and tap it
|
||||
final trashOption = find.text('Trash');
|
||||
if (trashOption.evaluate().isEmpty) {
|
||||
// Try alternative delete options
|
||||
final deleteOption = find.text('Delete');
|
||||
expect(deleteOption, findsOneWidget, reason: 'Delete/Trash option not found');
|
||||
await tester.tap(deleteOption);
|
||||
} else {
|
||||
await tester.tap(trashOption);
|
||||
}
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Confirm deletion if dialog appears
|
||||
final confirmButtons = [
|
||||
find.text('Yes'),
|
||||
find.text('OK'),
|
||||
find.text('Confirm'),
|
||||
find.text('Delete'),
|
||||
find.text('Trash'),
|
||||
];
|
||||
|
||||
for (final button in confirmButtons) {
|
||||
if (button.evaluate().isNotEmpty) {
|
||||
await tester.tap(button);
|
||||
await tester.pumpAndSettle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
print('✅ Issuer2 entry trashed');
|
||||
|
||||
// Step 13: Verify tags are no longer visible and trash tag appears
|
||||
print('🏷️ Verifying tag visibility after trash...');
|
||||
|
||||
// Wait for UI to update
|
||||
await tester.pumpAndSettle(const Duration(seconds: 1));
|
||||
|
||||
// Verify tag1 and tag2 are no longer visible (since issuer2 was the only entry with these tags)
|
||||
final tag1Visible = find.textContaining('tag1');
|
||||
final tag2Visible = find.textContaining('tag2');
|
||||
|
||||
// Tags should not be visible anymore since the only entry with these tags was trashed
|
||||
expect(tag1Visible.evaluate().isEmpty, isTrue, reason: 'tag1 should not be visible after trashing issuer2');
|
||||
expect(tag2Visible.evaluate().isEmpty, isTrue, reason: 'tag2 should not be visible after trashing issuer2');
|
||||
|
||||
// Verify trash tag is now visible
|
||||
final trashTag = find.text('Trash');
|
||||
expect(trashTag, findsOneWidget, reason: 'Trash tag not visible after trashing entry');
|
||||
|
||||
print('✅ Tags hidden and Trash tag visible');
|
||||
|
||||
// Step 14: Test trash filtering
|
||||
print('🗑️ Testing trash tag filtering...');
|
||||
|
||||
// Click on Trash tag to show trashed items
|
||||
await tester.tap(trashTag);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify issuer2 is visible in trash
|
||||
final trashedIssuer2 = find.textContaining('testIssuer2');
|
||||
expect(trashedIssuer2, findsOneWidget, reason: 'testIssuer2 not visible in trash');
|
||||
|
||||
// Verify issuer1 is not visible (should be filtered out)
|
||||
final issuer1InTrash = find.textContaining('testIssuer').evaluate().where(
|
||||
(element) => !element.widget.toString().contains('testIssuer2')
|
||||
).length;
|
||||
expect(issuer1InTrash, equals(0), reason: 'testIssuer should not be visible in trash filter');
|
||||
|
||||
print('✅ Trash filtering working: only trashed items visible');
|
||||
|
||||
// Step 15: Test All filter (should not show trashed items)
|
||||
print('📋 Testing All filter excludes trash...');
|
||||
|
||||
// Click on "All" to show all non-trashed items
|
||||
final allTag = find.text('All');
|
||||
await tester.tap(allTag);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify issuer1 is visible
|
||||
final allFilterIssuer1 = find.textContaining('testIssuer').evaluate().where(
|
||||
(element) => !element.widget.toString().contains('testIssuer2')
|
||||
).length;
|
||||
expect(allFilterIssuer1, greaterThan(0), reason: 'testIssuer should be visible in All filter');
|
||||
|
||||
// Verify issuer2 is NOT visible in All
|
||||
final allFilterIssuer2 = find.textContaining('testIssuer2');
|
||||
expect(allFilterIssuer2.evaluate().isEmpty, isTrue, reason: 'testIssuer2 should not be visible in All filter');
|
||||
|
||||
print('✅ All filter working: trashed items excluded');
|
||||
|
||||
// Step 16: Test restore functionality
|
||||
print('♻️ Testing restore functionality...');
|
||||
|
||||
// Go back to trash view
|
||||
await tester.tap(trashTag);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Long press on trashed issuer2 entry
|
||||
final trashedEntryForRestore = find.textContaining('testIssuer2');
|
||||
await tester.longPress(trashedEntryForRestore);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Look for restore option
|
||||
final restoreOption = find.text('Restore');
|
||||
expect(restoreOption, findsOneWidget, reason: 'Restore option not found');
|
||||
await tester.tap(restoreOption);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
print('✅ Restore option tapped');
|
||||
|
||||
// Step 17: Verify restoration worked
|
||||
print('✅ Verifying restoration...');
|
||||
|
||||
// Wait for restoration to complete
|
||||
await tester.pumpAndSettle(const Duration(seconds: 1));
|
||||
|
||||
// Go to All view to check if issuer2 is restored
|
||||
await tester.tap(allTag);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify both entries are now visible in All
|
||||
final restoredIssuer1 = find.textContaining('testIssuer');
|
||||
final restoredIssuer2 = find.textContaining('testIssuer2');
|
||||
|
||||
expect(restoredIssuer1, findsAtLeastNWidgets(1), reason: 'testIssuer not visible after restore');
|
||||
expect(restoredIssuer2, findsAtLeastNWidgets(1), reason: 'testIssuer2 not visible after restore');
|
||||
|
||||
// Verify tags are visible again
|
||||
final restoredTag1 = find.textContaining('tag1');
|
||||
final restoredTag2 = find.textContaining('tag2');
|
||||
|
||||
if (restoredTag1.evaluate().isNotEmpty && restoredTag2.evaluate().isNotEmpty) {
|
||||
print('✅ Tags restored and visible again');
|
||||
}
|
||||
|
||||
print('✅ Step 5 completed: Trash and restore functionality working correctly');
|
||||
|
||||
print('✅ Integration test completed successfully!');
|
||||
print('- Both entries created and verified');
|
||||
print('- Search functionality tested and working');
|
||||
print('- Tag functionality tested and working');
|
||||
print('- Trash functionality tested and working');
|
||||
print('- Restore functionality tested and working');
|
||||
print('- Multiple TOTP codes are being generated');
|
||||
print('- Data persistence is working correctly');
|
||||
},
|
||||
timeout: const Timeout(Duration(minutes: 3)),
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -39,6 +39,8 @@ PODS:
|
||||
- DKPhotoGallery/Resource (0.0.19):
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- ente_qr (0.0.1):
|
||||
- Flutter
|
||||
- file_picker (0.0.1):
|
||||
- DKImagePickerController/PhotoGallery
|
||||
- Flutter
|
||||
@@ -66,6 +68,8 @@ PODS:
|
||||
- Flutter
|
||||
- fluttertoast (0.0.2):
|
||||
- Flutter
|
||||
- integration_test (0.0.1):
|
||||
- Flutter
|
||||
- local_auth_darwin (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
@@ -126,6 +130,8 @@ PODS:
|
||||
- sqlite3/perf-threadsafe
|
||||
- sqlite3/rtree
|
||||
- SwiftyGif (5.4.5)
|
||||
- ua_client_hints (1.4.1):
|
||||
- Flutter
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
|
||||
@@ -134,6 +140,7 @@ DEPENDENCIES:
|
||||
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
|
||||
- cupertino_http (from `.symlinks/plugins/cupertino_http/darwin`)
|
||||
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
||||
- ente_qr (from `.symlinks/plugins/ente_qr/ios`)
|
||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||
- file_saver (from `.symlinks/plugins/file_saver/ios`)
|
||||
- fk_user_agent (from `.symlinks/plugins/fk_user_agent/ios`)
|
||||
@@ -145,6 +152,7 @@ DEPENDENCIES:
|
||||
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
||||
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
|
||||
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
||||
- integration_test (from `.symlinks/plugins/integration_test/ios`)
|
||||
- local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`)
|
||||
- move_to_background (from `.symlinks/plugins/move_to_background/ios`)
|
||||
- objective_c (from `.symlinks/plugins/objective_c/ios`)
|
||||
@@ -158,6 +166,7 @@ DEPENDENCIES:
|
||||
- sodium_libs (from `.symlinks/plugins/sodium_libs/ios`)
|
||||
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
|
||||
- sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/darwin`)
|
||||
- ua_client_hints (from `.symlinks/plugins/ua_client_hints/ios`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
@@ -180,6 +189,8 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/cupertino_http/darwin"
|
||||
device_info_plus:
|
||||
:path: ".symlinks/plugins/device_info_plus/ios"
|
||||
ente_qr:
|
||||
:path: ".symlinks/plugins/ente_qr/ios"
|
||||
file_picker:
|
||||
:path: ".symlinks/plugins/file_picker/ios"
|
||||
file_saver:
|
||||
@@ -202,6 +213,8 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/flutter_secure_storage/ios"
|
||||
fluttertoast:
|
||||
:path: ".symlinks/plugins/fluttertoast/ios"
|
||||
integration_test:
|
||||
:path: ".symlinks/plugins/integration_test/ios"
|
||||
local_auth_darwin:
|
||||
:path: ".symlinks/plugins/local_auth_darwin/darwin"
|
||||
move_to_background:
|
||||
@@ -228,6 +241,8 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/sqflite_darwin/darwin"
|
||||
sqlite3_flutter_libs:
|
||||
:path: ".symlinks/plugins/sqlite3_flutter_libs/darwin"
|
||||
ua_client_hints:
|
||||
:path: ".symlinks/plugins/ua_client_hints/ios"
|
||||
url_launcher_ios:
|
||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||
|
||||
@@ -238,6 +253,7 @@ SPEC CHECKSUMS:
|
||||
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
|
||||
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
|
||||
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
|
||||
ente_qr: f39434aa69ea0e71047b49316365b2737f8a20aa
|
||||
file_picker: b159e0c068aef54932bb15dc9fd1571818edaf49
|
||||
file_saver: 503e386464dbe118f630e17b4c2e1190fa0cf808
|
||||
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
||||
@@ -249,6 +265,7 @@ SPEC CHECKSUMS:
|
||||
flutter_native_splash: df59bb2e1421aa0282cb2e95618af4dcb0c56c29
|
||||
flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
|
||||
fluttertoast: 21eecd6935e7064cc1fcb733a4c5a428f3f24f0f
|
||||
integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573
|
||||
local_auth_darwin: fa4b06454df7df8e97c18d7ee55151c57e7af0de
|
||||
move_to_background: 39a5b79b26d577b0372cbe8a8c55e7aa9fcd3a2d
|
||||
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
|
||||
@@ -268,6 +285,7 @@ SPEC CHECKSUMS:
|
||||
sqlite3: 3e82a2daae39ba3b41ae6ee84a130494585460fc
|
||||
sqlite3_flutter_libs: 2c48c4ee7217fd653251975e43412250d5bcbbe2
|
||||
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
|
||||
ua_client_hints: aeabd123262c087f0ce151ef96fa3ab77bfc8b38
|
||||
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
|
||||
|
||||
PODFILE CHECKSUM: 78f002751f1a8f65042b8da97902ba4124271c5a
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
"importAegisGuide": "Použijte možnost \"Export the vault\" v nastavení aplikace Aegis.",
|
||||
"import2FasGuide": "Použijte možnost \"Settings->Backup -Export\" v 2FA.\n\nPokud je Vaše záloha šifrovaná, budete muset zadat heslo pro její odemčení",
|
||||
"importLastpassGuide": "V nastavení aplikace Lastpass Authenticator vyberte možnost \"Transfer accounts\" a poté \"Export accounts to file\". Vygenerovaný soubor JSON následně nahrajte sem.",
|
||||
"importProtonAuthGuide": "K exportu kódů použijte možnost „Exportovat“ v nastavení aplikace Proton Authenticator.",
|
||||
"exportCodes": "Exportovat kódy",
|
||||
"importLabel": "Importovat",
|
||||
"importInstruction": "Vyberte, prosím, soubor obsahující seznam Vašich kódů v následujícím formátu",
|
||||
@@ -124,6 +125,7 @@
|
||||
"authToChangeYourEmail": "Pro změnu svého e-mailu se, prosím, ověřte",
|
||||
"authToChangeYourPassword": "Pro změnu svého hesla se, prosím, ověřte",
|
||||
"authToViewSecrets": "Pro zobrazení svých tajných údajů se musíte ověřit",
|
||||
"authToInitiateSignIn": "Proveďte ověření a přihlaste se k zálohování.",
|
||||
"ok": "Ok",
|
||||
"cancel": "Zrušit",
|
||||
"yes": "Ano",
|
||||
@@ -171,6 +173,7 @@
|
||||
"invalidQRCode": "Neplatný QR kód",
|
||||
"noRecoveryKeyTitle": "Nemáte obnovovací klíč?",
|
||||
"enterEmailHint": "Zadejte svou e-mailovou adresu",
|
||||
"enterNewEmailHint": "Zadejte svou novou e-mailovou adresu",
|
||||
"invalidEmailTitle": "Neplatná e-mailová adresa",
|
||||
"invalidEmailMessage": "Prosím, zadejte platnou e-mailovou adresu.",
|
||||
"deleteAccount": "Odstranit účet",
|
||||
@@ -509,6 +512,19 @@
|
||||
"supportEnte": "Podpořte <bold-green>ente</bold-green>",
|
||||
"giveUsAStarOnGithub": "Dejte nám hvězdu na Githubu",
|
||||
"free5GB": "5GB zdarma na <bold-green>ente</bold-green> Fotky",
|
||||
"loginWithAuthAccount": "Přihlaste se pomocí svého účtu Auth",
|
||||
"freeStorageOffer": "10% sleva na <bold-green>ente</bold-green> fotky",
|
||||
"freeStorageOfferDescription": "Použijte kód \"AUTH\" pro získání 10% slevy na první rok"
|
||||
"freeStorageOfferDescription": "Použijte kód \"AUTH\" pro získání 10% slevy na první rok",
|
||||
"advanced": "Pokročilé",
|
||||
"algorithm": "Algoritmus",
|
||||
"type": "Typ",
|
||||
"period": "Období",
|
||||
"digits": "Digitální",
|
||||
"importFromGallery": "Importovat z galerie",
|
||||
"errorCouldNotReadImage": "Nelze přečíst vybraný obrazový soubor.",
|
||||
"errorInvalidQRCode": "Neplatný QR kód",
|
||||
"errorInvalidQRCodeBody": "Naskenovaný QR kód není platným účtem 2FA.",
|
||||
"errorNoQRCode": "Nenalezen žádný QR kód",
|
||||
"errorGenericTitle": "Došlo k chybě",
|
||||
"errorGenericBody": "Při importu došlo k neočekávané chybě."
|
||||
}
|
||||
@@ -111,6 +111,7 @@
|
||||
"importAegisGuide": "Verwenden Sie die Option \"Tresor exportieren\" in den Einstellungen von Aegis.\n\nFalls Ihr Tresor verschlüsselt ist, müssen Sie das Passwort für den Tresor eingeben, um ihn zu entschlüsseln.",
|
||||
"import2FasGuide": "Verwenden Sie unter \"Einstellungen → Backup\" die Option \"Exportieren\" in 2FAS.\n\nFalls Ihr Backup verschlüsselt ist, müssen Sie das Passwort eingeben, um das Backup zu entschlüsseln.",
|
||||
"importLastpassGuide": "Verwenden Sie die Option \"Konten übertragen → Konten in Datei exportieren\" in den Lastpass Authenticator Einstellungen. \nImportieren Sie anschließend die heruntergeladene JSON-Datei.",
|
||||
"importProtonAuthGuide": "Verwenden Sie die Option \"Exportieren\" in den Proton Authenticator Settings um Ihre Codes zu exportieren.",
|
||||
"exportCodes": "Codes exportieren",
|
||||
"importLabel": "Importieren",
|
||||
"importInstruction": "Bitte wählen Sie eine Datei die Codes in folgendem Format beinhaltet",
|
||||
@@ -519,5 +520,12 @@
|
||||
"algorithm": "Algorithmus",
|
||||
"type": "Typ",
|
||||
"period": "Periode",
|
||||
"digits": "Ziffern"
|
||||
"digits": "Ziffern",
|
||||
"importFromGallery": "Aus Galerie importieren",
|
||||
"errorCouldNotReadImage": "Die ausgewählte Bild-Datei konnte nicht verarbeitet werden.",
|
||||
"errorInvalidQRCode": "Ungültiger QR-Code",
|
||||
"errorInvalidQRCodeBody": "Der gescannte QR-Code ist kein gültiges 2FA-Konto.",
|
||||
"errorNoQRCode": "Kein QR-Code gefunden",
|
||||
"errorGenericTitle": "Ein Fehler ist aufgetreten",
|
||||
"errorGenericBody": "Beim Importieren ist ein unerwarteter Fehler aufgetreten."
|
||||
}
|
||||
@@ -111,6 +111,7 @@
|
||||
"importAegisGuide": "Use the \"Export the vault\" option in Aegis's Settings.\n\nIf your vault is encrypted, you will need to enter vault password to decrypt the vault.",
|
||||
"import2FasGuide": "Use the \"Settings->Backup -Export\" option in 2FAS.\n\nIf your backup is encrypted, you will need to enter the password to decrypt the backup",
|
||||
"importLastpassGuide": "Use the \"Transfer accounts\" option within Lastpass Authenticator Settings and press \"Export accounts to file\". Import the JSON downloaded.",
|
||||
"importProtonAuthGuide": "Use the \"Export\" option in Proton Authenticator Settings to export your codes.",
|
||||
"exportCodes": "Export codes",
|
||||
"importLabel": "Import",
|
||||
"importInstruction": "Please select a file that contains a list of your codes in the following format",
|
||||
@@ -519,5 +520,12 @@
|
||||
"algorithm": "Algorithm",
|
||||
"type": "Type",
|
||||
"period": "Period",
|
||||
"digits": "Digits"
|
||||
"digits": "Digits",
|
||||
"importFromGallery": "Import from gallery",
|
||||
"errorCouldNotReadImage": "Could not read the selected image file.",
|
||||
"errorInvalidQRCode": "Invalid QR Code",
|
||||
"errorInvalidQRCodeBody": "The scanned QR code is not a valid 2FA account.",
|
||||
"errorNoQRCode": "No QR code found",
|
||||
"errorGenericTitle": "An Error Occurred",
|
||||
"errorGenericBody": "An unexpected error occurred while importing."
|
||||
}
|
||||
@@ -111,6 +111,7 @@
|
||||
"importAegisGuide": "Utilisez l'option \"Exporter le coffre-fort\" dans les paramètres d'Aegis.\n\nSi votre coffre-fort est crypté, vous devrez saisir le mot de passe du coffre-fort pour déchiffrer le coffre-fort.",
|
||||
"import2FasGuide": "Utilisez l'option \"Paramètres->Sauvegarde -Export\" dans 2FAS.\n\nSi votre sauvegarde est chiffrée, vous devrez entrer le mot de passe pour déchiffrer la sauvegarde",
|
||||
"importLastpassGuide": "Utilisez l'option \"Transférer des comptes\" dans les paramètres de l'authentificateur Lastpass et appuyez sur \"Exporter des comptes vers un fichier\". Importez le JSON téléchargé.",
|
||||
"importProtonAuthGuide": "Utilisez l'option \"Export\" dans les paramètres de Proton Authenticator pour exporter vos codes.",
|
||||
"exportCodes": "Exporter les codes",
|
||||
"importLabel": "Importer",
|
||||
"importInstruction": "Veuillez sélectionner un fichier qui contient une liste de vos codes dans le format suivant",
|
||||
@@ -519,5 +520,12 @@
|
||||
"algorithm": "Algorithme",
|
||||
"type": "Type",
|
||||
"period": "Période",
|
||||
"digits": "Chiffres"
|
||||
"digits": "Chiffres",
|
||||
"importFromGallery": "Importer depuis la galerie",
|
||||
"errorCouldNotReadImage": "Impossible de lire le fichier sélectionné.",
|
||||
"errorInvalidQRCode": "QR Code invalide",
|
||||
"errorInvalidQRCodeBody": "Le code QR scanné n'est pas un compte 2FA valide.",
|
||||
"errorNoQRCode": "Aucun code QR trouvé",
|
||||
"errorGenericTitle": "Une erreur s'est produite",
|
||||
"errorGenericBody": "Une erreur inattendue est survenue lors de l'importation."
|
||||
}
|
||||
@@ -111,6 +111,7 @@
|
||||
"importAegisGuide": "Naudokite „Aegis“ nustatymuose esančią parinktį Eksportuoti slėptuvę.\n\nJei jūsų saugykla užšifruota, turėsite įvesti saugyklos slaptažodį, kad iššifruotumėte saugyklą.",
|
||||
"import2FasGuide": "Naudokite programoje 2FAS esančią parinktį „Settings->2FAS Backup->Export to file“.\n\nJei atsarginė kopija užšifruota, turėsite įvesti slaptažodį, kad iššifruotumėte atsarginę kopiją.",
|
||||
"importLastpassGuide": "Naudokite „Lastpass Authenticator“ nustatymuose esančią parinktį „Transfer accounts“ (perkelti paskyras) ir paspauskite „Export accounts to file“ (eksportuoti paskyras į failą). Importuokite atsisiųstą JSON failą.",
|
||||
"importProtonAuthGuide": "Naudokite „Proton Authenticator“ nustatymuose esančią parinktį „Export“ (eksportuoti), kad eksportuotumėte savo kodus.",
|
||||
"exportCodes": "Eksportuoti kodus",
|
||||
"importLabel": "Importuoti",
|
||||
"importInstruction": "Pasirinkite failą, kuriame yra tokio formato jūsų kodų sąrašas",
|
||||
@@ -519,5 +520,12 @@
|
||||
"algorithm": "Algoritmas",
|
||||
"type": "Tipas",
|
||||
"period": "Laikotarpis",
|
||||
"digits": "Skaitmenys"
|
||||
"digits": "Skaitmenys",
|
||||
"importFromGallery": "Importuoti iš galerijos",
|
||||
"errorCouldNotReadImage": "Nepavyko perskaityti pasirinkto vaizdo failo.",
|
||||
"errorInvalidQRCode": "Netinkamas QR kodas",
|
||||
"errorInvalidQRCodeBody": "Nuskenuotas QR kodas nėra tinkama 2FA paskyra.",
|
||||
"errorNoQRCode": "QR kodas nerastas.",
|
||||
"errorGenericTitle": "Įvyko klaida",
|
||||
"errorGenericBody": "Importuojant įvyko netikėta klaida."
|
||||
}
|
||||
@@ -111,6 +111,7 @@
|
||||
"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.",
|
||||
"importProtonAuthGuide": "Użyj opcji „Eksportuj” w ustawieniach Proton Authenticator, aby wyeksportować kody.",
|
||||
"exportCodes": "Eksportuj kody",
|
||||
"importLabel": "Importuj",
|
||||
"importInstruction": "Wybierz plik, który zawiera listę twoich kodów w następującym formacie",
|
||||
@@ -519,5 +520,12 @@
|
||||
"algorithm": "Algorytm",
|
||||
"type": "Rodzaj",
|
||||
"period": "Okres",
|
||||
"digits": "Cyfry"
|
||||
"digits": "Cyfry",
|
||||
"importFromGallery": "Importuj z galerii",
|
||||
"errorCouldNotReadImage": "Nie można odczytać wybranego pliku obrazu.",
|
||||
"errorInvalidQRCode": "Nieprawidłowy kod QR",
|
||||
"errorInvalidQRCodeBody": "Zeskanowany kod QR nie wskazuje na prawidłowe konto 2FA.",
|
||||
"errorNoQRCode": "Nie znaleziono kodu QR",
|
||||
"errorGenericTitle": "Wystąpił błąd",
|
||||
"errorGenericBody": "Podczas importowania wystąpił nieoczekiwany błąd."
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
"incorrectDetails": "Felaktiga uppgifter",
|
||||
"pleaseVerifyDetails": "Kontrollera dina detaljer och försök igen",
|
||||
"codeIssuerHint": "Utfärdare",
|
||||
"codeSecretKeyHint": "Secret Key",
|
||||
"codeSecretKeyHint": "Hemlig nyckel",
|
||||
"secret": "Säkerhetsnyckel",
|
||||
"all": "Alla",
|
||||
"notes": "Anteckningar",
|
||||
@@ -33,7 +33,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"codeAccountHint": "Konto (du@domän.com)",
|
||||
"codeAccountHint": "Konto (du@domain.com)",
|
||||
"codeTagHint": "Tagg",
|
||||
"accountKeyType": "Typ av nyckel",
|
||||
"sessionExpired": "Sessionen har gått ut",
|
||||
@@ -68,7 +68,7 @@
|
||||
"reportABug": "Rapportera en bugg",
|
||||
"crashAndErrorReporting": "Krasch och felrapportering",
|
||||
"reportBug": "Rapportera bugg",
|
||||
"emailUsMessage": "Skicka e-mail till {email}",
|
||||
"emailUsMessage": "Skicka e-post till {email}",
|
||||
"@emailUsMessage": {
|
||||
"placeholders": {
|
||||
"email": {
|
||||
@@ -79,7 +79,7 @@
|
||||
"contactSupport": "Kontakta support",
|
||||
"rateUsOnStore": "Betygsätt på {storeName}",
|
||||
"blog": "Blogg",
|
||||
"merchandise": "Merchandise",
|
||||
"merchandise": "Produkter",
|
||||
"verifyPassword": "Bekräfta lösenord",
|
||||
"pleaseWait": "Vänligen vänta...",
|
||||
"generatingEncryptionKeysTitle": "Skapar krypteringsnycklar...",
|
||||
@@ -104,13 +104,14 @@
|
||||
"importFromApp": "Importera koder från {appName}",
|
||||
"importGoogleAuthGuide": "Exportera dina konton från Google Authenticator till en QR-kod med alternativet \"Överföra konton\". Använd sedan en annan enhet och skanna QR-koden.\n\nTips: Du kan använda din bärbara dators webbkamera för att ta en bild av QR-koden.",
|
||||
"importSelectJsonFile": "Välj JSON-fil",
|
||||
"importSelectAppExport": "Välj {appName} exportfil",
|
||||
"importSelectAppExport": "Välj {appName} exporteringsfil",
|
||||
"importEnteEncGuide": "Välj den krypterade JSON-filen som exporteras från Ente",
|
||||
"importRaivoGuide": "Använd alternativet \"Exportera OTPs till zip-arkiv\" i Raivos inställningar.\n\nExtrahera zip-filen och importera JSON-filen.",
|
||||
"importBitwardenGuide": "Använd alternativet \"Exportera valv\" inom Bitwarden Tools och importera den okrypterade JSON-filen.",
|
||||
"importAegisGuide": "Använd alternativet \"Exportera valvet\" i Aegis inställningar.\n\nOm ditt valv är krypterat måste du ange valvlösenordet för att dekryptera valvet.",
|
||||
"import2FasGuide": "Använd alternativet \"Inställningar->Säkerhetskopiera -Exportera\" i 2FAS.\n\nOm din säkerhetskopia är krypterad måste du ange lösenordet för att dekryptera säkerhetskopian.",
|
||||
"importLastpassGuide": "Använd alternativet \"Överför konton\" i LastPass Authenticators inställningar och tryck på \"Exportera konton till fil\". Importera JSON-filen som laddas ner.",
|
||||
"importProtonAuthGuide": "Använd alternativet \"Exportera\" i Proton Authenticator-inställningarna för att exportera koder.",
|
||||
"exportCodes": "Exportera koder",
|
||||
"importLabel": "Importera",
|
||||
"importInstruction": "Vänligen välj en fil som innehåller en lista över dina koder i följande format",
|
||||
@@ -119,11 +120,11 @@
|
||||
"emailVerificationToggle": "E-postverifiering",
|
||||
"emailVerificationEnableWarning": "För att undvika att bli låst från ditt konto, se till att spara en kopia av din e-post 2FA utanför Ente Auth innan du aktiverar e-postverifiering.",
|
||||
"authToChangeEmailVerificationSetting": "Autentisera för att ändra din e-postadress",
|
||||
"authenticateGeneric": "Var god autentisera",
|
||||
"authenticateGeneric": "Vänligen autentisera",
|
||||
"authToViewYourRecoveryKey": "Autentisera för att visa din återställningsnyckel",
|
||||
"authToChangeYourEmail": "Autentisera för att ändra din e-postadress",
|
||||
"authToChangeYourPassword": "Autentisera för att ändra ditt lösenord",
|
||||
"authToViewSecrets": "Autentisera för att visa din återställningsnyckel",
|
||||
"authToViewSecrets": "Vänligen autentisera för att visa din återställningsnyckel",
|
||||
"authToInitiateSignIn": "Vänligen autentisera för att initiera inloggning för säkerhetskopiering.",
|
||||
"ok": "OK",
|
||||
"cancel": "Avbryt",
|
||||
@@ -147,7 +148,7 @@
|
||||
"leaveFamily": "Lämna familjen",
|
||||
"leaveFamilyMessage": "Är du säker på att du vill lämna familjeplanen?",
|
||||
"inFamilyPlanMessage": "Du är på en familjeplan!",
|
||||
"hintForMobile": "Håll i på en kod för att redigera eller ta bort.",
|
||||
"hintForMobile": "Tryck länge på en kod för att redigera eller ta bort.",
|
||||
"hintForDesktop": "Högerklicka på en kod för att redigera eller ta bort.",
|
||||
"scan": "Skanna",
|
||||
"scanACode": "Skanna kod",
|
||||
@@ -191,7 +192,7 @@
|
||||
"oopsSomethingWentWrong": "Hoppsan! Något gick fel.",
|
||||
"selectLanguage": "Välj språk",
|
||||
"language": "Språk",
|
||||
"social": "Social",
|
||||
"social": "Socialt",
|
||||
"security": "Säkerhet",
|
||||
"lockscreen": "Låsskärm",
|
||||
"authToChangeLockscreenSetting": "Vänligen autentisera för att ändra låsskärms inställningar",
|
||||
@@ -200,7 +201,7 @@
|
||||
"authToViewYourActiveSessions": "Autentisera för att visa dina aktiva sessioner",
|
||||
"searchHint": "Sök...",
|
||||
"search": "Sök",
|
||||
"sorryUnableToGenCode": "Tyvärr, det gick inte att generera en kod för {issuerName}",
|
||||
"sorryUnableToGenCode": "Tyvärr, kunde inte generera en kod för {issuerName}",
|
||||
"noResult": "Inga resultat",
|
||||
"addCode": "Lägg till kod",
|
||||
"scanAQrCode": "Skanna en QR-kod",
|
||||
@@ -215,7 +216,7 @@
|
||||
"error": "Fel",
|
||||
"recoveryKeyCopiedToClipboard": "Återställningsnyckel kopierad till urklipp",
|
||||
"recoveryKeyOnForgotPassword": "Om du glömmer ditt lösenord är det enda sättet du kan återställa dina data med denna nyckel.",
|
||||
"recoveryKeySaveDescription": "Vi lagrar inte och har därför inte åtkomst till denna nyckel, vänligen spara denna 24 ords nyckel på en säker plats.",
|
||||
"recoveryKeySaveDescription": "Vi lagrar inte och har därför inte åtkomst till denna nyckel, vänligen spara denna 24 ordsnyckeln på en säker plats.",
|
||||
"doThisLater": "Gör detta senare",
|
||||
"saveKey": "Spara nyckel",
|
||||
"save": "Spara",
|
||||
@@ -254,7 +255,7 @@
|
||||
"insecureDevice": "Osäker enhet",
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Tyvärr, kunde vi inte generera säkra nycklar på den här enheten.\n\nvänligen registrera dig från en annan enhet.",
|
||||
"howItWorks": "Så här fungerar det",
|
||||
"ackPasswordLostWarning": "Jag förstår att om jag förlorar mitt lösenord kan jag förlora mina data eftersom min data är <underline>end-to-end-krypterad</underline>.",
|
||||
"ackPasswordLostWarning": "Jag förstår att om jag förlorar mitt lösenord kan jag förlora mina data eftersom min data är <underline>totalsträckskrypterad</underline>.",
|
||||
"loginTerms": "Jag samtycker till <u-terms>användarvillkoren</u-terms> och <u-policy>integritetspolicyn</u-policy>",
|
||||
"logInLabel": "Logga in",
|
||||
"logout": "Logga ut",
|
||||
@@ -278,7 +279,7 @@
|
||||
"recoveryKeyVerifyReason": "Din återställningsnyckel är det enda sättet att återställa dina foton om du glömmer ditt lösenord. Du hittar din återställningsnyckel i Inställningar > Säkerhet.\n\nAnge din återställningsnyckel här för att verifiera att du har sparat den ordentligt.",
|
||||
"confirmYourRecoveryKey": "Bekräfta din återställningsnyckel",
|
||||
"confirm": "Bekräfta",
|
||||
"emailYourLogs": "Maila dina loggar",
|
||||
"emailYourLogs": "E-posta dina loggar",
|
||||
"pleaseSendTheLogsTo": "Vänligen skicka loggarna till \n{toEmail}",
|
||||
"copyEmailAddress": "Kopiera e-postadress",
|
||||
"exportLogs": "Exportera loggar",
|
||||
@@ -297,7 +298,7 @@
|
||||
"criticalUpdateAvailable": "Kritisk uppdatering tillgänglig",
|
||||
"updateAvailable": "Uppdatering tillgänglig",
|
||||
"update": "Uppdatera",
|
||||
"checking": "Kontrollerar ...",
|
||||
"checking": "Kontrollerar...",
|
||||
"youAreOnTheLatestVersion": "Du är på den senaste versionen",
|
||||
"warning": "Varning",
|
||||
"exportWarningDesc": "Den exporterade filen innehåller känslig information. Förvara den på ett säkert sätt.",
|
||||
@@ -306,7 +307,7 @@
|
||||
"description": "Text for the button to confirm the user understands the warning"
|
||||
},
|
||||
"authToExportCodes": "Autentisera för att exportera dina koder",
|
||||
"importSuccessTitle": "Jippi!",
|
||||
"importSuccessTitle": "Hurra!",
|
||||
"importSuccessDesc": "Du har importerat {count} koder!",
|
||||
"@importSuccessDesc": {
|
||||
"placeholders": {
|
||||
@@ -324,7 +325,7 @@
|
||||
"checkInboxAndSpamFolder": "Vänligen kontrollera din inkorg (och skräppost) för att slutföra verifieringen",
|
||||
"tapToEnterCode": "Tryck för att ange kod",
|
||||
"resendEmail": "Skicka e-post igen",
|
||||
"weHaveSendEmailTo": "Vi har skickat ett mail till <green>{email}</green>",
|
||||
"weHaveSendEmailTo": "Vi har skickat ett e-postmeddelande till <green>{email}</green>",
|
||||
"@weHaveSendEmailTo": {
|
||||
"description": "Text to indicate that we have sent a mail to the user",
|
||||
"placeholders": {
|
||||
@@ -362,7 +363,7 @@
|
||||
"selectExportFormat": "Välj exportformat",
|
||||
"exportDialogDesc": "Krypterad export skyddas av ett lösenord som du väljer.",
|
||||
"encrypted": "Krypterad",
|
||||
"plainText": "Enkel text",
|
||||
"plainText": "Oformaterad text",
|
||||
"passwordToEncryptExport": "Lösenord för att kryptera export",
|
||||
"export": "Exportera",
|
||||
"useOffline": "Använd utan säkerhetskopior",
|
||||
@@ -374,14 +375,14 @@
|
||||
"compactMode": "Kompakt läge",
|
||||
"shouldHideCode": "Dölj koder",
|
||||
"doubleTapToViewHiddenCode": "Du kan dubbeltrycka på en post för att visa koden",
|
||||
"focusOnSearchBar": "Fokusera på sök vid appstart",
|
||||
"focusOnSearchBar": "Fokusera på sök vid uppstart av app",
|
||||
"confirmUpdatingkey": "Är du säker på att du vill uppdatera den hemliga nyckeln?",
|
||||
"minimizeAppOnCopy": "Minimera appen vid kopiering",
|
||||
"editCodeAuthMessage": "Autentisera för att redigera kod",
|
||||
"deleteCodeAuthMessage": "Autentisera för att radera kod",
|
||||
"showQRAuthMessage": "Autentisera för att visa QR-kod",
|
||||
"confirmAccountDeleteTitle": "Bekräfta radering av kontot",
|
||||
"confirmAccountDeleteMessage": "Detta konto är kopplat till andra Ente apps, om du använder någon.\n\nDina uppladdade data, över alla Ente appar, kommer att schemaläggas för radering och ditt konto kommer att raderas permanent.",
|
||||
"confirmAccountDeleteMessage": "Detta konto är kopplat till andra Ente applikationer, om du använder någon.\n\nDina uppladdade data, över alla Ente applikationer, kommer att schemaläggas för radering och ditt konto kommer att raderas permanent.",
|
||||
"androidBiometricHint": "Verifiera identitet",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -390,7 +391,7 @@
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricSuccess": "Slutförd",
|
||||
"androidBiometricSuccess": "Lyckades",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
@@ -441,7 +442,7 @@
|
||||
"signOutOtherDevices": "Logga ut andra enheter",
|
||||
"doNotSignOut": "Logga inte ut",
|
||||
"hearUsWhereTitle": "Hur hörde du talas om Ente? (valfritt)",
|
||||
"hearUsExplanation": "Vi spårar inte appinstallationer, Det skulle hjälpa oss om du berättade var du hittade oss!",
|
||||
"hearUsExplanation": "Vi spårar inte installationer. Det skulle hjälpa oss om du berättade hur du hittade oss!",
|
||||
"recoveryKeySaved": "Återställningsnyckel sparad i nedladdningsmappen!",
|
||||
"waitingForBrowserRequest": "Väntar på webbläsarbegäran...",
|
||||
"waitingForVerification": "Väntar på verifiering...",
|
||||
@@ -488,6 +489,8 @@
|
||||
"hideContent": "Dölj innehåll",
|
||||
"hideContentDescriptionAndroid": "Döljer appinnehåll i app-växlaren och inaktiverar skärmdumpar",
|
||||
"hideContentDescriptioniOS": "Döljer appinnehåll i app-växlaren",
|
||||
"autoLockFeatureDescription": "Tid efter vilken appen låses efter att ha satts i bakgrunden",
|
||||
"appLockDescription": "Välj mellan enhetens förvalda låsskärm och en anpassad låsskärm med en PIN-kod eller lösenord.",
|
||||
"pinLock": "Pinkodslås",
|
||||
"enterPin": "Ange PIN-kod",
|
||||
"setNewPin": "Ställ in ny PIN-kod",
|
||||
@@ -498,9 +501,31 @@
|
||||
"appLockOfflineModeWarning": "Du har valt att fortsätta utan säkerhetskopior. Om du glömmer ditt applås, kommer du att bli utelåst från att komma åt dina data.",
|
||||
"duplicateCodes": "Dubblettkoder",
|
||||
"noDuplicates": "✨ Inga dubbletter",
|
||||
"youveNoDuplicateCodesThatCanBeCleared": "Du har inga dubbla koder som kan rensas",
|
||||
"deduplicateCodes": "Deduplicera koder",
|
||||
"deselectAll": "Avmarkera alla",
|
||||
"selectAll": "Markera alla",
|
||||
"deleteDuplicates": "Radera dubbletter",
|
||||
"plainHTML": "Ren HTML"
|
||||
"plainHTML": "Ren HTML",
|
||||
"tellUsWhatYouThink": "Berätta vad du tycker",
|
||||
"dropReviewiOS": "Skriv en recension på App Store",
|
||||
"dropReviewAndroid": "Skriv en recension på Play Store",
|
||||
"supportEnte": "Stöd <bold-green>ente</bold-green>",
|
||||
"giveUsAStarOnGithub": "Ge oss en stjärna på Github",
|
||||
"free5GB": "5 GB gratis på <bold-green>ente</bold-green> Foton",
|
||||
"loginWithAuthAccount": "Logga in med ditt Auth-konto",
|
||||
"freeStorageOffer": "10% rabatt på <bold-green>ente</bold-green> foton",
|
||||
"freeStorageOfferDescription": "Använd koden \"AUTH\" för att få 10% rabatt första året",
|
||||
"advanced": "Avancerad",
|
||||
"algorithm": "Algoritm",
|
||||
"type": "Typ",
|
||||
"period": "Tidsperiod",
|
||||
"digits": "Siffror",
|
||||
"importFromGallery": "Importera från galleri",
|
||||
"errorCouldNotReadImage": "Kunde inte läsa den valda bildfilen.",
|
||||
"errorInvalidQRCode": "Ogiltig QR-kod",
|
||||
"errorInvalidQRCodeBody": "Den skannade QR-koden är inte ett giltigt 2FA konto.",
|
||||
"errorNoQRCode": "Ingen QR-kod hittades",
|
||||
"errorGenericTitle": "Ett fel inträffade",
|
||||
"errorGenericBody": "Ett oväntat fel inträffade vid import."
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"@counterAppBarTitle": {
|
||||
"description": "Text shown in the AppBar of the Counter Page"
|
||||
},
|
||||
"onBoardingBody": "妥善保管您的两步验证码",
|
||||
"onBoardingBody": "妥善保管您的双重认证代码",
|
||||
"onBoardingGetStarted": "开始",
|
||||
"setupFirstAccount": "设置您的第一个账户",
|
||||
"importScanQrCode": "扫描二维码",
|
||||
@@ -111,13 +111,14 @@
|
||||
"importAegisGuide": "使用 Aegis 设置中的“导出密码库”选项。\n\n如果您的密码库已加密,则需要输入密码库密码才能解密密码库。",
|
||||
"import2FasGuide": "使用 2FAS 中的“设置 -> 备份 -> 导出”选项。\n\n如果您的备份已加密,则需要输入密码来解密备份",
|
||||
"importLastpassGuide": "使用 Lastpass Authenticator 设置中的“转移账户”选项,然后按“将账户导出到文件”。导入下载的 JSON。",
|
||||
"importProtonAuthGuide": "使用 Proton Authenticator 设置中的“导出”选项导出您的代码。",
|
||||
"exportCodes": "导出代码",
|
||||
"importLabel": "导入",
|
||||
"importInstruction": "请选择一个包含以下格式的代码列表的文件",
|
||||
"importCodeDelimiterInfo": "代码可以用逗号或换行符分隔",
|
||||
"selectFile": "选择文件",
|
||||
"emailVerificationToggle": "电子邮件验证",
|
||||
"emailVerificationEnableWarning": "为避免被锁在您的账户之外,请在启用电子邮件验证之前确保在 Ente Auth 之外存储电子邮件两步验证的副本。",
|
||||
"emailVerificationEnableWarning": "为避免被锁在您的账户之外,请在启用电子邮件验证之前确保在 Ente Auth 之外存储电子邮件双重认证的副本。",
|
||||
"authToChangeEmailVerificationSetting": "请进行身份验证以更改电子邮件验证",
|
||||
"authenticateGeneric": "请验证",
|
||||
"authToViewYourRecoveryKey": "请验证以查看您的恢复密钥",
|
||||
@@ -155,7 +156,7 @@
|
||||
"verifyEmail": "验证电子邮件",
|
||||
"enterCodeHint": "从你的身份验证器应用中\n输入6位数字代码",
|
||||
"lostDeviceTitle": "丢失了设备吗?",
|
||||
"twoFactorAuthTitle": "两步验证",
|
||||
"twoFactorAuthTitle": "双重认证",
|
||||
"passkeyAuthTitle": "通行密钥验证",
|
||||
"verifyPasskey": "验证通行密钥",
|
||||
"loginWithTOTP": "使用 TOTP 登录",
|
||||
@@ -519,5 +520,12 @@
|
||||
"algorithm": "算法",
|
||||
"type": "类型",
|
||||
"period": "周期",
|
||||
"digits": "数字"
|
||||
"digits": "数字",
|
||||
"importFromGallery": "从图库导入",
|
||||
"errorCouldNotReadImage": "无法读取所选图片文件。",
|
||||
"errorInvalidQRCode": "二维码无效",
|
||||
"errorInvalidQRCodeBody": "扫描的二维码不是有效的双重认证账户。",
|
||||
"errorNoQRCode": "未找到二维码",
|
||||
"errorGenericTitle": "出错了",
|
||||
"errorGenericBody": "导入时发生意外错误。"
|
||||
}
|
||||
@@ -99,7 +99,7 @@ Future<void> _runInForeground() async {
|
||||
return await _runWithLogs(() async {
|
||||
_logger.info("Starting app in foreground");
|
||||
try {
|
||||
await _init(false, via: 'mainMethod');
|
||||
await init(false, via: 'mainMethod');
|
||||
} catch (e, s) {
|
||||
_logger.severe("Failed to init", e, s);
|
||||
rethrow;
|
||||
@@ -160,7 +160,7 @@ void _registerWindowsProtocol() {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _init(bool bool, {String? via}) async {
|
||||
Future<void> init(bool bool, {String? via}) async {
|
||||
_registerWindowsProtocol();
|
||||
await CryptoUtil.init();
|
||||
|
||||
|
||||
@@ -39,7 +39,9 @@ import 'package:ente_auth/utils/totp_util.dart';
|
||||
import 'package:ente_events/event_bus.dart';
|
||||
import 'package:ente_lock_screen/lock_screen_settings.dart';
|
||||
import 'package:ente_lock_screen/ui/app_lock.dart';
|
||||
import 'package:ente_qr/ente_qr.dart';
|
||||
import 'package:ente_ui/pages/base_home_page.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
@@ -48,7 +50,7 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:move_to_background/move_to_background.dart';
|
||||
|
||||
class HomePage extends BaseHomePage {
|
||||
class HomePage extends BaseHomePage {
|
||||
const HomePage({super.key});
|
||||
|
||||
@override
|
||||
@@ -62,6 +64,7 @@ class _HomePageState extends State<HomePage> {
|
||||
);
|
||||
bool _hasLoaded = false;
|
||||
bool _isSettingsOpen = false;
|
||||
bool _isImportingFromGallery = false;
|
||||
final Logger _logger = Logger("HomePage");
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
@@ -288,6 +291,63 @@ class _HomePageState extends State<HomePage> {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _importFromGalleryNative() async {
|
||||
final l10n = AppLocalizations.of(context);
|
||||
|
||||
if (_isImportingFromGallery) {
|
||||
return;
|
||||
}
|
||||
|
||||
_isImportingFromGallery = true;
|
||||
|
||||
try {
|
||||
final FilePickerResult? result = await FilePicker.platform.pickFiles(
|
||||
type: FileType.image,
|
||||
);
|
||||
|
||||
if (result == null || result.files.single.path == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final String imagePath = result.files.single.path!;
|
||||
final enteQr = EnteQr();
|
||||
final QrScanResult qrResult = await enteQr.scanQrFromImage(imagePath);
|
||||
|
||||
if (qrResult.success && qrResult.content != null) {
|
||||
try {
|
||||
final newCode = Code.fromOTPAuthUrl(qrResult.content!);
|
||||
await CodeStore.instance.addCode(newCode, shouldSync: false);
|
||||
// Focus the new code by searching
|
||||
if ((_allCodes?.where((e) => !e.hasError).length ?? 0) > 2) {
|
||||
_focusNewCode(newCode);
|
||||
}
|
||||
} catch (e) {
|
||||
_logger.severe('Error adding code from QR scan', e);
|
||||
await showErrorDialog(
|
||||
context,
|
||||
l10n.errorInvalidQRCode,
|
||||
l10n.errorInvalidQRCodeBody,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
_logger.warning('QR scan failed: ${qrResult.error}');
|
||||
await showErrorDialog(
|
||||
context,
|
||||
l10n.errorNoQRCode,
|
||||
qrResult.error ?? l10n.errorNoQRCode,
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
l10n.errorGenericTitle,
|
||||
l10n.errorGenericBody,
|
||||
);
|
||||
} finally {
|
||||
_isImportingFromGallery = false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _redirectToScannerPage() async {
|
||||
final Code? code = await Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
@@ -745,6 +805,14 @@ class _HomePageState extends State<HomePage> {
|
||||
labelWidget: SpeedDialLabelWidget(context.l10n.enterDetailsManually),
|
||||
onTap: _redirectToManualEntryPage,
|
||||
),
|
||||
if (PlatformUtil.isMobile())
|
||||
SpeedDialChild(
|
||||
child: const Icon(Icons.image),
|
||||
backgroundColor: Theme.of(context).colorScheme.fabBackgroundColor,
|
||||
foregroundColor: Theme.of(context).colorScheme.fabForegroundColor,
|
||||
labelWidget: SpeedDialLabelWidget(context.l10n.importFromGallery),
|
||||
onTap: _importFromGalleryNative,
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:ente_auth/ui/settings/data/import/encrypted_ente_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/google_auth_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/lastpass_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/plain_text_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/proton_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/raivo_plain_text_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/two_fas_import.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import_page.dart';
|
||||
@@ -43,6 +44,9 @@ class ImportService {
|
||||
case ImportType.lastpass:
|
||||
await showLastpassImportInstruction(context);
|
||||
break;
|
||||
case ImportType.proton:
|
||||
await showProtonImportInstruction(context);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
171
mobile/apps/auth/lib/ui/settings/data/import/proton_import.dart
Normal file
@@ -0,0 +1,171 @@
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/models/code.dart';
|
||||
import 'package:ente_auth/services/authenticator_service.dart';
|
||||
import 'package:ente_auth/store/code_store.dart';
|
||||
import 'package:ente_auth/ui/common/progress_dialog.dart';
|
||||
import 'package:ente_auth/ui/components/buttons/button_widget.dart';
|
||||
import 'package:ente_auth/ui/components/dialog_widget.dart';
|
||||
import 'package:ente_auth/ui/components/models/button_type.dart';
|
||||
import 'package:ente_auth/ui/settings/data/import/import_success.dart';
|
||||
import 'package:ente_auth/utils/dialog_util.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
Future<void> showProtonImportInstruction(BuildContext context) async {
|
||||
final l10n = context.l10n;
|
||||
final result = await showDialogWidget(
|
||||
context: context,
|
||||
title: l10n.importFromApp("Proton Authenticator"),
|
||||
body: l10n.importProtonAuthGuide,
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.primary,
|
||||
labelText: l10n.importSelectJsonFile,
|
||||
isInAlert: true,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.first,
|
||||
),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.secondary,
|
||||
labelText: context.l10n.cancel,
|
||||
buttonSize: ButtonSize.large,
|
||||
isInAlert: true,
|
||||
buttonAction: ButtonAction.second,
|
||||
),
|
||||
],
|
||||
);
|
||||
if (result?.action != null && result!.action != ButtonAction.cancel) {
|
||||
if (result.action == ButtonAction.first) {
|
||||
await _pickProtonJsonFile(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _pickProtonJsonFile(BuildContext context) async {
|
||||
final l10n = context.l10n;
|
||||
FilePickerResult? result = await FilePicker.platform
|
||||
.pickFiles(dialogTitle: l10n.importSelectJsonFile);
|
||||
if (result == null) {
|
||||
return;
|
||||
}
|
||||
final ProgressDialog progressDialog =
|
||||
createProgressDialog(context, l10n.pleaseWait);
|
||||
await progressDialog.show();
|
||||
try {
|
||||
String path = result.files.single.path!;
|
||||
int? count = await _processProtonExportFile(context, path, progressDialog);
|
||||
await progressDialog.hide();
|
||||
if (count != null) {
|
||||
await importSuccessDialog(context, count);
|
||||
}
|
||||
} catch (e, s) {
|
||||
Logger('ProtonImport')
|
||||
.severe('exception while processing proton import', e, s);
|
||||
await progressDialog.hide();
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.sorry,
|
||||
"${context.l10n.importFailureDescNew}\n Error: ${e.toString()}",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Future<int?> _processProtonExportFile(
|
||||
BuildContext context,
|
||||
String path,
|
||||
final ProgressDialog dialog,
|
||||
) async {
|
||||
File file = File(path);
|
||||
|
||||
final jsonString = await file.readAsString();
|
||||
final decodedJson = jsonDecode(jsonString);
|
||||
|
||||
// Validate that this is a Proton export
|
||||
if (decodedJson['version'] == null || decodedJson['entries'] == null) {
|
||||
await dialog.hide();
|
||||
await showErrorDialog(
|
||||
context,
|
||||
'Invalid Proton export',
|
||||
'The selected file is not a valid Proton Authenticator export.',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
|
||||
final parsedCodes = <Code>[];
|
||||
final entries = decodedJson['entries'] as List;
|
||||
|
||||
for (var entry in entries) {
|
||||
try {
|
||||
final content = entry['content'];
|
||||
if (content == null) {
|
||||
continue; // Skip entries without content
|
||||
}
|
||||
|
||||
final entryType = content['entry_type'] as String?;
|
||||
if (entryType != 'Totp' && entryType != 'Steam') {
|
||||
// log warning
|
||||
Logger('ProtonImport').warning('Unsupported entry type: $entryType');
|
||||
continue; // Skip non-TOTP and non-Steam entries
|
||||
}
|
||||
|
||||
Code code;
|
||||
|
||||
if (entryType == 'Steam') {
|
||||
// Handle Steam entries with steam:// format
|
||||
final steamUri = content['uri'] as String?;
|
||||
if (steamUri == null || !steamUri.startsWith('steam://')) {
|
||||
continue; // Skip invalid Steam URIs
|
||||
}
|
||||
|
||||
final secret = steamUri.split('steam://')[1];
|
||||
final name = content['name'] as String? ?? '';
|
||||
|
||||
code = Code.fromAccountAndSecret(
|
||||
Type.steam,
|
||||
'', // Steam doesn't typically have separate account
|
||||
name, // Use name as issuer
|
||||
secret,
|
||||
null,
|
||||
Code.steamDigits,
|
||||
);
|
||||
} else {
|
||||
// Handle TOTP entries with otpauth:// format
|
||||
final otpUri = content['uri'] as String?;
|
||||
if (otpUri == null || !otpUri.startsWith('otpauth://')) {
|
||||
continue; // Skip invalid OTP URIs
|
||||
}
|
||||
// Create code from OTP auth URL
|
||||
code = Code.fromOTPAuthUrl(otpUri);
|
||||
}
|
||||
|
||||
// Add note if present
|
||||
final note = entry['note'] as String?;
|
||||
if (note != null && note.isNotEmpty) {
|
||||
code = code.copyWith(
|
||||
display: code.display.copyWith(note: note),
|
||||
);
|
||||
}
|
||||
|
||||
parsedCodes.add(code);
|
||||
} catch (e, s) {
|
||||
Logger('ProtonImport').warning('Failed to parse entry', e, s);
|
||||
// Continue processing other entries
|
||||
}
|
||||
}
|
||||
|
||||
// Add all parsed codes to the store
|
||||
for (final code in parsedCodes) {
|
||||
await CodeStore.instance.addCode(code, shouldSync: false);
|
||||
}
|
||||
|
||||
// Trigger sync
|
||||
unawaited(AuthenticatorService.instance.onlineSync());
|
||||
|
||||
return parsedCodes.length;
|
||||
}
|
||||
@@ -17,6 +17,7 @@ enum ImportType {
|
||||
twoFas,
|
||||
bitwarden,
|
||||
lastpass,
|
||||
proton,
|
||||
}
|
||||
|
||||
class ImportCodePage extends StatelessWidget {
|
||||
@@ -29,6 +30,7 @@ class ImportCodePage extends StatelessWidget {
|
||||
ImportType.aegis,
|
||||
ImportType.bitwarden,
|
||||
ImportType.googleAuthenticator,
|
||||
ImportType.proton,
|
||||
ImportType.ravio,
|
||||
ImportType.lastpass,
|
||||
];
|
||||
@@ -51,6 +53,8 @@ class ImportCodePage extends StatelessWidget {
|
||||
return 'Bitwarden';
|
||||
case ImportType.lastpass:
|
||||
return 'LastPass Authenticator';
|
||||
case ImportType.proton:
|
||||
return 'Proton Authenticator';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
33
mobile/apps/auth/plugins/qr/.metadata
Normal file
@@ -0,0 +1,33 @@
|
||||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49"
|
||||
channel: "stable"
|
||||
|
||||
project_type: plugin
|
||||
|
||||
# Tracks metadata for the flutter migrate command
|
||||
migration:
|
||||
platforms:
|
||||
- platform: root
|
||||
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
|
||||
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
|
||||
- platform: android
|
||||
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
|
||||
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
|
||||
- platform: ios
|
||||
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
|
||||
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
|
||||
|
||||
# User provided section
|
||||
|
||||
# List of Local paths (relative to this file) that should be
|
||||
# ignored by the migrate tool.
|
||||
#
|
||||
# Files that are not part of the templates will be ignored by default.
|
||||
unmanaged_files:
|
||||
- 'lib/main.dart'
|
||||
- 'ios/Runner.xcodeproj/project.pbxproj'
|
||||
8
mobile/apps/auth/plugins/qr/CHANGELOG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
## 0.0.1
|
||||
|
||||
* Initial release of ente_qr plugin
|
||||
* Support for scanning QR codes from image files
|
||||
* Android implementation using ZXing library
|
||||
* iOS implementation using Core Image framework
|
||||
* Comprehensive error handling
|
||||
* Example app demonstrating usage with file picker
|
||||
170
mobile/apps/auth/plugins/qr/README.md
Normal file
@@ -0,0 +1,170 @@
|
||||
# ente_qr
|
||||
|
||||
A Flutter plugin for scanning QR codes from image files. This plugin provides a simple interface to scan QR codes from images on both Android and iOS platforms.
|
||||
|
||||
## Features
|
||||
|
||||
- Scan QR codes from image files
|
||||
- Support for Android (using ZXing library)
|
||||
- Support for iOS (using AVFoundation/Core Image)
|
||||
- Returns structured results with error handling
|
||||
- Works with images from file picker or camera
|
||||
|
||||
## Platform Support
|
||||
|
||||
| Platform | Support |
|
||||
|----------|---------|
|
||||
| Android | ✅ |
|
||||
| iOS | ✅ |
|
||||
| Web | ❌ |
|
||||
| macOS | ❌ |
|
||||
| Windows | ❌ |
|
||||
| Linux | ❌ |
|
||||
|
||||
## Installation
|
||||
|
||||
Add this to your package's `pubspec.yaml` file:
|
||||
|
||||
```yaml
|
||||
dependencies:
|
||||
ente_qr:
|
||||
path: path/to/ente_qr
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```dart
|
||||
import 'package:ente_qr/ente_qr.dart';
|
||||
|
||||
final qr = EnteQr();
|
||||
|
||||
// Scan QR code from an image file
|
||||
final result = await qr.scanQrFromImage('/path/to/image.jpg');
|
||||
|
||||
if (result.success) {
|
||||
print('QR Code content: ${result.content}');
|
||||
} else {
|
||||
print('Error: ${result.error}');
|
||||
}
|
||||
```
|
||||
|
||||
### Complete Example with File Picker
|
||||
|
||||
```dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:ente_qr/ente_qr.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
|
||||
class QrScannerPage extends StatefulWidget {
|
||||
@override
|
||||
_QrScannerPageState createState() => _QrScannerPageState();
|
||||
}
|
||||
|
||||
class _QrScannerPageState extends State<QrScannerPage> {
|
||||
final _enteQr = EnteQr();
|
||||
String _result = 'No QR code scanned';
|
||||
|
||||
Future<void> _scanQrFromImage() async {
|
||||
// Pick an image file
|
||||
FilePickerResult? fileResult = await FilePicker.platform.pickFiles(
|
||||
type: FileType.image,
|
||||
allowMultiple: false,
|
||||
);
|
||||
|
||||
if (fileResult != null && fileResult.files.single.path != null) {
|
||||
final imagePath = fileResult.files.single.path!;
|
||||
|
||||
// Scan QR code from the selected image
|
||||
final qrResult = await _enteQr.scanQrFromImage(imagePath);
|
||||
|
||||
setState(() {
|
||||
if (qrResult.success) {
|
||||
_result = 'QR Code: ${qrResult.content}';
|
||||
} else {
|
||||
_result = 'Error: ${qrResult.error}';
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: Text('QR Scanner')),
|
||||
body: Column(
|
||||
children: [
|
||||
ElevatedButton(
|
||||
onPressed: _scanQrFromImage,
|
||||
child: Text('Pick Image and Scan QR'),
|
||||
),
|
||||
Text(_result),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## API Reference
|
||||
|
||||
### EnteQr
|
||||
|
||||
The main class for QR code scanning operations.
|
||||
|
||||
#### Methods
|
||||
|
||||
##### `scanQrFromImage(String imagePath)`
|
||||
|
||||
Scans a QR code from an image file.
|
||||
|
||||
**Parameters:**
|
||||
- `imagePath` (String): The file path to the image containing the QR code
|
||||
|
||||
**Returns:**
|
||||
- `Future<QrScanResult>`: A result object containing either the QR code content or an error
|
||||
|
||||
### QrScanResult
|
||||
|
||||
The result object returned by QR scanning operations.
|
||||
|
||||
**Properties:**
|
||||
- `content` (String?): The QR code content if successful, null otherwise
|
||||
- `error` (String?): Error message if scanning failed, null otherwise
|
||||
- `success` (bool): Whether the scanning operation was successful
|
||||
|
||||
**Factory Constructors:**
|
||||
- `QrScanResult.success(String content)`: Creates a successful result
|
||||
- `QrScanResult.error(String error)`: Creates an error result
|
||||
|
||||
## Implementation Details
|
||||
|
||||
### Android
|
||||
|
||||
The Android implementation uses the ZXing library (com.google.zxing) for QR code detection:
|
||||
- `com.journeyapps:zxing-android-embedded:4.3.0`
|
||||
- `com.google.zxing:core:3.5.1`
|
||||
|
||||
### iOS
|
||||
|
||||
The iOS implementation uses Core Image framework's built-in QR code detection capabilities via `CIDetector`.
|
||||
|
||||
## Error Handling
|
||||
|
||||
The plugin provides comprehensive error handling for common scenarios:
|
||||
- File not found
|
||||
- Invalid image format
|
||||
- No QR code found in image
|
||||
- Platform-specific errors
|
||||
- Unexpected errors
|
||||
|
||||
All errors are returned as part of the `QrScanResult` object with descriptive error messages.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the same license as the Ente project.
|
||||
1
mobile/apps/auth/plugins/qr/analysis_options.yaml
Normal file
@@ -0,0 +1 @@
|
||||
include: ../../analysis_options.yaml
|
||||
65
mobile/apps/auth/plugins/qr/android/build.gradle
Normal file
@@ -0,0 +1,65 @@
|
||||
group 'io.ente.auth.ente_qr'
|
||||
version '1.0-SNAPSHOT'
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.7.10'
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.3.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.allprojects {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
android {
|
||||
compileSdkVersion 33
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
test.java.srcDirs += 'src/test/kotlin'
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
|
||||
implementation 'com.google.zxing:core:3.5.1'
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.all {
|
||||
useJUnitPlatform()
|
||||
|
||||
testLogging {
|
||||
events "passed", "skipped", "failed", "standardOut", "standardError"
|
||||
outputs.upToDateWhen {false}
|
||||
showStandardStreams = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
mobile/apps/auth/plugins/qr/android/settings.gradle
Normal file
@@ -0,0 +1 @@
|
||||
rootProject.name = 'ente_qr'
|
||||
@@ -0,0 +1,3 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="io.ente.auth.ente_qr">
|
||||
</manifest>
|
||||
@@ -0,0 +1,138 @@
|
||||
package io.ente.auth.ente_qr
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.BitmapFactory
|
||||
import androidx.annotation.NonNull
|
||||
import com.google.zxing.BarcodeFormat
|
||||
import com.google.zxing.BinaryBitmap
|
||||
import com.google.zxing.DecodeHintType
|
||||
import com.google.zxing.MultiFormatReader
|
||||
import com.google.zxing.NotFoundException
|
||||
import com.google.zxing.RGBLuminanceSource
|
||||
import com.google.zxing.Result as ZXingResult
|
||||
import com.google.zxing.common.HybridBinarizer
|
||||
import io.flutter.embedding.engine.plugins.FlutterPlugin
|
||||
import io.flutter.plugin.common.MethodCall
|
||||
import io.flutter.plugin.common.MethodChannel
|
||||
import io.flutter.plugin.common.MethodChannel.MethodCallHandler
|
||||
import io.flutter.plugin.common.MethodChannel.Result
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
/** EnteQrPlugin */
|
||||
class EnteQrPlugin: FlutterPlugin, MethodCallHandler {
|
||||
/// The MethodChannel that will the communication between Flutter and native Android
|
||||
///
|
||||
/// This local reference serves to register the plugin with the Flutter Engine and unregister it
|
||||
/// when the Flutter Engine is detached from the Activity
|
||||
private lateinit var channel : MethodChannel
|
||||
|
||||
override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
|
||||
channel = MethodChannel(flutterPluginBinding.binaryMessenger, "ente_qr")
|
||||
channel.setMethodCallHandler(this)
|
||||
}
|
||||
|
||||
override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
|
||||
when (call.method) {
|
||||
"getPlatformVersion" -> {
|
||||
result.success("Android ${android.os.Build.VERSION.RELEASE}")
|
||||
}
|
||||
"scanQrFromImage" -> {
|
||||
val imagePath = call.argument<String>("imagePath")
|
||||
if (imagePath == null) {
|
||||
result.success(mapOf(
|
||||
"success" to false,
|
||||
"error" to "Image path is required"
|
||||
))
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
val qrResult = scanQrCode(imagePath)
|
||||
result.success(qrResult)
|
||||
} catch (e: Exception) {
|
||||
result.success(mapOf(
|
||||
"success" to false,
|
||||
"error" to "Error scanning QR code: ${e.message}"
|
||||
))
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
result.notImplemented()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun scanQrCode(imagePath: String): Map<String, Any> {
|
||||
try {
|
||||
val file = File(imagePath)
|
||||
if (!file.exists()) {
|
||||
return mapOf(
|
||||
"success" to false,
|
||||
"error" to "Image file not found: $imagePath"
|
||||
)
|
||||
}
|
||||
|
||||
var bitmap = BitmapFactory.decodeFile(imagePath)
|
||||
if (bitmap == null) {
|
||||
return mapOf(
|
||||
"success" to false,
|
||||
"error" to "Unable to decode image file"
|
||||
)
|
||||
}
|
||||
|
||||
// Try multiple times with different image sizes like Aegis does
|
||||
for (i in 0..2) {
|
||||
if (i != 0) {
|
||||
// Resize bitmap for subsequent attempts
|
||||
val newWidth = bitmap.width / (i * 2)
|
||||
val newHeight = bitmap.height / (i * 2)
|
||||
if (newWidth > 0 && newHeight > 0) {
|
||||
bitmap = Bitmap.createScaledBitmap(bitmap, newWidth, newHeight, true)
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
val width = bitmap.width
|
||||
val height = bitmap.height
|
||||
val pixels = IntArray(width * height)
|
||||
bitmap.getPixels(pixels, 0, width, 0, 0, width, height)
|
||||
|
||||
val source = RGBLuminanceSource(width, height, pixels)
|
||||
val binaryBitmap = BinaryBitmap(HybridBinarizer(source))
|
||||
|
||||
val reader = MultiFormatReader()
|
||||
val hints = HashMap<DecodeHintType, Any>()
|
||||
hints[DecodeHintType.POSSIBLE_FORMATS] = listOf(BarcodeFormat.QR_CODE)
|
||||
hints[DecodeHintType.TRY_HARDER] = true
|
||||
hints[DecodeHintType.ALSO_INVERTED] = true
|
||||
reader.setHints(hints)
|
||||
|
||||
val qrResult: ZXingResult = reader.decode(binaryBitmap)
|
||||
|
||||
return mapOf(
|
||||
"success" to true,
|
||||
"content" to qrResult.text
|
||||
)
|
||||
} catch (e: NotFoundException) {
|
||||
// Continue to next iteration
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
return mapOf(
|
||||
"success" to false,
|
||||
"error" to "No QR code found in image"
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
return mapOf(
|
||||
"success" to false,
|
||||
"error" to "Error scanning QR code: ${e.message}"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
channel.setMethodCallHandler(null)
|
||||
}
|
||||
}
|
||||
77
mobile/apps/auth/plugins/qr/ios/Classes/EnteQrPlugin.swift
Normal file
@@ -0,0 +1,77 @@
|
||||
import Flutter
|
||||
import UIKit
|
||||
import AVFoundation
|
||||
|
||||
public class EnteQrPlugin: NSObject, FlutterPlugin {
|
||||
public static func register(with registrar: FlutterPluginRegistrar) {
|
||||
let channel = FlutterMethodChannel(name: "ente_qr", binaryMessenger: registrar.messenger())
|
||||
let instance = EnteQrPlugin()
|
||||
registrar.addMethodCallDelegate(instance, channel: channel)
|
||||
}
|
||||
|
||||
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
||||
switch call.method {
|
||||
case "getPlatformVersion":
|
||||
result("iOS " + UIDevice.current.systemVersion)
|
||||
case "scanQrFromImage":
|
||||
guard let args = call.arguments as? [String: Any],
|
||||
let imagePath = args["imagePath"] as? String else {
|
||||
result([
|
||||
"success": false,
|
||||
"error": "Image path is required"
|
||||
])
|
||||
return
|
||||
}
|
||||
|
||||
scanQrCode(from: imagePath, result: result)
|
||||
default:
|
||||
result(FlutterMethodNotImplemented)
|
||||
}
|
||||
}
|
||||
|
||||
private func scanQrCode(from imagePath: String, result: @escaping FlutterResult) {
|
||||
guard let image = UIImage(contentsOfFile: imagePath) else {
|
||||
result([
|
||||
"success": false,
|
||||
"error": "Unable to load image from path: \(imagePath)"
|
||||
])
|
||||
return
|
||||
}
|
||||
|
||||
guard let cgImage = image.cgImage else {
|
||||
result([
|
||||
"success": false,
|
||||
"error": "Unable to get CGImage from UIImage"
|
||||
])
|
||||
return
|
||||
}
|
||||
|
||||
let detector = CIDetector(ofType: CIDetectorTypeQRCode,
|
||||
context: nil,
|
||||
options: [CIDetectorAccuracy: CIDetectorAccuracyHigh])
|
||||
|
||||
guard let qrDetector = detector else {
|
||||
result([
|
||||
"success": false,
|
||||
"error": "Unable to create QR code detector"
|
||||
])
|
||||
return
|
||||
}
|
||||
|
||||
let ciImage = CIImage(cgImage: cgImage)
|
||||
let features = qrDetector.features(in: ciImage)
|
||||
|
||||
if let qrFeature = features.first as? CIQRCodeFeature,
|
||||
let messageString = qrFeature.messageString {
|
||||
result([
|
||||
"success": true,
|
||||
"content": messageString
|
||||
])
|
||||
} else {
|
||||
result([
|
||||
"success": false,
|
||||
"error": "No QR code found in image"
|
||||
])
|
||||
}
|
||||
}
|
||||
}
|
||||
23
mobile/apps/auth/plugins/qr/ios/ente_qr.podspec
Normal file
@@ -0,0 +1,23 @@
|
||||
#
|
||||
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
|
||||
# Run `pod lib lint ente_qr.podspec` to validate before publishing.
|
||||
#
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'ente_qr'
|
||||
s.version = '0.0.1'
|
||||
s.summary = 'A QR code reader plugin for Ente.'
|
||||
s.description = <<-DESC
|
||||
A QR code reader plugin for Ente.
|
||||
DESC
|
||||
s.homepage = 'https://ente.io'
|
||||
s.license = { :file => '../LICENSE' }
|
||||
s.author = { 'Ente' => 'team@ente.io' }
|
||||
s.source = { :path => '.' }
|
||||
s.source_files = 'Classes/**/*'
|
||||
s.dependency 'Flutter'
|
||||
s.platform = :ios, '9.0'
|
||||
|
||||
# Flutter.framework does not contain a i386 slice.
|
||||
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
|
||||
s.swift_version = '5.0'
|
||||
end
|
||||
30
mobile/apps/auth/plugins/qr/lib/ente_qr.dart
Normal file
@@ -0,0 +1,30 @@
|
||||
import 'package:ente_qr/ente_qr_platform_interface.dart';
|
||||
|
||||
export 'ente_qr_platform_interface.dart' show QrScanResult;
|
||||
|
||||
class EnteQr {
|
||||
Future<String?> getPlatformVersion() {
|
||||
return EnteQrPlatform.instance.getPlatformVersion();
|
||||
}
|
||||
|
||||
/// Scans a QR code from an image file at the given path.
|
||||
///
|
||||
/// [imagePath] - The file path to the image containing the QR code
|
||||
///
|
||||
/// Returns a [QrScanResult] containing either the QR code content on success
|
||||
/// or an error message on failure.
|
||||
///
|
||||
/// Example:
|
||||
/// ```dart
|
||||
/// final qr = EnteQr();
|
||||
/// final result = await qr.scanQrFromImage('/path/to/image.jpg');
|
||||
/// if (result.success) {
|
||||
/// print('QR Code content: ${result.content}');
|
||||
/// } else {
|
||||
/// print('Error: ${result.error}');
|
||||
/// }
|
||||
/// ```
|
||||
Future<QrScanResult> scanQrFromImage(String imagePath) {
|
||||
return EnteQrPlatform.instance.scanQrFromImage(imagePath);
|
||||
}
|
||||
}
|
||||
52
mobile/apps/auth/plugins/qr/lib/ente_qr_method_channel.dart
Normal file
@@ -0,0 +1,52 @@
|
||||
import 'package:ente_qr/ente_qr_platform_interface.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
/// An implementation of [EnteQrPlatform] that uses method channels.
|
||||
class MethodChannelEnteQr extends EnteQrPlatform {
|
||||
/// The method channel used to interact with the native platform.
|
||||
@visibleForTesting
|
||||
final methodChannel = const MethodChannel('ente_qr');
|
||||
|
||||
@override
|
||||
Future<String?> getPlatformVersion() async {
|
||||
final version =
|
||||
await methodChannel.invokeMethod<String>('getPlatformVersion');
|
||||
return version;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<QrScanResult> scanQrFromImage(String imagePath) async {
|
||||
try {
|
||||
final dynamic result = await methodChannel.invokeMethod(
|
||||
'scanQrFromImage',
|
||||
{'imagePath': imagePath},
|
||||
);
|
||||
|
||||
if (result == null) {
|
||||
return QrScanResult.error('Failed to scan QR code');
|
||||
}
|
||||
|
||||
// Convert to Map<String, dynamic> safely
|
||||
final Map<String, dynamic> resultMap =
|
||||
Map<String, dynamic>.from(result as Map);
|
||||
|
||||
final bool success = resultMap['success'] as bool? ?? false;
|
||||
if (success) {
|
||||
final String? content = resultMap['content'] as String?;
|
||||
if (content != null && content.isNotEmpty) {
|
||||
return QrScanResult.success(content);
|
||||
} else {
|
||||
return QrScanResult.error('No QR code found in image');
|
||||
}
|
||||
} else {
|
||||
final String? error = resultMap['error'] as String?;
|
||||
return QrScanResult.error(error ?? 'Unknown error occurred');
|
||||
}
|
||||
} on PlatformException catch (e) {
|
||||
return QrScanResult.error('Platform error: ${e.message}');
|
||||
} catch (e) {
|
||||
return QrScanResult.error('Unexpected error: $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
import 'package:ente_qr/ente_qr_method_channel.dart';
|
||||
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
|
||||
|
||||
/// The result of QR code scanning
|
||||
class QrScanResult {
|
||||
final String? content;
|
||||
final String? error;
|
||||
final bool success;
|
||||
|
||||
const QrScanResult({
|
||||
this.content,
|
||||
this.error,
|
||||
required this.success,
|
||||
});
|
||||
|
||||
factory QrScanResult.success(String content) {
|
||||
return QrScanResult(
|
||||
content: content,
|
||||
success: true,
|
||||
);
|
||||
}
|
||||
|
||||
factory QrScanResult.error(String error) {
|
||||
return QrScanResult(
|
||||
error: error,
|
||||
success: false,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class EnteQrPlatform extends PlatformInterface {
|
||||
/// Constructs a EnteQrPlatform.
|
||||
EnteQrPlatform() : super(token: _token);
|
||||
|
||||
static final Object _token = Object();
|
||||
|
||||
static EnteQrPlatform _instance = MethodChannelEnteQr();
|
||||
|
||||
/// The default instance of [EnteQrPlatform] to use.
|
||||
///
|
||||
/// Defaults to [MethodChannelEnteQr].
|
||||
static EnteQrPlatform get instance => _instance;
|
||||
|
||||
/// Platform-specific implementations should set this with their own
|
||||
/// platform-specific class that extends [EnteQrPlatform] when
|
||||
/// they register themselves.
|
||||
static set instance(EnteQrPlatform instance) {
|
||||
PlatformInterface.verifyToken(instance, _token);
|
||||
_instance = instance;
|
||||
}
|
||||
|
||||
Future<String?> getPlatformVersion() {
|
||||
throw UnimplementedError('platformVersion() has not been implemented.');
|
||||
}
|
||||
|
||||
/// Scans a QR code from an image file at the given path.
|
||||
/// Returns the QR code content as a string if successful, null otherwise.
|
||||
Future<QrScanResult> scanQrFromImage(String imagePath) {
|
||||
throw UnimplementedError('scanQrFromImage() has not been implemented.');
|
||||
}
|
||||
}
|
||||
213
mobile/apps/auth/plugins/qr/pubspec.lock
Normal file
@@ -0,0 +1,213 @@
|
||||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.13.0"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: boolean_selector
|
||||
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: characters
|
||||
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.4.0"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: clock
|
||||
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
collection:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.19.1"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fake_async
|
||||
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.3"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_lints
|
||||
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
leak_tracker:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker
|
||||
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.0.9"
|
||||
leak_tracker_flutter_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker_flutter_testing
|
||||
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.9"
|
||||
leak_tracker_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker_testing
|
||||
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
lints:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: lints
|
||||
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: matcher
|
||||
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.12.17"
|
||||
material_color_utilities:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: material_color_utilities
|
||||
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.11.1"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.16.0"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.1"
|
||||
plugin_platform_interface:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: plugin_platform_interface
|
||||
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.8"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_span
|
||||
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.1"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stack_trace
|
||||
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.1"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stream_channel
|
||||
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
string_scanner:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: string_scanner
|
||||
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.4.1"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: term_glyph
|
||||
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.2"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.4"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
vm_service:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vm_service
|
||||
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "15.0.0"
|
||||
sdks:
|
||||
dart: ">=3.7.0-0 <4.0.0"
|
||||
flutter: ">=3.18.0-18.0.pre.54"
|
||||
29
mobile/apps/auth/plugins/qr/pubspec.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
name: ente_qr
|
||||
description: "A QR code reader plugin for Ente."
|
||||
version: 0.0.1
|
||||
homepage: https://ente.io
|
||||
|
||||
environment:
|
||||
sdk: '>=3.4.3 <4.0.0'
|
||||
flutter: '>=3.3.0'
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
plugin_platform_interface: ^2.0.2
|
||||
|
||||
dev_dependencies:
|
||||
flutter_lints: ^3.0.0
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
# The following section is specific to Flutter packages.
|
||||
flutter:
|
||||
# This section identifies this Flutter project as a plugin project.
|
||||
plugin:
|
||||
platforms:
|
||||
android:
|
||||
package: io.ente.auth.ente_qr
|
||||
pluginClass: EnteQrPlugin
|
||||
ios:
|
||||
pluginClass: EnteQrPlugin
|
||||
32
mobile/apps/auth/plugins/qr/test/ente_qr_test.dart
Normal file
@@ -0,0 +1,32 @@
|
||||
import 'package:ente_qr/ente_qr.dart';
|
||||
import 'package:ente_qr/ente_qr_method_channel.dart';
|
||||
import 'package:ente_qr/ente_qr_platform_interface.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
|
||||
|
||||
class MockEnteQrPlatform
|
||||
with MockPlatformInterfaceMixin
|
||||
implements EnteQrPlatform {
|
||||
@override
|
||||
Future<String?> getPlatformVersion() => Future.value('42');
|
||||
|
||||
@override
|
||||
Future<QrScanResult> scanQrFromImage(String imagePath) =>
|
||||
Future.value(QrScanResult.error('Mock implementation'));
|
||||
}
|
||||
|
||||
void main() {
|
||||
final EnteQrPlatform initialPlatform = EnteQrPlatform.instance;
|
||||
|
||||
test('$MethodChannelEnteQr is the default instance', () {
|
||||
expect(initialPlatform, isInstanceOf<MethodChannelEnteQr>());
|
||||
});
|
||||
|
||||
test('getPlatformVersion', () async {
|
||||
final EnteQr enteQrPlugin = EnteQr();
|
||||
final MockEnteQrPlatform fakePlatform = MockEnteQrPlatform();
|
||||
EnteQrPlatform.instance = fakePlatform;
|
||||
|
||||
expect(await enteQrPlugin.getPlatformVersion(), '42');
|
||||
});
|
||||
}
|
||||
@@ -451,6 +451,13 @@ packages:
|
||||
relative: true
|
||||
source: path
|
||||
version: "1.0.0"
|
||||
ente_qr:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "plugins/qr"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
ente_strings:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -466,7 +473,7 @@ packages:
|
||||
source: path
|
||||
version: "1.0.0"
|
||||
ente_utils:
|
||||
dependency: transitive
|
||||
dependency: "direct overridden"
|
||||
description:
|
||||
path: "../../packages/utils"
|
||||
relative: true
|
||||
@@ -532,10 +539,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: file_picker
|
||||
sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a
|
||||
sha256: e7e16c9d15c36330b94ca0e2ad8cb61f93cd5282d0158c09805aed13b5452f22
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.2.0"
|
||||
version: "10.3.2"
|
||||
file_saver:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -598,6 +605,11 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
flutter_driver:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_email_sender:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -846,6 +858,11 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
fuchsia_remote_debug_protocol:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
glob:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -951,13 +968,18 @@ packages:
|
||||
source: hosted
|
||||
version: "0.1.0"
|
||||
image:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image
|
||||
sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.5.4"
|
||||
integration_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
intl:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1351,6 +1373,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.0.8"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: process
|
||||
sha256: "107d8be718f120bbba9dcd1e95e3bd325b1b4a4f07db64154635ba03f2567a0d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.3"
|
||||
protobuf:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1733,6 +1763,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.1.0"
|
||||
sync_http:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sync_http
|
||||
sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.1"
|
||||
synchronized:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1965,6 +2003,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.3"
|
||||
webdriver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webdriver
|
||||
sha256: "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
win32:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: ente_auth
|
||||
description: ente two-factor authenticator
|
||||
version: 4.4.6+446
|
||||
version: 4.4.7+447
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
@@ -41,6 +41,8 @@ dependencies:
|
||||
path: ../../packages/logging
|
||||
ente_network:
|
||||
path: ../../packages/network
|
||||
ente_qr:
|
||||
path: plugins/qr
|
||||
ente_strings:
|
||||
path: ../../packages/strings
|
||||
ente_ui:
|
||||
@@ -50,7 +52,7 @@ dependencies:
|
||||
expansion_tile_card: ^3.0.0
|
||||
ffi: ^2.1.0
|
||||
figma_squircle: ^0.6.3
|
||||
file_picker: ^10.2.0
|
||||
file_picker: ^10.3.2
|
||||
file_saver: ^0.3.1
|
||||
fixnum: ^1.1.0
|
||||
fk_user_agent: # no package updates on pub.dev
|
||||
@@ -84,6 +86,7 @@ dependencies:
|
||||
google_nav_bar: ^5.0.5 #supported
|
||||
gradient_borders: ^1.0.0
|
||||
http: ^1.1.0
|
||||
image: ^4.5.4
|
||||
intl: ^0.20.2
|
||||
io: ^1.0.4
|
||||
json_annotation: ^4.5.0
|
||||
@@ -135,6 +138,8 @@ dev_dependencies:
|
||||
build_runner: ^2.1.11
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
integration_test:
|
||||
sdk: flutter
|
||||
json_serializable: ^6.2.0
|
||||
lints: ^5.1.1
|
||||
mocktail: ^1.0.3
|
||||
|
||||
22
mobile/apps/auth/pubspec_overrides.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
# melos_managed_dependency_overrides: ente_accounts,ente_base,ente_configuration,ente_events,ente_lock_screen,ente_logging,ente_network,ente_strings,ente_ui,ente_utils
|
||||
dependency_overrides:
|
||||
ente_accounts:
|
||||
path: ../../packages/accounts
|
||||
ente_base:
|
||||
path: ../../packages/base
|
||||
ente_configuration:
|
||||
path: ../../packages/configuration
|
||||
ente_events:
|
||||
path: ../../packages/events
|
||||
ente_lock_screen:
|
||||
path: ../../packages/lock_screen
|
||||
ente_logging:
|
||||
path: ../../packages/logging
|
||||
ente_network:
|
||||
path: ../../packages/network
|
||||
ente_strings:
|
||||
path: ../../packages/strings
|
||||
ente_ui:
|
||||
path: ../../packages/ui
|
||||
ente_utils:
|
||||
path: ../../packages/utils
|
||||
@@ -1,72 +1 @@
|
||||
# For more linters, we can check https://dart-lang.github.io/linter/lints/index.html
|
||||
# or https://pub.dev/packages/lint (Effective dart)
|
||||
# use "flutter analyze ." or "dart analyze ." for running lint checks
|
||||
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
linter:
|
||||
rules:
|
||||
# Ref https://github.com/flutter/packages/blob/master/packages/flutter_lints/lib/flutter.yaml
|
||||
# Ref https://dart-lang.github.io/linter/lints/
|
||||
- avoid_print
|
||||
- avoid_unnecessary_containers
|
||||
- avoid_web_libraries_in_flutter
|
||||
- no_logic_in_create_state
|
||||
- prefer_const_constructors
|
||||
- prefer_const_constructors_in_immutables
|
||||
- prefer_const_declarations
|
||||
- prefer_const_literals_to_create_immutables
|
||||
- prefer_final_locals
|
||||
- require_trailing_commas
|
||||
- sized_box_for_whitespace
|
||||
- use_full_hex_values_for_flutter_colors
|
||||
- use_key_in_widget_constructors
|
||||
- cancel_subscriptions
|
||||
|
||||
|
||||
- avoid_empty_else
|
||||
- exhaustive_cases
|
||||
|
||||
# just style suggestions
|
||||
- sort_pub_dependencies
|
||||
- use_rethrow_when_possible
|
||||
- prefer_double_quotes
|
||||
- directives_ordering
|
||||
- always_use_package_imports
|
||||
- sort_child_properties_last
|
||||
- unawaited_futures
|
||||
|
||||
analyzer:
|
||||
errors:
|
||||
avoid_empty_else: error
|
||||
exhaustive_cases: error
|
||||
curly_braces_in_flow_control_structures: error
|
||||
directives_ordering: error
|
||||
require_trailing_commas: error
|
||||
always_use_package_imports: warning
|
||||
prefer_final_fields: error
|
||||
unused_import: error
|
||||
camel_case_types: error
|
||||
prefer_is_empty: warning
|
||||
use_rethrow_when_possible: info
|
||||
unused_field: warning
|
||||
use_key_in_widget_constructors: warning
|
||||
sort_child_properties_last: warning
|
||||
sort_pub_dependencies: warning
|
||||
library_private_types_in_public_api: warning
|
||||
constant_identifier_names: ignore
|
||||
prefer_const_constructors: warning
|
||||
prefer_const_declarations: warning
|
||||
prefer_const_constructors_in_immutables: warning
|
||||
prefer_final_locals: warning
|
||||
unnecessary_const: error
|
||||
cancel_subscriptions: error
|
||||
unrelated_type_equality_checks: error
|
||||
unnecessary_cast: info
|
||||
|
||||
|
||||
unawaited_futures: warning # convert to warning after fixing existing issues
|
||||
invalid_dependency: info
|
||||
use_build_context_synchronously: ignore # experimental lint, requires many changes
|
||||
prefer_interpolation_to_compose_strings: ignore # later too many warnings
|
||||
prefer_double_quotes: ignore # too many warnings
|
||||
avoid_renaming_method_parameters: ignore # incorrect warnings for `equals` overrides
|
||||
include: ../../analysis_options.yaml
|
||||
|
||||
22
mobile/apps/locker/pubspec_overrides.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
# melos_managed_dependency_overrides: ente_accounts,ente_base,ente_configuration,ente_events,ente_lock_screen,ente_logging,ente_network,ente_strings,ente_ui,ente_utils
|
||||
dependency_overrides:
|
||||
ente_accounts:
|
||||
path: ../../packages/accounts
|
||||
ente_base:
|
||||
path: ../../packages/base
|
||||
ente_configuration:
|
||||
path: ../../packages/configuration
|
||||
ente_events:
|
||||
path: ../../packages/events
|
||||
ente_lock_screen:
|
||||
path: ../../packages/lock_screen
|
||||
ente_logging:
|
||||
path: ../../packages/logging
|
||||
ente_network:
|
||||
path: ../../packages/network
|
||||
ente_strings:
|
||||
path: ../../packages/strings
|
||||
ente_ui:
|
||||
path: ../../packages/ui
|
||||
ente_utils:
|
||||
path: ../../packages/utils
|
||||
9
mobile/apps/photos/.gitignore
vendored
@@ -45,4 +45,11 @@ fastlane/report.xml
|
||||
android/app/build/
|
||||
|
||||
# FVM Version Cache
|
||||
.fvm/
|
||||
.fvm/
|
||||
|
||||
lib/generated/intl/app_localizations*.dart
|
||||
|
||||
# Generated rust bindings
|
||||
lib/src/rust/*
|
||||
rust/src/frb_generated*
|
||||
test/**/*.mocks.dart
|
||||
|
||||
@@ -48,7 +48,7 @@ You can alternatively install the build from PlayStore or F-Droid.
|
||||
|
||||
1. Install [Flutter v3.32.8](https://flutter.dev/docs/get-started/install) and [Rust](https://www.rust-lang.org/tools/install).
|
||||
|
||||
2. Install [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/) with `cargo install flutter_rust_bridge_codegen`
|
||||
2. Install [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/) with `cargo install flutter_rust_bridge_codegen` and run `flutter_rust_bridge_codegen generate` to generate the Rust bindings.
|
||||
|
||||
3. Pull in all submodules with `git submodule update --init --recursive`
|
||||
|
||||
|
||||
@@ -73,3 +73,6 @@ analyzer:
|
||||
- thirdparty/**
|
||||
- lib/generated/**
|
||||
- rust_builder/**
|
||||
- lib/src/rust/**
|
||||
- rust/src/**
|
||||
- test/**
|
||||
|
||||
BIN
mobile/apps/photos/assets/2.0x/enable-streaming-static.png
Normal file
|
After Width: | Height: | Size: 175 KiB |
BIN
mobile/apps/photos/assets/3.0x/enable-streaming-static.png
Normal file
|
After Width: | Height: | Size: 396 KiB |
BIN
mobile/apps/photos/assets/enable-streaming-static.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
@@ -1,36 +1,36 @@
|
||||
ente is a simple app to backup and share your photos and videos.
|
||||
ente je jednoduchá aplikace pro automatické zálohování a organizaci vašich fotek a videí.
|
||||
|
||||
If you've been looking for a privacy-friendly alternative to Google Photos, you've come to the right place. With ente, they are stored end-to-end encrypted (e2ee). This means that only you can view them.
|
||||
Pokud hledáte alternativu ke službě Google Photos, která respektuje vaše soukromí, jste na správném místě. S Ente jsou uloženy s koncovým "end-to-end" šifrováním (e2ee). To znamená, že je můžete vidět pouze vy.
|
||||
|
||||
We have open-source apps across Android, iOS, web and desktop, and your photos will seamlessly sync between all of them in an end-to-end encrypted (e2ee) manner.
|
||||
Máme aplikace napříč všemi platformami a vaše fotky se budou bezproblémově synchronizovat mezi všemi vašimi zařízeními tak, aby byly koncově šifrovány mezi jednotlivými zařízeními (e2ee).
|
||||
|
||||
ente also makes it simple to share your albums with your loved ones, even if they aren't on ente. You can share publicly viewable links, where they can view your album and collaborate by adding photos to it, even without an account or app.
|
||||
ente také usnadňuje sdílení vašich alb s vašimi blízkými, i když nejsou na ente. Můžete sdílet veřejně přístupné odkazy, kde si mohou prohlížet vaše album a spolupracovat přidáváním fotografií, a to i bez účtu nebo aplikace.
|
||||
|
||||
Your encrypted data is replicated to 3 different locations, including a fall-out shelter in Paris. We take posterity seriously and make it easy to ensure that your memories outlive you.
|
||||
Vaše šifrovaná data jsou uložena na 3 místech, včetně protiatomového krytu v Paříži. Bereme budoucnost vážně a usnadňujeme vám zajistit, aby vaše vzpomínky přežily vás samotné.
|
||||
|
||||
We are here to make the safest photos app ever, come join our journey!
|
||||
Jsme tu, abychom vytvořili nejbezpečnější aplikaci pro fotografie, jaká kdy byla. Přidejte se k nám!
|
||||
|
||||
FEATURES
|
||||
- Original quality backups, because every pixel is important
|
||||
- Family plans, so you can share storage with your family
|
||||
- Collaborative albums, so you can pool together photos after a trip
|
||||
- Shared folders, in case you want your partner to enjoy your "Camera" clicks
|
||||
- Album links, that can be protected with a password
|
||||
- Ability to free up space, by removing files that have been safely backed up
|
||||
- Human support, because you're worth it
|
||||
- Descriptions, so you can caption your memories and find them easily
|
||||
- Image editor, to add finishing touches
|
||||
- Favorite, hide and relive your memories, for they are precious
|
||||
- One-click import from Google, Apple, your hard drive and more
|
||||
- Dark theme, because your photos look good in it
|
||||
- 2FA, 3FA, biometric auth
|
||||
- and a LOT more!
|
||||
VLASTNOSTI
|
||||
- Zálohování v původní kvalitě, protože každý pixel je důležitý
|
||||
- Rodinné plány, takže můžete sdílet úložiště s rodinou
|
||||
- Společná alba, do kterých můžete po cestě shromažďovat fotografie
|
||||
- Sdílené složky, aby i váš partner mohl obdivovat vaše fotografie
|
||||
- Odkazy na alba, které lze chránit heslem a nastavit jejich platnost
|
||||
- Možnost uvolnit místo odstraněním souborů, které byly bezpečně zálohovány
|
||||
- Lidská podpora, protože si to zasloužíte
|
||||
- Popisy, abyste mohli své vzpomínky opatřit popisky a snadno je najít
|
||||
- Editor obrázků pro doladění detailů
|
||||
- Označte si své oblíbené fotografie, skryjte je a nebo je prožijte znovu pomocí vzpomínek
|
||||
- Import jedním kliknutím z Google, Apple, pevného disku a dalších zdrojů
|
||||
- Tmavý motiv, protože vaše fotografie v něm vypadají dobře
|
||||
- 2FA, 3FA, biometrické ověření
|
||||
- a ještě MNOHEM víc!
|
||||
|
||||
OPRÁVNĚNÍ
|
||||
ente requests for certain permissions to serve the purpose of a photo storage provider, which can be reviewed here: https://github.com/ente-io/ente/blob/f-droid/mobile/android/permissions.md
|
||||
ente žádá o určitá oprávnění, aby mohla plnit funkci poskytovatele úložiště fotografií. Tyto oprávnění si můžete prohlédnout zde: https://github.com/ente-io/ente/blob/f-droid/mobile/android/permissions.md
|
||||
|
||||
PRICING
|
||||
We don't offer forever free plans, because it is important to us that we remain sustainable and withstand the test of time. Instead we offer affordable plans that you can freely share with your family. You can find more information at ente.io.
|
||||
CENY
|
||||
Nenabízíme doživotní tarify, protože je pro nás důležité zůstat udržitelnými a obstát ve zkoušce času. Místo toho nabízíme cenově dostupné plány, které můžete svobodně sdílet se svou rodinou. Více informací najdete na ente.io.
|
||||
|
||||
PODPORA
|
||||
We take pride in offering human support. If you are our paid customer, you can reach out to team@ente.io and expect a response from our team within 24 hours.
|
||||
Jsme hrdí na to, že poskytujeme lidskou podporu. Pokud máte placený tarif, můžete se obrátit na team@ente.io a do 24 hodin od našeho týmu očekávat odpověď.
|
||||
|
||||
@@ -1 +1 @@
|
||||
ente is an end-to-end encrypted photo storage app
|
||||
ente je aplikace pro ukládání fotografií a videí s koncovým šifrováním
|
||||
@@ -1 +1 @@
|
||||
ente - encrypted photo storage
|
||||
ente – šifrované úložiště fotografií
|
||||
@@ -1,33 +1,33 @@
|
||||
Ente is a simple app to automatically backup and organize your photos and videos.
|
||||
Ente je jednoduchá aplikace pro automatické zálohování a organizaci vašich fotek a videí.
|
||||
|
||||
If you've been looking for a privacy-friendly alternative to preserve your memories, you've come to the right place. With Ente, they are stored end-to-end encrypted (e2ee). This means that only you can view them.
|
||||
Pokud hledáte alternativu, která respektuje vaše soukromí a umožní vám uchovat vaše vzpomínky, jste na správném místě. S Ente jsou uloženy s koncovým "end-to-end" šifrováním (e2ee). To znamená, že je můžete vidět pouze vy.
|
||||
|
||||
We have apps across all platforms, and your photos will seamlessly sync between all your devices in an end-to-end encrypted (e2ee) manner.
|
||||
Máme aplikace napříč všemi platformami a vaše fotky se budou bezproblémově synchronizovat mezi všemi vašimi zařízeními tak, aby byly koncově šifrovány mezi jednotlivými zařízeními (e2ee).
|
||||
|
||||
Ente also makes it simple to share your albums with your loved ones. You can either share them directly with other Ente users, end-to-end encrypted; or with publicly viewable links.
|
||||
Ente také zjednodušuje sdílení alb s vašimi blízkými. Můžete je buď sdílet přímo s ostatními uživateli Ente, koncově šifrované; nebo s pomocí veřejně přístupných odkazů.
|
||||
|
||||
Your encrypted data is stored across multiple locations, including a fall-out shelter in Paris. We take posterity seriously and make it easy to ensure that your memories outlive you.
|
||||
Vaše šifrovaná data jsou uložena na několika místech, včetně protiatomového krytu v Paříži. Bereme budoucnost vážně a usnadňujeme vám zajistit, aby vaše vzpomínky přežily vás samotné.
|
||||
|
||||
We are here to make the safest photos app ever, come join our journey!
|
||||
Jsme tu, abychom vytvořili nejbezpečnější aplikaci pro fotografie, jaká kdy byla. Přidejte se k nám!
|
||||
|
||||
FEATURES
|
||||
- Original quality backups, because every pixel is important
|
||||
- Family plans, so you can share storage with your family
|
||||
- Shared folders, in case you want your partner to enjoy your "Camera" clicks
|
||||
- Album links, that can be protected with a password and set to expire
|
||||
- Ability to free up space, by removing files that have been safely backed up
|
||||
- Image editor, to add finishing touches
|
||||
- Favorite, hide and relive your memories, for they are precious
|
||||
- One-click import from all major storage providers
|
||||
- Dark theme, because your photos look good in it
|
||||
- 2FA, 3FA, biometric auth
|
||||
- and a LOT more!
|
||||
VLASTNOSTI
|
||||
- Zálohování v původní kvalitě, protože každý pixel je důležitý
|
||||
- Rodinné plány, takže můžete sdílet úložiště s rodinou
|
||||
- Sdílené složky, aby i váš partner mohl obdivovat vaše fotografie
|
||||
- Odkazy na alba, které lze chránit heslem a nastavit jejich platnost
|
||||
- Možnost uvolnit místo odstraněním souborů, které byly bezpečně zálohovány
|
||||
- Editor obrázků, pro finální doladění detailů
|
||||
- Označte si své oblíbené fotografie, skryjte je a nebo je prožijte znovu pomocí vzpomínek
|
||||
- Import jedním kliknutím ze všech velkých poskytovatelů úložišť
|
||||
- Tmavý motiv, protože vaše fotografie v něm vypadají dobře
|
||||
- 2FA, 3FA, biometrické ověření
|
||||
- a ještě MNOHEM víc!
|
||||
|
||||
PRICING
|
||||
We don't offer forever free plans, because it is important to us that we remain sustainable and withstand the test of time. Instead we offer affordable plans that you can freely share with your family. You can find more information at ente.io.
|
||||
CENY
|
||||
Nenabízíme doživotní tarify, protože je pro nás důležité zůstat udržitelnými a obstát ve zkoušce času. Místo toho nabízíme cenově dostupné plány, které můžete svobodně sdílet se svou rodinou. Více informací najdete na ente.io.
|
||||
|
||||
SUPPORT
|
||||
We take pride in offering human support. If you are our paid customer, you can reach out to team@ente.io and expect a response from our team within 24 hours.
|
||||
PODPORA
|
||||
Jsme hrdí na to, že poskytujeme lidskou podporu. Pokud máte placený tarif, můžete se obrátit na team@ente.io a do 24 hodin od našeho týmu očekávat odpověď.
|
||||
|
||||
TERMS
|
||||
PODMÍNKY
|
||||
https://ente.io/terms
|
||||
|
||||
@@ -1 +1 @@
|
||||
photos,photography,family,privacy,cloud,backup,videos,photo,encryption,storage,album,alternative
|
||||
fotky,fotografie,rodina,soukromí,cloud,zálohování,videa,fotka,šifrování,úložiště,album,alternativa
|
||||
|
||||
@@ -1 +1 @@
|
||||
Ente Photos
|
||||
Ente Fotky
|
||||
|
||||
@@ -1 +1 @@
|
||||
Encrypted photo storage
|
||||
Šifrované úložiště fotografií
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
Ente is a simple app to automatically backup and organize your photos and videos.
|
||||
Ente je jednoduchá aplikace pro automatické zálohování a organizaci vašich fotek a videí.
|
||||
|
||||
If you've been looking for a privacy-friendly alternative to preserve your memories, you've come to the right place. With Ente, they are stored end-to-end encrypted (e2ee). This means that only you can view them.
|
||||
Pokud hledáte alternativu, která respektuje vaše soukromí a umožní vám uchovat vaše vzpomínky, jste na správném místě. S Ente jsou uloženy s koncovým "end-to-end" šifrováním (e2ee). To znamená, že je můžete vidět pouze vy.
|
||||
|
||||
We have apps across Android, iOS, web and Desktop, and your photos will seamlessly sync between all your devices in an end-to-end encrypted (e2ee) manner.
|
||||
Máme aplikace napříč všemi platformami a vaše fotky se budou bezproblémově synchronizovat mezi všemi vašimi zařízeními tak, aby byly koncově šifrovány mezi jednotlivými zařízeními (e2ee).
|
||||
|
||||
Ente also makes it simple to share your albums with your loved ones. You can either share them directly with other Ente users, end-to-end encrypted; or with publicly viewable links.
|
||||
Ente také zjednodušuje sdílení alb s vašimi blízkými. Můžete je buď sdílet přímo s ostatními uživateli Ente, koncově šifrované; nebo s pomocí veřejně přístupných odkazů.
|
||||
|
||||
Your encrypted data is stored across multiple locations, including a fall-out shelter in Paris. We take posterity seriously and make it easy to ensure that your memories outlive you.
|
||||
Vaše šifrovaná data jsou uložena na několika místech, včetně protiatomového krytu v Paříži. Bereme budoucnost vážně a usnadňujeme vám zajistit, aby vaše vzpomínky přežily vás samotné.
|
||||
|
||||
We are here to make the safest photos app ever, come join our journey!
|
||||
Jsme tu, abychom vytvořili nejbezpečnější aplikaci pro fotografie, jaká kdy byla. Přidejte se k nám!
|
||||
|
||||
✨ FEATURES
|
||||
- Original quality backups, because every pixel is important
|
||||
- Family plans, so you can share storage with your family
|
||||
- Shared folders, in case you want your partner to enjoy your "Camera" clicks
|
||||
- Album links, that can be protected with a password and set to expire
|
||||
- Ability to free up space, by removing files that have been safely backed up
|
||||
- Image editor, to add finishing touches
|
||||
- Favorite, hide and relive your memories, for they are precious
|
||||
- One-click import from Google, Apple, your hard drive and more
|
||||
- Dark theme, because your photos look good in it
|
||||
- 2FA, 3FA, biometric auth
|
||||
- and a LOT more!
|
||||
✨ VLASTNOSTI
|
||||
- Zálohování v původní kvalitě, protože každý pixel je důležitý
|
||||
- Rodinné plány, takže můžete sdílet úložiště s rodinou
|
||||
- Sdílené složky, aby i váš partner mohl obdivovat vaše fotografie
|
||||
- Odkazy na alba, které lze chránit heslem a nastavit jejich platnost
|
||||
- Možnost uvolnit místo odstraněním souborů, které byly bezpečně zálohovány
|
||||
- Editor obrázků, pro finální doladění detailů
|
||||
- Označte si své oblíbené fotografie, skryjte je a nebo je prožijte znovu pomocí vzpomínek
|
||||
- Import jedním kliknutím ze všech velkých poskytovatelů úložišť
|
||||
- Tmavý motiv, protože vaše fotografie v něm vypadají dobře
|
||||
- 2FA, 3FA, biometrické ověření
|
||||
- a ještě MNOHEM víc!
|
||||
|
||||
💲 PRICING
|
||||
We don't offer forever free plans, because it is important to us that we remain sustainable and withstand the test of time. Instead we offer affordable plans that you can freely share with your family. You can find more information at ente.io.
|
||||
💲 CENY
|
||||
Nenabízíme doživotní tarify, protože je pro nás důležité zůstat udržitelnými a obstát ve zkoušce času. Místo toho nabízíme cenově dostupné plány, které můžete svobodně sdílet se svou rodinou. Více informací najdete na ente.io.
|
||||
|
||||
🙋 SUPPORT
|
||||
We take pride in offering human support. If you are our paid customer, you can reach out to team@ente.io and expect a response from our team within 24 hours.
|
||||
🙋 PODPORA
|
||||
Jsme hrdí na to, že poskytujeme lidskou podporu. Pokud máte placený tarif, můžete se obrátit na team@ente.io a do 24 hodin od našeho týmu očekávat odpověď.
|
||||
@@ -1 +1 @@
|
||||
Encrypted photo storage - backup, organize and share your photos and videos
|
||||
Šifrované úložiště fotografií – zálohujte, organizujte a sdílejte své fotografie a videa
|
||||
@@ -1 +1 @@
|
||||
Ente Photos
|
||||
Ente Fotky
|
||||
6
mobile/apps/photos/l10n.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
arb-dir: lib/l10n
|
||||
output-dir: lib/generated/intl
|
||||
template-arb-file: intl_en.arb
|
||||
output-localization-file: app_localizations.dart
|
||||
nullable-getter: false
|
||||
use-named-parameters: true
|
||||
@@ -5,7 +5,6 @@ import 'package:adaptive_theme/adaptive_theme.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||
import "package:flutter_localizations/flutter_localizations.dart";
|
||||
import 'package:home_widget/home_widget.dart' as hw;
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:media_extension/media_extension_action_types.dart';
|
||||
@@ -143,13 +142,10 @@ class _EnteAppState extends State<EnteApp> with WidgetsBindingObserver {
|
||||
debugShowCheckedModeBanner: false,
|
||||
builder: EasyLoading.init(),
|
||||
locale: locale,
|
||||
supportedLocales: appSupportedLocales,
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
localeListResolutionCallback: localResolutionCallBack,
|
||||
localizationsDelegates: const [
|
||||
S.delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalCupertinoLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
...AppLocalizations.localizationsDelegates,
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -168,13 +164,10 @@ class _EnteAppState extends State<EnteApp> with WidgetsBindingObserver {
|
||||
debugShowCheckedModeBanner: false,
|
||||
builder: EasyLoading.init(),
|
||||
locale: locale,
|
||||
supportedLocales: appSupportedLocales,
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
localeListResolutionCallback: localResolutionCallBack,
|
||||
localizationsDelegates: const [
|
||||
S.delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalCupertinoLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
...AppLocalizations.localizationsDelegates,
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
@@ -981,7 +981,8 @@ class FilesDB with SqlDbBase {
|
||||
|
||||
// remove references for local files which are either already uploaded
|
||||
// or queued for upload but not yet uploaded
|
||||
Future<int> removeQueuedLocalFiles(Set<String> localIDs) async {
|
||||
// Remove queued local files that have duplicate uploaded entries with same localID
|
||||
Future<int> removeQueuedLocalFiles(Set<String> localIDs, int ownerID) async {
|
||||
if (localIDs.isEmpty) {
|
||||
_logger.finest("No local IDs provided for removal");
|
||||
return 0;
|
||||
@@ -990,54 +991,63 @@ class FilesDB with SqlDbBase {
|
||||
final db = await instance.sqliteAsyncDB;
|
||||
const batchSize = 10000;
|
||||
int totalRemoved = 0;
|
||||
|
||||
final localIDsList = localIDs.toList();
|
||||
|
||||
for (int i = 0; i < localIDsList.length; i += batchSize) {
|
||||
final endIndex = (i + batchSize > localIDsList.length)
|
||||
? localIDsList.length
|
||||
: i + batchSize;
|
||||
|
||||
final batch = localIDsList.sublist(i, endIndex);
|
||||
final placeholders = List.filled(batch.length, '?').join(',');
|
||||
final List<String> alreadyUploaded = [];
|
||||
// find localIDs that are already uploaded
|
||||
final result = await db.execute('''
|
||||
|
||||
// Find localIDs that already have uploaded entries
|
||||
final result = await db.execute(
|
||||
'''
|
||||
SELECT DISTINCT $columnLocalID
|
||||
FROM $filesTable
|
||||
WHERE $columnLocalID IN ($placeholders)
|
||||
WHERE
|
||||
$columnOwnerID = $ownerID
|
||||
AND $columnLocalID IN ($placeholders)
|
||||
AND ($columnUploadedFileID IS NOT NULL AND $columnUploadedFileID != -1)
|
||||
''');
|
||||
|
||||
for (final row in result) {
|
||||
alreadyUploaded.add(row[columnLocalID] as String);
|
||||
}
|
||||
final uploadedPlaceholders =
|
||||
alreadyUploaded.map((id) => "'$id'").join(',');
|
||||
final r = await db.execute(
|
||||
'''
|
||||
DELETE FROM $filesTable
|
||||
WHERE $columnLocalID IN ($uploadedPlaceholders)
|
||||
AND ($columnUploadedFileID IS NULL OR $columnUploadedFileID = -1)
|
||||
''',
|
||||
''',
|
||||
batch,
|
||||
);
|
||||
|
||||
if (r.isNotEmpty) {
|
||||
_logger.warning(
|
||||
"Batch ${(i ~/ batchSize) + 1}: Removed duplicate ${r.length} files",
|
||||
if (result.isNotEmpty) {
|
||||
final alreadyUploadedLocalIDs =
|
||||
result.map((row) => row[columnLocalID] as String).toList();
|
||||
final localIdPlaceholder =
|
||||
List.filled(alreadyUploadedLocalIDs.length, '?').join(',');
|
||||
|
||||
// Delete queued entries for localIDs that already have uploaded versions
|
||||
final deleteResult = await db.execute(
|
||||
'''
|
||||
DELETE FROM $filesTable
|
||||
WHERE $columnLocalID IN ($localIdPlaceholder)
|
||||
AND ($columnUploadedFileID IS NULL OR $columnUploadedFileID = -1)
|
||||
''',
|
||||
alreadyUploadedLocalIDs,
|
||||
);
|
||||
totalRemoved += r.length;
|
||||
|
||||
final removedCount =
|
||||
deleteResult.length; // or however your DB returns affected rows
|
||||
if (removedCount > 0) {
|
||||
_logger.warning(
|
||||
"Batch ${(i ~/ batchSize) + 1}: Removed $removedCount queued duplicates",
|
||||
);
|
||||
totalRemoved += removedCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (totalRemoved > 0) {
|
||||
_logger.warning(
|
||||
"Removed $totalRemoved potential dups for already queued local files",
|
||||
"Removed $totalRemoved queued files that had uploaded duplicates",
|
||||
);
|
||||
} else {
|
||||
_logger.finest("No duplicate id found for queued/uploaded files");
|
||||
_logger.finest("No queued duplicates found for uploaded files");
|
||||
}
|
||||
|
||||
return totalRemoved;
|
||||
}
|
||||
|
||||
@@ -1677,26 +1687,36 @@ class FilesDB with SqlDbBase {
|
||||
);
|
||||
}
|
||||
|
||||
Future<List<EnteFile>> getAllFilesAfterDate({
|
||||
required FileType fileType,
|
||||
required DateTime beginDate,
|
||||
Future<List<EnteFile>> getStreamingEligibleVideoFiles({
|
||||
DateTime? beginDate,
|
||||
required int userID,
|
||||
bool onlyFilesWithLocalId = false,
|
||||
}) async {
|
||||
final db = await instance.sqliteAsyncDB;
|
||||
final results = await db.getAll(
|
||||
'''
|
||||
|
||||
String query = '''
|
||||
SELECT * FROM $filesTable
|
||||
WHERE $columnFileType = ?
|
||||
AND $columnCreationTime > ?
|
||||
AND $columnUploadedFileID != -1
|
||||
AND $columnOwnerID = $userID
|
||||
AND $columnLocalID IS NOT NULL
|
||||
AND ($columnUploadedFileID IS NOT NULL AND $columnUploadedFileID != -1)
|
||||
AND $columnOwnerID = ?
|
||||
AND ($columnFileSize IS NOT NULL AND $columnFileSize <= 524288000)
|
||||
AND ($columnDuration IS NOT NULL AND ($columnDuration <= 60 AND $columnDuration > 0))
|
||||
ORDER BY $columnCreationTime DESC
|
||||
''',
|
||||
[getInt(fileType), beginDate.microsecondsSinceEpoch],
|
||||
);
|
||||
''';
|
||||
|
||||
final List<Object> queryArgs = [getInt(FileType.video), userID];
|
||||
|
||||
if (beginDate != null) {
|
||||
query += ' AND $columnCreationTime > ?';
|
||||
queryArgs.add(beginDate.microsecondsSinceEpoch);
|
||||
}
|
||||
|
||||
if (onlyFilesWithLocalId) {
|
||||
query += ' AND $columnLocalID IS NOT NULL';
|
||||
}
|
||||
|
||||
query += ' ORDER BY $columnCreationTime DESC';
|
||||
|
||||
final results = await db.getAll(query, queryArgs);
|
||||
return convertToFiles(results);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import "dart:io" show File;
|
||||
import "dart:typed_data" show Float32List;
|
||||
|
||||
import "package:flutter_rust_bridge/flutter_rust_bridge.dart" show Uint64List;
|
||||
@@ -8,11 +7,13 @@ import "package:path_provider/path_provider.dart";
|
||||
import "package:photos/models/ml/vector.dart";
|
||||
import "package:photos/services/machine_learning/semantic_search/query_result.dart";
|
||||
import "package:photos/src/rust/api/usearch_api.dart";
|
||||
import "package:shared_preferences/shared_preferences.dart";
|
||||
|
||||
class ClipVectorDB {
|
||||
static final Logger _logger = Logger("ClipVectorDB");
|
||||
|
||||
static const _databaseName = "ente.ml.vectordb.clip";
|
||||
static const _kMigrationKey = "clip_vector_migration";
|
||||
|
||||
static final BigInt _embeddingDimension = BigInt.from(512);
|
||||
|
||||
@@ -51,10 +52,9 @@ class ClipVectorDB {
|
||||
Future<bool> checkIfMigrationDone() async {
|
||||
if (_migrationDone != null) return _migrationDone!;
|
||||
_logger.info("Checking if ClipVectorDB migration has run");
|
||||
final documentsDirectory = await getApplicationDocumentsDirectory();
|
||||
final migrationFlagFile =
|
||||
File(join(documentsDirectory.path, 'clip_vector_migration_done'));
|
||||
if (await migrationFlagFile.exists()) {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final migrationDone = prefs.getBool(_kMigrationKey) ?? false;
|
||||
if (migrationDone) {
|
||||
_logger.info("ClipVectorDB migration already done");
|
||||
_migrationDone = true;
|
||||
return _migrationDone!;
|
||||
@@ -67,10 +67,8 @@ class ClipVectorDB {
|
||||
|
||||
Future<void> setMigrationDone() async {
|
||||
_logger.info("Setting ClipVectorDB migration done");
|
||||
final documentsDirectory = await getApplicationDocumentsDirectory();
|
||||
final migrationFlagFile =
|
||||
File(join(documentsDirectory.path, 'clip_vector_migration_done'));
|
||||
await migrationFlagFile.create(recursive: true);
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setBool(_kMigrationKey, true);
|
||||
_migrationDone = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -53,12 +53,20 @@ class UploadLocksDB {
|
||||
columnCreatedAt: "created_at",
|
||||
);
|
||||
|
||||
static const _streamQueueTable = (
|
||||
table: "stream_queue",
|
||||
columnUploadedFileID: "uploaded_file_id",
|
||||
columnQueueType: "queue_type", // 'create' or 'recreate'
|
||||
columnCreatedAt: "created_at",
|
||||
);
|
||||
|
||||
static final initializationScript = [
|
||||
..._createUploadLocksTable(),
|
||||
];
|
||||
|
||||
static final migrationScripts = [
|
||||
..._createTrackUploadsTable(),
|
||||
..._createStreamQueueTable(),
|
||||
];
|
||||
|
||||
final dbConfig = MigrationConfig(
|
||||
@@ -137,11 +145,24 @@ class UploadLocksDB {
|
||||
];
|
||||
}
|
||||
|
||||
static List<String> _createStreamQueueTable() {
|
||||
return [
|
||||
'''
|
||||
CREATE TABLE IF NOT EXISTS ${_streamQueueTable.table} (
|
||||
${_streamQueueTable.columnUploadedFileID} INTEGER PRIMARY KEY,
|
||||
${_streamQueueTable.columnQueueType} TEXT NOT NULL,
|
||||
${_streamQueueTable.columnCreatedAt} INTEGER DEFAULT CURRENT_TIMESTAMP NOT NULL
|
||||
)
|
||||
''',
|
||||
];
|
||||
}
|
||||
|
||||
Future<void> clearTable() async {
|
||||
final db = await instance.database;
|
||||
await db.delete(_uploadLocksTable.table);
|
||||
await db.delete(_trackUploadTable.table);
|
||||
await db.delete(_partsTable.table);
|
||||
await db.delete(_streamQueueTable.table);
|
||||
}
|
||||
|
||||
Future<void> acquireLock(String id, String owner, int time) async {
|
||||
@@ -519,4 +540,56 @@ class UploadLocksDB {
|
||||
return row[_trackUploadTable.columnEncryptedFileName] as String;
|
||||
});
|
||||
}
|
||||
|
||||
// Stream Queue Management Methods
|
||||
Future<void> addToStreamQueue(
|
||||
int uploadedFileID,
|
||||
String queueType, // 'create' or 'recreate'
|
||||
) async {
|
||||
final db = await instance.database;
|
||||
await db.insert(
|
||||
_streamQueueTable.table,
|
||||
{
|
||||
_streamQueueTable.columnUploadedFileID: uploadedFileID,
|
||||
_streamQueueTable.columnQueueType: queueType,
|
||||
},
|
||||
conflictAlgorithm: ConflictAlgorithm.replace,
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> removeFromStreamQueue(int uploadedFileID) async {
|
||||
final db = await instance.database;
|
||||
await db.delete(
|
||||
_streamQueueTable.table,
|
||||
where: '${_streamQueueTable.columnUploadedFileID} = ?',
|
||||
whereArgs: [uploadedFileID],
|
||||
);
|
||||
}
|
||||
|
||||
Future<Map<int, String>> getStreamQueue() async {
|
||||
final db = await instance.database;
|
||||
final rows = await db.query(
|
||||
_streamQueueTable.table,
|
||||
columns: [
|
||||
_streamQueueTable.columnUploadedFileID,
|
||||
_streamQueueTable.columnQueueType,
|
||||
],
|
||||
);
|
||||
final map = <int, String>{};
|
||||
for (final row in rows) {
|
||||
map[row[_streamQueueTable.columnUploadedFileID] as int] =
|
||||
row[_streamQueueTable.columnQueueType] as String;
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
Future<bool> isInStreamQueue(int uploadedFileID) async {
|
||||
final db = await instance.database;
|
||||
final rows = await db.query(
|
||||
_streamQueueTable.table,
|
||||
where: '${_streamQueueTable.columnUploadedFileID} = ?',
|
||||
whereArgs: [uploadedFileID],
|
||||
);
|
||||
return rows.isNotEmpty;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
} catch (e) {
|
||||
showShortToast(
|
||||
context,
|
||||
S.of(context).somethingWentWrong,
|
||||
AppLocalizations.of(context).somethingWentWrong,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
slivers: <Widget>[
|
||||
TitleBarWidget(
|
||||
flexibleSpaceTitle: TitleBarTitleWidget(
|
||||
title: S.of(context).legacy,
|
||||
title: AppLocalizations.of(context).legacy,
|
||||
),
|
||||
),
|
||||
if (info == null)
|
||||
@@ -158,7 +158,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
(context, index) {
|
||||
if (index == 0 && trustedContacts.isNotEmpty) {
|
||||
return MenuSectionTitle(
|
||||
title: S.of(context).trustedContacts,
|
||||
title: AppLocalizations.of(context).trustedContacts,
|
||||
);
|
||||
} else if (index > 0 && index <= trustedContacts.length) {
|
||||
final listIndex = index - 1;
|
||||
@@ -224,7 +224,8 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
const SizedBox(height: 16),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.primary,
|
||||
labelText: S.of(context).addTrustedContact,
|
||||
labelText: AppLocalizations.of(context)
|
||||
.addTrustedContact,
|
||||
shouldSurfaceExecutionStates: false,
|
||||
onTap: () async {
|
||||
await routeToPage(
|
||||
@@ -241,8 +242,8 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
return MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: trustedContacts.isNotEmpty
|
||||
? S.of(context).addMore
|
||||
: S.of(context).addTrustedContact,
|
||||
? AppLocalizations.of(context).addMore
|
||||
: AppLocalizations.of(context).addTrustedContact,
|
||||
makeTextBold: true,
|
||||
),
|
||||
leadingIcon: Icons.add_outlined,
|
||||
@@ -378,7 +379,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
bodyHighlight: "They are yet to accept your invite",
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).removeInvite,
|
||||
labelText: AppLocalizations.of(context).removeInvite,
|
||||
buttonType: ButtonType.critical,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.first,
|
||||
@@ -397,7 +398,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
labelText: AppLocalizations.of(context).cancel,
|
||||
buttonType: ButtonType.tertiary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.second,
|
||||
@@ -414,7 +415,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
bodyHighlight: "They have accepted your invite",
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).remove,
|
||||
labelText: AppLocalizations.of(context).remove,
|
||||
buttonType: ButtonType.critical,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.second,
|
||||
@@ -433,7 +434,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
labelText: AppLocalizations.of(context).cancel,
|
||||
buttonType: ButtonType.tertiary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.third,
|
||||
@@ -453,7 +454,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
context: context,
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).acceptTrustInvite,
|
||||
labelText: AppLocalizations.of(context).acceptTrustInvite,
|
||||
buttonType: ButtonType.primary,
|
||||
buttonSize: ButtonSize.large,
|
||||
shouldStickToDarkTheme: true,
|
||||
@@ -472,7 +473,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).declineTrustInvite,
|
||||
labelText: AppLocalizations.of(context).declineTrustInvite,
|
||||
buttonType: ButtonType.critical,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.second,
|
||||
@@ -488,7 +489,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
labelText: AppLocalizations.of(context).cancel,
|
||||
buttonType: ButtonType.tertiary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.third,
|
||||
@@ -496,7 +497,8 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
],
|
||||
body: S.of(context).legacyInvite(contact.user.email),
|
||||
body:
|
||||
AppLocalizations.of(context).legacyInvite(email: contact.user.email),
|
||||
actionSheetType: ActionSheetType.defaultActionSheet,
|
||||
);
|
||||
return;
|
||||
@@ -541,7 +543,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
labelText: AppLocalizations.of(context).cancel,
|
||||
buttonType: ButtonType.tertiary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.third,
|
||||
@@ -549,7 +551,7 @@ class _EmergencyPageState extends State<EmergencyPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
],
|
||||
body: context.l10n.recoveryWarningBody(emergencyContactEmail),
|
||||
body: context.l10n.recoveryWarningBody(email: emergencyContactEmail),
|
||||
actionSheetType: ActionSheetType.defaultActionSheet,
|
||||
);
|
||||
return;
|
||||
|
||||
@@ -44,15 +44,15 @@ class EmergencyContactService {
|
||||
if (!isValidEmail(email)) {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
S.of(context).invalidEmailAddress,
|
||||
S.of(context).enterValidEmail,
|
||||
AppLocalizations.of(context).invalidEmailAddress,
|
||||
AppLocalizations.of(context).enterValidEmail,
|
||||
);
|
||||
return false;
|
||||
} else if (email.trim() == Configuration.instance.getEmail()) {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
S.of(context).oops,
|
||||
S.of(context).youCannotShareWithYourself,
|
||||
AppLocalizations.of(context).oops,
|
||||
AppLocalizations.of(context).youCannotShareWithYourself,
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ class _OtherContactPageState extends State<OtherContactPage> {
|
||||
)
|
||||
: (recoverySession!.status == "READY"
|
||||
? Text(
|
||||
context.l10n.recoveryReady(accountEmail),
|
||||
context.l10n.recoveryReady(email: accountEmail),
|
||||
style: textTheme.body,
|
||||
)
|
||||
: Text(
|
||||
@@ -131,14 +131,16 @@ class _OtherContactPageState extends State<OtherContactPage> {
|
||||
// icon: Icons.start_outlined,
|
||||
buttonType: ButtonType.trailingIconPrimary,
|
||||
icon: Icons.start_outlined,
|
||||
labelText: S.of(context).startAccountRecoveryTitle,
|
||||
labelText:
|
||||
AppLocalizations.of(context).startAccountRecoveryTitle,
|
||||
onTap: widget.contact.isPendingInvite()
|
||||
? null
|
||||
: () async {
|
||||
final actionResult = await showChoiceActionSheet(
|
||||
context,
|
||||
title: S.of(context).startAccountRecoveryTitle,
|
||||
firstButtonLabel: S.of(context).yes,
|
||||
title: AppLocalizations.of(context)
|
||||
.startAccountRecoveryTitle,
|
||||
firstButtonLabel: AppLocalizations.of(context).yes,
|
||||
body: "Are you sure you want to initiate recovery?",
|
||||
isCritical: true,
|
||||
);
|
||||
@@ -153,8 +155,8 @@ class _OtherContactPageState extends State<OtherContactPage> {
|
||||
context,
|
||||
context.l10n.recoveryInitiated,
|
||||
context.l10n.recoveryInitiatedDesc(
|
||||
widget.contact.recoveryNoticeInDays,
|
||||
Configuration.instance.getEmail()!,
|
||||
days: widget.contact.recoveryNoticeInDays,
|
||||
email: Configuration.instance.getEmail()!,
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -194,14 +196,15 @@ class _OtherContactPageState extends State<OtherContactPage> {
|
||||
recoverySession!.status == "READY"))
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.neutral,
|
||||
labelText: S.of(context).cancelAccountRecovery,
|
||||
labelText: AppLocalizations.of(context).cancelAccountRecovery,
|
||||
shouldSurfaceExecutionStates: false,
|
||||
onTap: () async {
|
||||
final actionResult = await showChoiceActionSheet(
|
||||
context,
|
||||
title: S.of(context).cancelAccountRecovery,
|
||||
firstButtonLabel: S.of(context).yes,
|
||||
body: S.of(context).cancelAccountRecoveryBody,
|
||||
title: AppLocalizations.of(context).cancelAccountRecovery,
|
||||
firstButtonLabel: AppLocalizations.of(context).yes,
|
||||
body:
|
||||
AppLocalizations.of(context).cancelAccountRecoveryBody,
|
||||
isCritical: true,
|
||||
firstButtonOnTap: () async {
|
||||
await EmergencyContactService.instance
|
||||
@@ -215,11 +218,12 @@ class _OtherContactPageState extends State<OtherContactPage> {
|
||||
),
|
||||
SizedBox(height: recoverySession == null ? 48 : 24),
|
||||
MenuSectionTitle(
|
||||
title: S.of(context).removeYourselfAsTrustedContact,
|
||||
title:
|
||||
AppLocalizations.of(context).removeYourselfAsTrustedContact,
|
||||
),
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: S.of(context).remove,
|
||||
title: AppLocalizations.of(context).remove,
|
||||
textColor: warning500,
|
||||
makeTextBold: true,
|
||||
),
|
||||
@@ -261,7 +265,7 @@ class _OtherContactPageState extends State<OtherContactPage> {
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
labelText: AppLocalizations.of(context).cancel,
|
||||
buttonType: ButtonType.tertiary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.third,
|
||||
|
||||
@@ -78,8 +78,8 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
}
|
||||
}
|
||||
|
||||
String title = S.of(context).setPasswordTitle;
|
||||
title = S.of(context).resetPasswordTitle;
|
||||
String title = AppLocalizations.of(context).setPasswordTitle;
|
||||
title = AppLocalizations.of(context).resetPasswordTitle;
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomInset: isKeypadOpen,
|
||||
appBar: AppBar(
|
||||
@@ -109,13 +109,13 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
|
||||
Widget _getBody(String buttonTextAndHeading) {
|
||||
final email = widget.sessions.user.email;
|
||||
var passwordStrengthText = S.of(context).weakStrength;
|
||||
var passwordStrengthText = AppLocalizations.of(context).weakStrength;
|
||||
var passwordStrengthColor = Colors.redAccent;
|
||||
if (_passwordStrength > kStrongPasswordStrengthThreshold) {
|
||||
passwordStrengthText = S.of(context).strongStrength;
|
||||
passwordStrengthText = AppLocalizations.of(context).strongStrength;
|
||||
passwordStrengthColor = Colors.greenAccent;
|
||||
} else if (_passwordStrength > kMildPasswordStrengthThreshold) {
|
||||
passwordStrengthText = S.of(context).moderateStrength;
|
||||
passwordStrengthText = AppLocalizations.of(context).moderateStrength;
|
||||
passwordStrengthColor = Colors.orangeAccent;
|
||||
}
|
||||
return Column(
|
||||
@@ -167,7 +167,7 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
fillColor:
|
||||
_isPasswordValid ? _validFieldValueColor : null,
|
||||
filled: true,
|
||||
hintText: S.of(context).password,
|
||||
hintText: AppLocalizations.of(context).password,
|
||||
contentPadding: const EdgeInsets.all(20),
|
||||
border: UnderlineInputBorder(
|
||||
borderSide: BorderSide.none,
|
||||
@@ -230,7 +230,7 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
decoration: InputDecoration(
|
||||
fillColor: _passwordsMatch ? _validFieldValueColor : null,
|
||||
filled: true,
|
||||
hintText: S.of(context).confirmPassword,
|
||||
hintText: AppLocalizations.of(context).confirmPassword,
|
||||
contentPadding: const EdgeInsets.symmetric(
|
||||
horizontal: 20,
|
||||
vertical: 20,
|
||||
@@ -284,7 +284,9 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
padding:
|
||||
const EdgeInsets.symmetric(horizontal: 20, vertical: 8),
|
||||
child: Text(
|
||||
S.of(context).passwordStrength(passwordStrengthText),
|
||||
AppLocalizations.of(context).passwordStrength(
|
||||
passwordStrengthValue: passwordStrengthText,
|
||||
),
|
||||
style: TextStyle(
|
||||
color: passwordStrengthColor,
|
||||
),
|
||||
@@ -302,8 +304,10 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
}
|
||||
|
||||
void _updatePassword() async {
|
||||
final dialog =
|
||||
createProgressDialog(context, S.of(context).generatingEncryptionKeys);
|
||||
final dialog = createProgressDialog(
|
||||
context,
|
||||
AppLocalizations.of(context).generatingEncryptionKeys,
|
||||
);
|
||||
await dialog.show();
|
||||
try {
|
||||
final String password = _passwordController1.text;
|
||||
@@ -353,7 +357,10 @@ class _RecoverOthersAccountState extends State<RecoverOthersAccount> {
|
||||
widget.sessions,
|
||||
);
|
||||
await dialog.hide();
|
||||
showShortToast(context, S.of(context).passwordChangedSuccessfully);
|
||||
showShortToast(
|
||||
context,
|
||||
AppLocalizations.of(context).passwordChangedSuccessfully,
|
||||
);
|
||||
Navigator.of(context).pop();
|
||||
} catch (e, s) {
|
||||
_logger.severe(e, s);
|
||||
|
||||
@@ -66,7 +66,7 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
resizeToAvoidBottomInset: isKeypadOpen,
|
||||
appBar: AppBar(
|
||||
title: Text(
|
||||
S.of(context).addTrustedContact,
|
||||
AppLocalizations.of(context).addTrustedContact,
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
@@ -77,7 +77,7 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Text(
|
||||
S.of(context).addANewEmail,
|
||||
AppLocalizations.of(context).addANewEmail,
|
||||
style: enteTextTheme.small
|
||||
.copyWith(color: enteColorScheme.textMuted),
|
||||
),
|
||||
@@ -97,7 +97,8 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
children: [
|
||||
!isEmailListEmpty
|
||||
? MenuSectionTitle(
|
||||
title: S.of(context).orPickAnExistingOne,
|
||||
title: AppLocalizations.of(context)
|
||||
.orPickAnExistingOne,
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
Expanded(
|
||||
@@ -109,7 +110,8 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
vertical: 8.0,
|
||||
),
|
||||
child: MenuSectionDescriptionWidget(
|
||||
content: S.of(context).whyAddTrustContact,
|
||||
content: AppLocalizations.of(context)
|
||||
.whyAddTrustContact,
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -188,12 +190,14 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
selectedEmail == '' ? _email : selectedEmail;
|
||||
final choiceResult = await showChoiceActionSheet(
|
||||
context,
|
||||
title: S.of(context).warning,
|
||||
body: S.of(context).confirmAddingTrustedContact(
|
||||
emailToAdd,
|
||||
30,
|
||||
),
|
||||
firstButtonLabel: S.of(context).proceed,
|
||||
title: AppLocalizations.of(context).warning,
|
||||
body: AppLocalizations.of(context)
|
||||
.confirmAddingTrustedContact(
|
||||
email: emailToAdd,
|
||||
numOfDays: 30,
|
||||
),
|
||||
firstButtonLabel:
|
||||
AppLocalizations.of(context).proceed,
|
||||
isCritical: true,
|
||||
);
|
||||
if (choiceResult != null &&
|
||||
@@ -208,8 +212,9 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
_logger.severe('Failed to add contact', e);
|
||||
await showErrorDialog(
|
||||
context,
|
||||
S.of(context).error,
|
||||
S.of(context).somethingWentWrong,
|
||||
AppLocalizations.of(context).error,
|
||||
AppLocalizations.of(context)
|
||||
.somethingWentWrong,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -221,8 +226,8 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
if ((selectedEmail == '' && !_emailIsValid)) {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
S.of(context).invalidEmailAddress,
|
||||
S.of(context).enterValidEmail,
|
||||
AppLocalizations.of(context).invalidEmailAddress,
|
||||
AppLocalizations.of(context).enterValidEmail,
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -239,7 +244,7 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
);
|
||||
},
|
||||
child: Text(
|
||||
S.of(context).verifyIDLabel,
|
||||
AppLocalizations.of(context).verifyIDLabel,
|
||||
textAlign: TextAlign.center,
|
||||
style: enteTextTheme.smallMuted.copyWith(
|
||||
decoration: TextDecoration.underline,
|
||||
@@ -278,7 +283,7 @@ class _AddContactPage extends State<AddContactPage> {
|
||||
),
|
||||
fillColor: getEnteColorScheme(context).fillFaint,
|
||||
filled: true,
|
||||
hintText: S.of(context).enterEmail,
|
||||
hintText: AppLocalizations.of(context).enterEmail,
|
||||
contentPadding: const EdgeInsets.symmetric(
|
||||
horizontal: 16,
|
||||
vertical: 14,
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import "package:photos/events/event.dart";
|
||||
import "package:photos/models/preview/preview_item_status.dart";
|
||||
|
||||
class VideoPreviewStateChangedEvent extends Event {
|
||||
final int fileId;
|
||||
final PreviewItemStatus status;
|
||||
|
||||
VideoPreviewStateChangedEvent(this.fileId, this.status);
|
||||
|
||||
@override
|
||||
String get reason => '$runtimeType: fileId=$fileId, status=$status';
|
||||
}
|
||||
251
mobile/apps/photos/lib/generated/intl/messages_all.dart
generated
@@ -1,251 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that looks up messages for specific locales by
|
||||
// delegating to the appropriate library.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:implementation_imports, file_names, unnecessary_new
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, directives_ordering
|
||||
// ignore_for_file:argument_type_not_assignable, invalid_assignment
|
||||
// ignore_for_file:prefer_single_quotes, prefer_generic_function_type_aliases
|
||||
// ignore_for_file:comment_references
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
import 'package:intl/src/intl_helpers.dart';
|
||||
|
||||
import 'messages_ar.dart' as messages_ar;
|
||||
import 'messages_be.dart' as messages_be;
|
||||
import 'messages_bg.dart' as messages_bg;
|
||||
import 'messages_ca.dart' as messages_ca;
|
||||
import 'messages_cs.dart' as messages_cs;
|
||||
import 'messages_da.dart' as messages_da;
|
||||
import 'messages_de.dart' as messages_de;
|
||||
import 'messages_el.dart' as messages_el;
|
||||
import 'messages_en.dart' as messages_en;
|
||||
import 'messages_es.dart' as messages_es;
|
||||
import 'messages_et.dart' as messages_et;
|
||||
import 'messages_eu.dart' as messages_eu;
|
||||
import 'messages_fa.dart' as messages_fa;
|
||||
import 'messages_fr.dart' as messages_fr;
|
||||
import 'messages_gu.dart' as messages_gu;
|
||||
import 'messages_he.dart' as messages_he;
|
||||
import 'messages_hi.dart' as messages_hi;
|
||||
import 'messages_hu.dart' as messages_hu;
|
||||
import 'messages_id.dart' as messages_id;
|
||||
import 'messages_it.dart' as messages_it;
|
||||
import 'messages_ja.dart' as messages_ja;
|
||||
import 'messages_km.dart' as messages_km;
|
||||
import 'messages_ko.dart' as messages_ko;
|
||||
import 'messages_ku.dart' as messages_ku;
|
||||
import 'messages_lt.dart' as messages_lt;
|
||||
import 'messages_lv.dart' as messages_lv;
|
||||
import 'messages_ml.dart' as messages_ml;
|
||||
import 'messages_ms.dart' as messages_ms;
|
||||
import 'messages_nl.dart' as messages_nl;
|
||||
import 'messages_no.dart' as messages_no;
|
||||
import 'messages_or.dart' as messages_or;
|
||||
import 'messages_pl.dart' as messages_pl;
|
||||
import 'messages_pt.dart' as messages_pt;
|
||||
import 'messages_pt_BR.dart' as messages_pt_br;
|
||||
import 'messages_pt_PT.dart' as messages_pt_pt;
|
||||
import 'messages_ro.dart' as messages_ro;
|
||||
import 'messages_ru.dart' as messages_ru;
|
||||
import 'messages_sl.dart' as messages_sl;
|
||||
import 'messages_sr.dart' as messages_sr;
|
||||
import 'messages_sv.dart' as messages_sv;
|
||||
import 'messages_ta.dart' as messages_ta;
|
||||
import 'messages_te.dart' as messages_te;
|
||||
import 'messages_th.dart' as messages_th;
|
||||
import 'messages_ti.dart' as messages_ti;
|
||||
import 'messages_tr.dart' as messages_tr;
|
||||
import 'messages_uk.dart' as messages_uk;
|
||||
import 'messages_vi.dart' as messages_vi;
|
||||
import 'messages_zh.dart' as messages_zh;
|
||||
|
||||
typedef Future<dynamic> LibraryLoader();
|
||||
Map<String, LibraryLoader> _deferredLibraries = {
|
||||
'ar': () => new SynchronousFuture(null),
|
||||
'be': () => new SynchronousFuture(null),
|
||||
'bg': () => new SynchronousFuture(null),
|
||||
'ca': () => new SynchronousFuture(null),
|
||||
'cs': () => new SynchronousFuture(null),
|
||||
'da': () => new SynchronousFuture(null),
|
||||
'de': () => new SynchronousFuture(null),
|
||||
'el': () => new SynchronousFuture(null),
|
||||
'en': () => new SynchronousFuture(null),
|
||||
'es': () => new SynchronousFuture(null),
|
||||
'et': () => new SynchronousFuture(null),
|
||||
'eu': () => new SynchronousFuture(null),
|
||||
'fa': () => new SynchronousFuture(null),
|
||||
'fr': () => new SynchronousFuture(null),
|
||||
'gu': () => new SynchronousFuture(null),
|
||||
'he': () => new SynchronousFuture(null),
|
||||
'hi': () => new SynchronousFuture(null),
|
||||
'hu': () => new SynchronousFuture(null),
|
||||
'id': () => new SynchronousFuture(null),
|
||||
'it': () => new SynchronousFuture(null),
|
||||
'ja': () => new SynchronousFuture(null),
|
||||
'km': () => new SynchronousFuture(null),
|
||||
'ko': () => new SynchronousFuture(null),
|
||||
'ku': () => new SynchronousFuture(null),
|
||||
'lt': () => new SynchronousFuture(null),
|
||||
'lv': () => new SynchronousFuture(null),
|
||||
'ml': () => new SynchronousFuture(null),
|
||||
'ms': () => new SynchronousFuture(null),
|
||||
'nl': () => new SynchronousFuture(null),
|
||||
'no': () => new SynchronousFuture(null),
|
||||
'or': () => new SynchronousFuture(null),
|
||||
'pl': () => new SynchronousFuture(null),
|
||||
'pt': () => new SynchronousFuture(null),
|
||||
'pt_BR': () => new SynchronousFuture(null),
|
||||
'pt_PT': () => new SynchronousFuture(null),
|
||||
'ro': () => new SynchronousFuture(null),
|
||||
'ru': () => new SynchronousFuture(null),
|
||||
'sl': () => new SynchronousFuture(null),
|
||||
'sr': () => new SynchronousFuture(null),
|
||||
'sv': () => new SynchronousFuture(null),
|
||||
'ta': () => new SynchronousFuture(null),
|
||||
'te': () => new SynchronousFuture(null),
|
||||
'th': () => new SynchronousFuture(null),
|
||||
'ti': () => new SynchronousFuture(null),
|
||||
'tr': () => new SynchronousFuture(null),
|
||||
'uk': () => new SynchronousFuture(null),
|
||||
'vi': () => new SynchronousFuture(null),
|
||||
'zh': () => new SynchronousFuture(null),
|
||||
};
|
||||
|
||||
MessageLookupByLibrary? _findExact(String localeName) {
|
||||
switch (localeName) {
|
||||
case 'ar':
|
||||
return messages_ar.messages;
|
||||
case 'be':
|
||||
return messages_be.messages;
|
||||
case 'bg':
|
||||
return messages_bg.messages;
|
||||
case 'ca':
|
||||
return messages_ca.messages;
|
||||
case 'cs':
|
||||
return messages_cs.messages;
|
||||
case 'da':
|
||||
return messages_da.messages;
|
||||
case 'de':
|
||||
return messages_de.messages;
|
||||
case 'el':
|
||||
return messages_el.messages;
|
||||
case 'en':
|
||||
return messages_en.messages;
|
||||
case 'es':
|
||||
return messages_es.messages;
|
||||
case 'et':
|
||||
return messages_et.messages;
|
||||
case 'eu':
|
||||
return messages_eu.messages;
|
||||
case 'fa':
|
||||
return messages_fa.messages;
|
||||
case 'fr':
|
||||
return messages_fr.messages;
|
||||
case 'gu':
|
||||
return messages_gu.messages;
|
||||
case 'he':
|
||||
return messages_he.messages;
|
||||
case 'hi':
|
||||
return messages_hi.messages;
|
||||
case 'hu':
|
||||
return messages_hu.messages;
|
||||
case 'id':
|
||||
return messages_id.messages;
|
||||
case 'it':
|
||||
return messages_it.messages;
|
||||
case 'ja':
|
||||
return messages_ja.messages;
|
||||
case 'km':
|
||||
return messages_km.messages;
|
||||
case 'ko':
|
||||
return messages_ko.messages;
|
||||
case 'ku':
|
||||
return messages_ku.messages;
|
||||
case 'lt':
|
||||
return messages_lt.messages;
|
||||
case 'lv':
|
||||
return messages_lv.messages;
|
||||
case 'ml':
|
||||
return messages_ml.messages;
|
||||
case 'ms':
|
||||
return messages_ms.messages;
|
||||
case 'nl':
|
||||
return messages_nl.messages;
|
||||
case 'no':
|
||||
return messages_no.messages;
|
||||
case 'or':
|
||||
return messages_or.messages;
|
||||
case 'pl':
|
||||
return messages_pl.messages;
|
||||
case 'pt':
|
||||
return messages_pt.messages;
|
||||
case 'pt_BR':
|
||||
return messages_pt_br.messages;
|
||||
case 'pt_PT':
|
||||
return messages_pt_pt.messages;
|
||||
case 'ro':
|
||||
return messages_ro.messages;
|
||||
case 'ru':
|
||||
return messages_ru.messages;
|
||||
case 'sl':
|
||||
return messages_sl.messages;
|
||||
case 'sr':
|
||||
return messages_sr.messages;
|
||||
case 'sv':
|
||||
return messages_sv.messages;
|
||||
case 'ta':
|
||||
return messages_ta.messages;
|
||||
case 'te':
|
||||
return messages_te.messages;
|
||||
case 'th':
|
||||
return messages_th.messages;
|
||||
case 'ti':
|
||||
return messages_ti.messages;
|
||||
case 'tr':
|
||||
return messages_tr.messages;
|
||||
case 'uk':
|
||||
return messages_uk.messages;
|
||||
case 'vi':
|
||||
return messages_vi.messages;
|
||||
case 'zh':
|
||||
return messages_zh.messages;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// User programs should call this before using [localeName] for messages.
|
||||
Future<bool> initializeMessages(String localeName) {
|
||||
var availableLocale = Intl.verifiedLocale(
|
||||
localeName, (locale) => _deferredLibraries[locale] != null,
|
||||
onFailure: (_) => null);
|
||||
if (availableLocale == null) {
|
||||
return new SynchronousFuture(false);
|
||||
}
|
||||
var lib = _deferredLibraries[availableLocale];
|
||||
lib == null ? new SynchronousFuture(false) : lib();
|
||||
initializeInternalMessageLookup(() => new CompositeMessageLookup());
|
||||
messageLookup.addLocale(availableLocale, _findGeneratedMessagesFor);
|
||||
return new SynchronousFuture(true);
|
||||
}
|
||||
|
||||
bool _messagesExistFor(String locale) {
|
||||
try {
|
||||
return _findExact(locale) != null;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
MessageLookupByLibrary? _findGeneratedMessagesFor(String locale) {
|
||||
var actualLocale =
|
||||
Intl.verifiedLocale(locale, _messagesExistFor, onFailure: (_) => null);
|
||||
if (actualLocale == null) return null;
|
||||
return _findExact(actualLocale);
|
||||
}
|
||||
2223
mobile/apps/photos/lib/generated/intl/messages_ar.dart
generated
305
mobile/apps/photos/lib/generated/intl/messages_be.dart
generated
@@ -1,305 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a be locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'be';
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"Надзейнасць пароля: ${passwordStrengthValue}";
|
||||
|
||||
static String m93(storageAmountInGB) => "${storageAmountInGB} Гб";
|
||||
|
||||
static String m114(email) =>
|
||||
"Ліст адпраўлены на электронную пошту <green>${email}</green>";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"about": MessageLookupByLibrary.simpleMessage("Пра праграму"),
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("З вяртаннем!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Я ўсведамляю, што калі я страчу свой пароль, то я магу згубіць свае даныя, бо мае даныя абаронены <underline>скразным шыфраваннем</underline>."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("Актыўныя сеансы"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Дадаць яшчэ"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Дадаць гледача"),
|
||||
"after1Day": MessageLookupByLibrary.simpleMessage("Праз 1 дзень"),
|
||||
"after1Hour": MessageLookupByLibrary.simpleMessage("Праз 1 гадзіну"),
|
||||
"after1Month": MessageLookupByLibrary.simpleMessage("Праз 1 месяц"),
|
||||
"after1Week": MessageLookupByLibrary.simpleMessage("Праз 1 тыдзень"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Праз 1 год"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Уладальнік"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Ужыць"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Якая асноўная прычына выдалення вашага ўліковага запісу?"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Рэзервовая копія"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Скасаваць"),
|
||||
"change": MessageLookupByLibrary.simpleMessage("Змяніць"),
|
||||
"changeEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Змяніць адрас электроннай пошты"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Змяніць пароль"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"Праверце свае ўваходныя лісты (і спам) для завяршэння праверкі"),
|
||||
"codeAppliedPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Код ужыты"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("Пацвердзіць"),
|
||||
"confirmAccountDeletion": MessageLookupByLibrary.simpleMessage(
|
||||
"Пацвердзіць выдаленне ўліковага запісу"),
|
||||
"confirmDeletePrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Так. Я хачу незваротна выдаліць гэты ўліковы запіс і яго даныя ва ўсіх праграмах."),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Пацвердзіць пароль"),
|
||||
"contactSupport": MessageLookupByLibrary.simpleMessage(
|
||||
"Звярніцеся ў службу падтрымкі"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Працягнуць"),
|
||||
"copyLink": MessageLookupByLibrary.simpleMessage("Скапіяваць спасылку"),
|
||||
"createAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Стварыць уліковы запіс"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Стварыць новы ўліковы запіс"),
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Цёмная"),
|
||||
"decrypting": MessageLookupByLibrary.simpleMessage("Расшыфроўка..."),
|
||||
"deleteAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Выдаліць уліковы запіс"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Нам шкада, што вы выдаляеце свой уліковы запіс. Абагуліце з намі водгук, каб дапамагчы нам палепшыць сэрвіс."),
|
||||
"deleteAccountPermanentlyButton": MessageLookupByLibrary.simpleMessage(
|
||||
"Незваротна выдаліць уліковы запіс"),
|
||||
"deleteAlbum": MessageLookupByLibrary.simpleMessage("Выдаліць альбом"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"Адпраўце ліст на <warning>account-deletion@ente.io</warning> з вашага зарэгістраванага адраса электроннай пошты."),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Выдаліць з Ente"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Выдаліць фота"),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"У вас адсутнічае важная функцыя, якая мне неабходна"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"Праграма або пэўная функцыя не паводзіць сябе так, як павінна"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"Я знайшоў больш прывабны сэрвіс"),
|
||||
"deleteReason4":
|
||||
MessageLookupByLibrary.simpleMessage("Прычына адсутнічае ў спісе"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"Ваш запыт будзе апрацаваны цягам 72 гадзін."),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Падрабязнасці"),
|
||||
"discover_food": MessageLookupByLibrary.simpleMessage("Ежа"),
|
||||
"discover_notes": MessageLookupByLibrary.simpleMessage("Нататкі"),
|
||||
"discover_pets": MessageLookupByLibrary.simpleMessage("Хатнія жывёлы"),
|
||||
"discover_receipts": MessageLookupByLibrary.simpleMessage("Чэкі"),
|
||||
"discover_screenshots":
|
||||
MessageLookupByLibrary.simpleMessage("Скрыншоты"),
|
||||
"discover_selfies": MessageLookupByLibrary.simpleMessage("Сэлфi"),
|
||||
"discover_wallpapers": MessageLookupByLibrary.simpleMessage("Шпалеры"),
|
||||
"doThisLater":
|
||||
MessageLookupByLibrary.simpleMessage("Зрабіць гэта пазней"),
|
||||
"done": MessageLookupByLibrary.simpleMessage("Гатова"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Электронная пошта"),
|
||||
"emailAlreadyRegistered": MessageLookupByLibrary.simpleMessage(
|
||||
"Электронная пошта ўжо зарэгістравана."),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Шыфраванне"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Ключы шыфравання"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Праграме <i>неабходны доступ</i> для захавання вашых фатаграфій"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("Увядзіце код"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Увядзіце новы пароль, каб мы маглі выкарыстаць яго для расшыфроўкі вашых даных"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Увядзіце пароль, каб мы маглі выкарыстаць яго для расшыфроўкі вашых даных"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Увядзіце сапраўдны адрас электронная пошты."),
|
||||
"enterYourEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Увядзіце свой адрас электроннай пошты"),
|
||||
"enterYourNewEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Увядзіце ваш новы адрас электроннай пошты"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Увядзіце свой пароль"),
|
||||
"enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Увядзіце свой ключ аднаўлення"),
|
||||
"familyPlans":
|
||||
MessageLookupByLibrary.simpleMessage("Сямейныя тарыфныя планы"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("Частыя пытанні"),
|
||||
"faqs": MessageLookupByLibrary.simpleMessage("Частыя пытанні"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("Водгук"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Забыліся пароль"),
|
||||
"freeTrial":
|
||||
MessageLookupByLibrary.simpleMessage("Бясплатная пробная версія"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Асноўныя"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Генерацыя ключоў шыфравання..."),
|
||||
"howItWorks": MessageLookupByLibrary.simpleMessage("Як гэта працуе"),
|
||||
"ignoreUpdate": MessageLookupByLibrary.simpleMessage("Iгнараваць"),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Няправільны пароль"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Вы ўвялі памылковы ключ аднаўлення"),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Няправільны ключ аднаўлення"),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Небяспечная прылада"),
|
||||
"installManually":
|
||||
MessageLookupByLibrary.simpleMessage("Усталяваць уручную"),
|
||||
"invalidEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Памылковы адрас электроннай пошты"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("Няправільны ключ"),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"Калі ласка, дапамажыце нам з гэтай інфармацыяй"),
|
||||
"lightTheme": MessageLookupByLibrary.simpleMessage("Светлая"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Пратэрмінавана"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("Ніколі"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Замкнуць"),
|
||||
"lockscreen": MessageLookupByLibrary.simpleMessage("Экран блакіроўкі"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Увайсці"),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Націскаючы ўвайсці, я пагаджаюся з <u-terms>умовамі абслугоўвання</u-terms> і <u-policy>палітыкай прыватнасці</u-policy>"),
|
||||
"logout": MessageLookupByLibrary.simpleMessage("Выйсці"),
|
||||
"lostDevice": MessageLookupByLibrary.simpleMessage("Згубілі прыладу?"),
|
||||
"magicSearch": MessageLookupByLibrary.simpleMessage("Магічны пошук"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Кіраванне"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("Кіраванне"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Умераны"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Ніколі"),
|
||||
"noDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("✨ Няма дублікатаў"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Няма ключа аднаўлення?"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"Вашы даныя не могуць быць расшыфраваны без пароля або ключа аднаўлення па прычыне архітэктуры наша пратакола скразнога шыфравання"),
|
||||
"notifications": MessageLookupByLibrary.simpleMessage("Апавяшчэнні"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("Добра"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("Вой"),
|
||||
"oopsSomethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Штосьці пайшло не так"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Пароль"),
|
||||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("Пароль паспяхова зменены"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Мы не захоўваем гэты пароль і <underline>мы не зможам расшыфраваць вашы даныя</underline>, калі вы забудзеце яго"),
|
||||
"photoSmallCase": MessageLookupByLibrary.simpleMessage("фота"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Паспрабуйце яшчэ раз"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("Пачакайце..."),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Палітыка прыватнасці"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Ацаніце нас"),
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Аднавіць"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Аднавіць уліковы запіс"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("Аднавіць"),
|
||||
"recoveryKey": MessageLookupByLibrary.simpleMessage("Ключ аднаўлення"),
|
||||
"recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"Ключ аднаўлення скапіяваны ў буфер абмену"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Адзіным спосабам аднавіць вашы даныя з\'яўляецца гэты ключ, калі вы забылі свой пароль."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Захавайце гэты ключ, які складаецца з 24 слоў, у наедзеным месцы. Ён не захоўваецца на нашым серверы."),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("Паспяховае аднаўленне!"),
|
||||
"recreatePasswordBody": MessageLookupByLibrary.simpleMessage(
|
||||
"У бягучай прылады недастаткова вылічальнай здольнасці для праверкі вашага паролю, але мы можам регенерыраваць яго, бо гэта працуе з усімі прыладамі.\n\nУвайдзіце, выкарыстоўваючы свой ключа аднаўлення і регенерыруйце свой пароль (калі хочаце, то можаце выбраць папярэдні пароль)."),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Стварыць пароль паўторна"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Выдаліць"),
|
||||
"removeDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("Выдаліць дублікаты"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Выдаліць удзельніка"),
|
||||
"removeWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Выдаліць?"),
|
||||
"resendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Адправіць ліст яшчэ раз"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Скінуць пароль"),
|
||||
"retry": MessageLookupByLibrary.simpleMessage("Паўтарыць"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("Захаваць ключ"),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("Сканіраваць код"),
|
||||
"security": MessageLookupByLibrary.simpleMessage("Бяспека"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("Абраць усё"),
|
||||
"selectReason":
|
||||
MessageLookupByLibrary.simpleMessage("Выберыце прычыну"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Адправіць ліст"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Адправіць спасылку"),
|
||||
"setPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Задаць пароль"),
|
||||
"setupComplete":
|
||||
MessageLookupByLibrary.simpleMessage("Наладжванне завершана"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Я пагаджаюся з <u-terms>умовамі абслугоўвання</u-terms> і <u-policy>палітыкай прыватнасці</u-policy>"),
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Прапусціць"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Нешта пайшло не так. Паспрабуйце яшчэ раз"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("Прабачце"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Немагчыма згенерыраваць ключы бяспекі на гэтай прыладзе.\n\nЗарэгіструйцеся з іншай прылады."),
|
||||
"status": MessageLookupByLibrary.simpleMessage("Стан"),
|
||||
"storageInGB": m93,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Надзейны"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Падтрымка"),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("Сістэма"),
|
||||
"tapToCopy":
|
||||
MessageLookupByLibrary.simpleMessage("націсніце, каб скапіяваць"),
|
||||
"tapToEnterCode":
|
||||
MessageLookupByLibrary.simpleMessage("Націсніце, каб увесці код"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("Перарваць"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("Перарваць сеанс?"),
|
||||
"termsOfServicesTitle": MessageLookupByLibrary.simpleMessage("Умовы"),
|
||||
"theme": MessageLookupByLibrary.simpleMessage("Тема"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("Гэта прылада"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Гэта дзеянне завяршыць сеанс на наступнай прыладзе:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Гэта дзеянне завяршыць сеанс на вашай прыладзе!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Праверце электронную пошту, каб скінуць свой пароль."),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Сметніца"),
|
||||
"twofactorAuthenticationPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Двухфактарная аўтэнтыфікацыя"),
|
||||
"uncategorized": MessageLookupByLibrary.simpleMessage("Без катэгорыі"),
|
||||
"update": MessageLookupByLibrary.simpleMessage("Абнавіць"),
|
||||
"updateAvailable":
|
||||
MessageLookupByLibrary.simpleMessage("Даступна абнаўленне"),
|
||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Выкарыстоўваць ключ аднаўлення"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Праверыць"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Праверыць электронную пошту"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Праверыць пароль"),
|
||||
"videoSmallCase": MessageLookupByLibrary.simpleMessage("відэа"),
|
||||
"viewLargeFiles": MessageLookupByLibrary.simpleMessage("Вялікія файлы"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("Праглядальнік"),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Ненадзейны"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("З вяртаннем!"),
|
||||
"yesDelete": MessageLookupByLibrary.simpleMessage("Так, выдаліць"),
|
||||
"yesLogout": MessageLookupByLibrary.simpleMessage("Так, выйсці"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("Так, выдаліць"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("Вы"),
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Ваш уліковы запіс быў выдалены")
|
||||
};
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a bg locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'bg';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{};
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a ca locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'ca';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{};
|
||||
}
|
||||
645
mobile/apps/photos/lib/generated/intl/messages_cs.dart
generated
@@ -1,645 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a cs locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'cs';
|
||||
|
||||
static String m6(albumName) => "Úspěšně přidáno do ${albumName}";
|
||||
|
||||
static String m25(supportEmail) =>
|
||||
"Prosíme, napiště e-mail na ${supportEmail} ze schránky, kterou jste použili k registraci";
|
||||
|
||||
static String m47(expiryTime) => "Platnost odkazu vyprší ${expiryTime}";
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"Síla hesla: ${passwordStrengthValue}";
|
||||
|
||||
static String m68(storeName) => "Ohodnoťte nás na ${storeName}";
|
||||
|
||||
static String m75(endDate) => "Předplatné se obnoví ${endDate}";
|
||||
|
||||
static String m82(name) => "Selfie s ${name}";
|
||||
|
||||
static String m111(email) => "Ověřit ${email}";
|
||||
|
||||
static String m114(email) =>
|
||||
"Poslali jsme vám zprávu na <green>${email}</green>";
|
||||
|
||||
static String m117(name) => "Vy a ${name}";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"aNewVersionOfEnteIsAvailable": MessageLookupByLibrary.simpleMessage(
|
||||
"Je dostupná nová verze Ente."),
|
||||
"acceptTrustInvite":
|
||||
MessageLookupByLibrary.simpleMessage("Přijmout pozvání"),
|
||||
"account": MessageLookupByLibrary.simpleMessage("Účet"),
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Vítejte zpět!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Rozumím, že pokud zapomenu své heslo, mohu přijít o data, jelikož má data jsou <underline>koncově šifrována</underline>."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("Aktivní relace"),
|
||||
"add": MessageLookupByLibrary.simpleMessage("Přidat"),
|
||||
"addFiles": MessageLookupByLibrary.simpleMessage("Přidat soubory"),
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("Přidat polohu"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Přidat"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Přidat další"),
|
||||
"addName": MessageLookupByLibrary.simpleMessage("Přidat název"),
|
||||
"addNew": MessageLookupByLibrary.simpleMessage("Přidat nový"),
|
||||
"addNewPerson":
|
||||
MessageLookupByLibrary.simpleMessage("Přidat novou osobu"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("Přidat fotky"),
|
||||
"addToAlbum": MessageLookupByLibrary.simpleMessage("Přidat do alba"),
|
||||
"addedSuccessfullyTo": m6,
|
||||
"advancedSettings": MessageLookupByLibrary.simpleMessage("Pokročilé"),
|
||||
"after1Day": MessageLookupByLibrary.simpleMessage("Po 1 dni"),
|
||||
"after1Hour": MessageLookupByLibrary.simpleMessage("Po 1 hodině"),
|
||||
"after1Month": MessageLookupByLibrary.simpleMessage("Po 1 měsíci"),
|
||||
"after1Week": MessageLookupByLibrary.simpleMessage("Po 1 týdnu"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Po 1 roce"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Vlastník"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Album bylo aktualizováno"),
|
||||
"albums": MessageLookupByLibrary.simpleMessage("Alba"),
|
||||
"allow": MessageLookupByLibrary.simpleMessage("Povolit"),
|
||||
"androidBiometricRequiredTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Je požadováno biometrické ověření"),
|
||||
"androidBiometricSuccess":
|
||||
MessageLookupByLibrary.simpleMessage("Úspěšně dokončeno"),
|
||||
"androidCancelButton": MessageLookupByLibrary.simpleMessage("Zrušit"),
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Použít"),
|
||||
"archiveAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Archivovat album"),
|
||||
"archiving": MessageLookupByLibrary.simpleMessage("Archivování..."),
|
||||
"areYouSureYouWantToLogout":
|
||||
MessageLookupByLibrary.simpleMessage("Opravdu se chcete odhlásit?"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Jaký je váš hlavní důvod, proč mažete svůj účet?"),
|
||||
"autoLock":
|
||||
MessageLookupByLibrary.simpleMessage("Automatické zamykání"),
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Zálohované složky"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Zálohovat"),
|
||||
"backupFile": MessageLookupByLibrary.simpleMessage("Zálohovat soubor"),
|
||||
"backupStatus": MessageLookupByLibrary.simpleMessage("Stav zálohování"),
|
||||
"birthday": MessageLookupByLibrary.simpleMessage("Narozeniny"),
|
||||
"blog": MessageLookupByLibrary.simpleMessage("Blog"),
|
||||
"cachedData":
|
||||
MessageLookupByLibrary.simpleMessage("Data uložená v mezipaměti"),
|
||||
"calculating":
|
||||
MessageLookupByLibrary.simpleMessage("Probíhá výpočet..."),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Zrušit"),
|
||||
"cancelAccountRecovery":
|
||||
MessageLookupByLibrary.simpleMessage("Zrušit obnovení"),
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Sdílené soubory nelze odstranit"),
|
||||
"changeEmail": MessageLookupByLibrary.simpleMessage("Změnit e-mail"),
|
||||
"changePassword": MessageLookupByLibrary.simpleMessage("Změnit heslo"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Změnit heslo"),
|
||||
"checkForUpdates":
|
||||
MessageLookupByLibrary.simpleMessage("Zkontrolovat aktualizace"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"Zkontrolujte prosím svou doručenou poštu (a spam) pro dokončení ověření"),
|
||||
"checkStatus":
|
||||
MessageLookupByLibrary.simpleMessage("Zkontrolovat stav"),
|
||||
"checking": MessageLookupByLibrary.simpleMessage("Probíhá kontrola..."),
|
||||
"clearCaches":
|
||||
MessageLookupByLibrary.simpleMessage("Vymazat mezipaměť"),
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("Smazat indexy"),
|
||||
"close": MessageLookupByLibrary.simpleMessage("Zavřít"),
|
||||
"codeAppliedPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Kód byl použit"),
|
||||
"codeCopiedToClipboard":
|
||||
MessageLookupByLibrary.simpleMessage("Kód zkopírován do schránky"),
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Spolupracovník"),
|
||||
"collageLayout": MessageLookupByLibrary.simpleMessage("Rozvržení"),
|
||||
"color": MessageLookupByLibrary.simpleMessage("Barva"),
|
||||
"configuration": MessageLookupByLibrary.simpleMessage("Nastavení"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("Potvrdit"),
|
||||
"confirmAccountDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("Potvrdit odstranění účtu"),
|
||||
"confirmDeletePrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Ano, chci trvale smazat tento účet a jeho data napříč všemi aplikacemi."),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Potvrdte heslo"),
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Kontaktovat podporu"),
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Kontakty"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Pokračovat"),
|
||||
"count": MessageLookupByLibrary.simpleMessage("Počet"),
|
||||
"crashReporting":
|
||||
MessageLookupByLibrary.simpleMessage("Hlášení o pádu"),
|
||||
"create": MessageLookupByLibrary.simpleMessage("Vytvořit"),
|
||||
"createAccount": MessageLookupByLibrary.simpleMessage("Vytvořit účet"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Vytvořit nový účet"),
|
||||
"crop": MessageLookupByLibrary.simpleMessage("Oříznout"),
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Tmavý"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("Dnes"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("Včera"),
|
||||
"declineTrustInvite":
|
||||
MessageLookupByLibrary.simpleMessage("Odmítnout pozvání"),
|
||||
"decrypting": MessageLookupByLibrary.simpleMessage("Dešifrování..."),
|
||||
"decryptingVideo":
|
||||
MessageLookupByLibrary.simpleMessage("Dešifrování videa..."),
|
||||
"delete": MessageLookupByLibrary.simpleMessage("Smazat"),
|
||||
"deleteAccount": MessageLookupByLibrary.simpleMessage("Smazat účet"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Je nám líto, že nás opouštíte. Prosím, dejte nám zpětnou vazbu, ať se můžeme zlepšit."),
|
||||
"deleteAccountPermanentlyButton":
|
||||
MessageLookupByLibrary.simpleMessage("Trvale smazat účet"),
|
||||
"deleteAlbum": MessageLookupByLibrary.simpleMessage("Odstranit album"),
|
||||
"deleteAll": MessageLookupByLibrary.simpleMessage("Smazat vše"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"Prosím, zašlete e-mail na <warning>account-deletion@ente.io</warning> ze schránky, se kterou jste se registrovali."),
|
||||
"deleteEmptyAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("Smazat prázdná alba"),
|
||||
"deleteEmptyAlbumsWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Smazat prázdná alba?"),
|
||||
"deleteFromBoth":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit z obou"),
|
||||
"deleteFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit ze zařízení"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit z Ente"),
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit polohu"),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Chybí klíčová funkce, kterou potřebuji"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"Aplikace nebo určitá funkce se nechová tak, jak si myslím, že by měla"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"Našel jsem jinou službu, která se mi líbí více"),
|
||||
"deleteReason4":
|
||||
MessageLookupByLibrary.simpleMessage("Můj důvod není uveden"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"Váš požadavek bude zpracován do 72 hodin."),
|
||||
"deleteSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Opustit sdílené album?"),
|
||||
"deselectAll":
|
||||
MessageLookupByLibrary.simpleMessage("Zrušte výběr všech"),
|
||||
"deviceCodeHint": MessageLookupByLibrary.simpleMessage("Zadejte kód"),
|
||||
"deviceLock": MessageLookupByLibrary.simpleMessage("Zámek zařízení"),
|
||||
"deviceNotFound":
|
||||
MessageLookupByLibrary.simpleMessage("Zařízení nebylo nalezeno"),
|
||||
"didYouKnow": MessageLookupByLibrary.simpleMessage("Věděli jste?"),
|
||||
"discord": MessageLookupByLibrary.simpleMessage("Discord"),
|
||||
"discover_food": MessageLookupByLibrary.simpleMessage("Jídlo"),
|
||||
"discover_pets":
|
||||
MessageLookupByLibrary.simpleMessage("Domácí mazlíčci"),
|
||||
"discover_screenshots":
|
||||
MessageLookupByLibrary.simpleMessage("Snímky obrazovky"),
|
||||
"discover_selfies": MessageLookupByLibrary.simpleMessage("Selfie"),
|
||||
"discover_wallpapers": MessageLookupByLibrary.simpleMessage("Pozadí"),
|
||||
"dismiss": MessageLookupByLibrary.simpleMessage("Zrušit"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("Udělat později"),
|
||||
"done": MessageLookupByLibrary.simpleMessage("Hotovo"),
|
||||
"doubleYourStorage":
|
||||
MessageLookupByLibrary.simpleMessage("Zdvojnásobte své úložiště"),
|
||||
"download": MessageLookupByLibrary.simpleMessage("Stáhnout"),
|
||||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Stahování selhalo"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Stahuji..."),
|
||||
"dropSupportEmail": m25,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Upravit"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Upravit polohu"),
|
||||
"editLocationTagTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Upravit lokalitu"),
|
||||
"editPerson": MessageLookupByLibrary.simpleMessage("Upravit osobu"),
|
||||
"editTime": MessageLookupByLibrary.simpleMessage("Upravit čas"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailAlreadyRegistered": MessageLookupByLibrary.simpleMessage(
|
||||
"E-mail je již zaregistrován."),
|
||||
"emailNotRegistered":
|
||||
MessageLookupByLibrary.simpleMessage("E-mail není registrován."),
|
||||
"empty": MessageLookupByLibrary.simpleMessage("Vyprázdnit"),
|
||||
"emptyTrash": MessageLookupByLibrary.simpleMessage("Vyprázdnit koš?"),
|
||||
"enable": MessageLookupByLibrary.simpleMessage("Povolit"),
|
||||
"enabled": MessageLookupByLibrary.simpleMessage("Zapnuto"),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Šifrování"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Šifrovací klíče"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Ente <i>potřebuje oprávnění</i> k uchovávání vašich fotek"),
|
||||
"enterAlbumName":
|
||||
MessageLookupByLibrary.simpleMessage("Zadejte název alba"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("Zadat kód"),
|
||||
"enterDateOfBirth":
|
||||
MessageLookupByLibrary.simpleMessage("Narozeniny (volitelné)"),
|
||||
"enterFileName":
|
||||
MessageLookupByLibrary.simpleMessage("Zadejte název souboru"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Zadejte nové heslo, které můžeme použít k šifrování vašich dat"),
|
||||
"enterPassword": MessageLookupByLibrary.simpleMessage("Zadejte heslo"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Zadejte heslo, které můžeme použít k šifrování vašich dat"),
|
||||
"enterPin": MessageLookupByLibrary.simpleMessage("Zadejte PIN"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Prosím, zadejte platnou e-mailovou adresu."),
|
||||
"enterYourEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Zadejte svou e-mailovou adresu"),
|
||||
"enterYourNewEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Zadejte novou e-mailovou adresu"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Zadejte své heslo"),
|
||||
"enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Zadejte svůj obnovovací klíč"),
|
||||
"everywhere": MessageLookupByLibrary.simpleMessage("všude"),
|
||||
"exif": MessageLookupByLibrary.simpleMessage("EXIF"),
|
||||
"exportLogs": MessageLookupByLibrary.simpleMessage("Exportovat logy"),
|
||||
"exportYourData":
|
||||
MessageLookupByLibrary.simpleMessage("Exportujte svá data"),
|
||||
"faces": MessageLookupByLibrary.simpleMessage("Obličeje"),
|
||||
"failedToDownloadVideo": MessageLookupByLibrary.simpleMessage(
|
||||
"Stahování videa se nezdařilo"),
|
||||
"failedToLoadAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("Nepodařilo se načíst alba"),
|
||||
"failedToPlayVideo": MessageLookupByLibrary.simpleMessage(
|
||||
"Přehrávání videa se nezdařilo"),
|
||||
"familyPlanPortalTitle": MessageLookupByLibrary.simpleMessage("Rodina"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("Často kladené dotazy"),
|
||||
"faqs": MessageLookupByLibrary.simpleMessage("Často kladené dotazy"),
|
||||
"favorite": MessageLookupByLibrary.simpleMessage("Oblíbené"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("Zpětná vazba"),
|
||||
"fileInfoAddDescHint":
|
||||
MessageLookupByLibrary.simpleMessage("Přidat popis..."),
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("Typy souboru"),
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Soubory odstraněny"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Překlopit"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Zapomenuté heslo"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Uvolnit místo"),
|
||||
"gallery": MessageLookupByLibrary.simpleMessage("Galerie"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Obecné"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Generování šifrovacích klíčů..."),
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Jít do nastavení"),
|
||||
"hidden": MessageLookupByLibrary.simpleMessage("Skryté"),
|
||||
"hide": MessageLookupByLibrary.simpleMessage("Skrýt"),
|
||||
"howItWorks": MessageLookupByLibrary.simpleMessage("Jak to funguje"),
|
||||
"iOSOkButton": MessageLookupByLibrary.simpleMessage("OK"),
|
||||
"ignoreUpdate": MessageLookupByLibrary.simpleMessage("Ignorovat"),
|
||||
"immediately": MessageLookupByLibrary.simpleMessage("Ihned"),
|
||||
"importing": MessageLookupByLibrary.simpleMessage("Importování…"),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Nesprávné heslo"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(""),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Nesprávný obnovovací klíč"),
|
||||
"info": MessageLookupByLibrary.simpleMessage("Informace"),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Nezabezpečené zařízení"),
|
||||
"installManually":
|
||||
MessageLookupByLibrary.simpleMessage("Instalovat manuálně"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Neplatná e-mailová adresa"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("Neplatný klíč"),
|
||||
"invite": MessageLookupByLibrary.simpleMessage("Pozvat"),
|
||||
"inviteToEnte": MessageLookupByLibrary.simpleMessage("Pozvat do Ente"),
|
||||
"inviteYourFriendsToEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Pozvěte své přátelé do Ente"),
|
||||
"join": MessageLookupByLibrary.simpleMessage("Připojit se"),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"Pomozte nám s těmito informacemi"),
|
||||
"language": MessageLookupByLibrary.simpleMessage("Jazyk"),
|
||||
"leave": MessageLookupByLibrary.simpleMessage("Odejít"),
|
||||
"leaveAlbum": MessageLookupByLibrary.simpleMessage("Opustit album"),
|
||||
"left": MessageLookupByLibrary.simpleMessage("Doleva"),
|
||||
"lightTheme": MessageLookupByLibrary.simpleMessage("Světlý"),
|
||||
"linkExpiresOn": m47,
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Platnost odkazu vypršela"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("Nikdy"),
|
||||
"loadingGallery":
|
||||
MessageLookupByLibrary.simpleMessage("Načítání galerie..."),
|
||||
"location": MessageLookupByLibrary.simpleMessage("Poloha"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Lokality"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Uzamknout"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Přihlásit se"),
|
||||
"loggingOut": MessageLookupByLibrary.simpleMessage("Odhlašování..."),
|
||||
"loginSessionExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Relace vypršela"),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Kliknutím na přihlášení souhlasím s <u-terms>podmínkami služby</u-terms> a <u-policy>zásadami ochrany osobních údajů</u-policy>"),
|
||||
"loginWithTOTP":
|
||||
MessageLookupByLibrary.simpleMessage("Přihlášení pomocí TOTP"),
|
||||
"logout": MessageLookupByLibrary.simpleMessage("Odhlásit se"),
|
||||
"lostDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Ztratili jste zařízení?"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Spravovat"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("Spravovat"),
|
||||
"manageSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Spravovat předplatné"),
|
||||
"map": MessageLookupByLibrary.simpleMessage("Mapa"),
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Mapy"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"me": MessageLookupByLibrary.simpleMessage("Já"),
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("E-shop"),
|
||||
"mergedPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Sloučené fotografie"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Střední"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momenty"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Měsíčně"),
|
||||
"moreDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Další podrobnosti"),
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Přesunout do alba"),
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Přesunuto do koše"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Nikdy"),
|
||||
"newAlbum": MessageLookupByLibrary.simpleMessage("Nové album"),
|
||||
"newPerson": MessageLookupByLibrary.simpleMessage("Nová osoba"),
|
||||
"newRange": MessageLookupByLibrary.simpleMessage("Nový rozsah"),
|
||||
"newest": MessageLookupByLibrary.simpleMessage("Nejnovější"),
|
||||
"next": MessageLookupByLibrary.simpleMessage("Další"),
|
||||
"no": MessageLookupByLibrary.simpleMessage("Ne"),
|
||||
"noAlbumsSharedByYouYet": MessageLookupByLibrary.simpleMessage(
|
||||
"Zatím nemáte žádná sdílená alba"),
|
||||
"noDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("✨ Žádné duplicity"),
|
||||
"noInternetConnection":
|
||||
MessageLookupByLibrary.simpleMessage("Žádné připojení k internetu"),
|
||||
"noPhotosFoundHere": MessageLookupByLibrary.simpleMessage(
|
||||
"Zde nebyly nalezeny žádné fotky"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Nemáte obnovovací klíč?"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"Vzhledem k povaze našeho protokolu koncového šifrování nemohou být vaše data dešifrována bez vašeho hesla nebo obnovovacího klíče"),
|
||||
"noResultsFound": MessageLookupByLibrary.simpleMessage(
|
||||
"Nebyly nalezeny žádné výsledky"),
|
||||
"notifications": MessageLookupByLibrary.simpleMessage("Notifikace"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("Ok"),
|
||||
"onDevice": MessageLookupByLibrary.simpleMessage("V zařízení"),
|
||||
"onEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Na <branding>ente</branding>"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("Jejda"),
|
||||
"oopsSomethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Jejda, něco se pokazilo"),
|
||||
"openAlbumInBrowser":
|
||||
MessageLookupByLibrary.simpleMessage("Otevřít album v prohlížeči"),
|
||||
"openFile": MessageLookupByLibrary.simpleMessage("Otevřít soubor"),
|
||||
"openSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Otevřít Nastavení"),
|
||||
"pair": MessageLookupByLibrary.simpleMessage("Spárovat"),
|
||||
"panorama": MessageLookupByLibrary.simpleMessage("Panorama"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Heslo"),
|
||||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("Heslo úspěšně změněno"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Toto heslo neukládáme, takže pokud jej zapomenete, <underline>nemůžeme dešifrovat vaše data</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Platební údaje"),
|
||||
"people": MessageLookupByLibrary.simpleMessage("Lidé"),
|
||||
"permanentlyDelete":
|
||||
MessageLookupByLibrary.simpleMessage("Trvale odstranit"),
|
||||
"personName": MessageLookupByLibrary.simpleMessage("Jméno osoby"),
|
||||
"photos": MessageLookupByLibrary.simpleMessage("Fotky"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Připnout album"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Přihlaste se, prosím, znovu"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Zkuste to prosím znovu"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("Čekejte prosím..."),
|
||||
"previous": MessageLookupByLibrary.simpleMessage("Předchozí"),
|
||||
"privacy": MessageLookupByLibrary.simpleMessage("Soukromí"),
|
||||
"privacyPolicyTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Zásady ochrany osobních údajů"),
|
||||
"processing": MessageLookupByLibrary.simpleMessage("Zpracovává se"),
|
||||
"publicLinkCreated":
|
||||
MessageLookupByLibrary.simpleMessage("Veřejný odkaz vytvořen"),
|
||||
"queued": MessageLookupByLibrary.simpleMessage("Ve frontě"),
|
||||
"radius": MessageLookupByLibrary.simpleMessage("Rádius"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Ohodnoť nás"),
|
||||
"rateUsOnStore": m68,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Obnovit"),
|
||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("Obnovit účet"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("Obnovit"),
|
||||
"recoveryKey": MessageLookupByLibrary.simpleMessage("Obnovovací klíč"),
|
||||
"recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"Obnovovací klíč zkopírován do schránky"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Tento klíč je jedinou cestou pro obnovení Vašich dat, pokud zapomenete heslo."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Tento 24-slovný klíč neuchováváme, uschovejte ho, prosím, na bezpečném místě."),
|
||||
"recoveryKeyVerified":
|
||||
MessageLookupByLibrary.simpleMessage("Obnovovací klíč byl ověřen"),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("Úspěšně obnoveno!"),
|
||||
"recreatePasswordBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Aktuální zařízení není dostatečně silné k ověření vašeho hesla, ale můžeme ho regenerovat způsobem, které funguje na všech zařízeních.\n\nProsím, přihlašte se pomocí vašeho obnovovacího klíče a regenerujte své heslo (můžete klidně znovu použít své aktuální heslo)."),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Znovu vytvořit heslo"),
|
||||
"reddit": MessageLookupByLibrary.simpleMessage("Reddit"),
|
||||
"reenterPin": MessageLookupByLibrary.simpleMessage("Zadejte PIN znovu"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Odstranit"),
|
||||
"removeDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit duplicity"),
|
||||
"removeFromAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit z alba"),
|
||||
"removeFromAlbumTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit z alba?"),
|
||||
"removeInvite":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit pozvání"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Odstranit odkaz"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Odebrat účastníka"),
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit veřejný odkaz"),
|
||||
"removeWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Odstranit?"),
|
||||
"rename": MessageLookupByLibrary.simpleMessage("Přejmenovat"),
|
||||
"renameAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Přejmenovat album"),
|
||||
"renameFile":
|
||||
MessageLookupByLibrary.simpleMessage("Přejmenovat soubor"),
|
||||
"renewsOn": m75,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Nahlásit chybu"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Nahlásit chybu"),
|
||||
"resendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Znovu odeslat e-mail"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Obnovit heslo"),
|
||||
"resetPerson": MessageLookupByLibrary.simpleMessage("Odstranit"),
|
||||
"restore": MessageLookupByLibrary.simpleMessage("Obnovit"),
|
||||
"restoringFiles":
|
||||
MessageLookupByLibrary.simpleMessage("Obnovuji soubory..."),
|
||||
"retry": MessageLookupByLibrary.simpleMessage("Opakovat"),
|
||||
"right": MessageLookupByLibrary.simpleMessage("Doprava"),
|
||||
"rotate": MessageLookupByLibrary.simpleMessage("Otočit"),
|
||||
"rotateLeft": MessageLookupByLibrary.simpleMessage("Otočit doleva"),
|
||||
"rotateRight": MessageLookupByLibrary.simpleMessage("Otočit doprava"),
|
||||
"safelyStored":
|
||||
MessageLookupByLibrary.simpleMessage("Bezpečně uloženo"),
|
||||
"save": MessageLookupByLibrary.simpleMessage("Uložit"),
|
||||
"saveCopy": MessageLookupByLibrary.simpleMessage("Uložit kopii"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("Uložit klíč"),
|
||||
"savePerson": MessageLookupByLibrary.simpleMessage("Uložit osobu"),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("Skenovat kód"),
|
||||
"search": MessageLookupByLibrary.simpleMessage("Hledat"),
|
||||
"searchAlbumsEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("Alba"),
|
||||
"searchByAlbumNameHint":
|
||||
MessageLookupByLibrary.simpleMessage("Název alba"),
|
||||
"security": MessageLookupByLibrary.simpleMessage("Zabezpečení"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Vybrat polohu"),
|
||||
"selectALocationFirst":
|
||||
MessageLookupByLibrary.simpleMessage("Nejprve vyberte polohu"),
|
||||
"selectAlbum": MessageLookupByLibrary.simpleMessage("Vybrat album"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("Vybrat vše"),
|
||||
"selectDate": MessageLookupByLibrary.simpleMessage("Vybrat datum"),
|
||||
"selectFoldersForBackup": MessageLookupByLibrary.simpleMessage(
|
||||
"Vyberte složky pro zálohování"),
|
||||
"selectLanguage": MessageLookupByLibrary.simpleMessage("Vybrat jazyk"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("Vyberte důvod"),
|
||||
"selectTime": MessageLookupByLibrary.simpleMessage("Vybrat čas"),
|
||||
"selectYourPlan":
|
||||
MessageLookupByLibrary.simpleMessage("Vyberte svůj plán"),
|
||||
"selfiesWithThem": m82,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Odeslat"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Odeslat e-mail"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Odeslat pozvánku"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Odeslat odkaz"),
|
||||
"sessionExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Relace vypršela"),
|
||||
"setAPassword": MessageLookupByLibrary.simpleMessage("Nastavit heslo"),
|
||||
"setLabel": MessageLookupByLibrary.simpleMessage("Nastavit"),
|
||||
"setNewPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Nastavit nové heslo"),
|
||||
"setNewPin": MessageLookupByLibrary.simpleMessage("Nastavit nový PIN"),
|
||||
"setPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Nastavit heslo"),
|
||||
"share": MessageLookupByLibrary.simpleMessage("Sdílet"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Sdílet odkaz"),
|
||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("Sdíleno mnou"),
|
||||
"sharedByYou": MessageLookupByLibrary.simpleMessage("Sdíleno vámi"),
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Sdíleno se mnou"),
|
||||
"sharedWithYou": MessageLookupByLibrary.simpleMessage("Sdíleno s vámi"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Sdílení..."),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Souhlasím s <u-terms>podmínkami služby</u-terms> a <u-terms>zásadami ochrany osobních údajů</u-terms>"),
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Přeskočit"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Něco se pokazilo. Zkuste to, prosím, znovu"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("Omlouváme se"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Omlouváme se, nemohli jsme vygenerovat bezpečné klíče na tomto zařízení.\n\nProsíme, zaregistrujte se z jiného zařízení."),
|
||||
"sort": MessageLookupByLibrary.simpleMessage("Seřadit"),
|
||||
"sortAlbumsBy": MessageLookupByLibrary.simpleMessage("Seřadit podle"),
|
||||
"sortNewestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("Od nejnovějších"),
|
||||
"sortOldestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("Od nejstarších"),
|
||||
"stopCastingTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Zastavit přenos"),
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Úložiště"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Rodina"),
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Silné"),
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Odebírat"),
|
||||
"subscription": MessageLookupByLibrary.simpleMessage("Předplatné"),
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Navrhnout funkce"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Podpora"),
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronizace zastavena"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchronizace..."),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("Systém"),
|
||||
"tapToEnterCode":
|
||||
MessageLookupByLibrary.simpleMessage("Klepněte pro zadání kódu"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("Ukončit"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("Ukončit relaci?"),
|
||||
"terms": MessageLookupByLibrary.simpleMessage("Podmínky"),
|
||||
"termsOfServicesTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Podmínky služby"),
|
||||
"thankYou": MessageLookupByLibrary.simpleMessage("Děkujeme"),
|
||||
"theDownloadCouldNotBeCompleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Stahování nebylo možné dokončit"),
|
||||
"theme": MessageLookupByLibrary.simpleMessage("Motiv"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("Toto zařízení"),
|
||||
"thisIsMeExclamation":
|
||||
MessageLookupByLibrary.simpleMessage("To jsem já!"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Toto vás odhlásí z následujícího zařízení:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Toto vás odhlásí z tohoto zařízení!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Pro reset vašeho hesla nejprve vyplňte vaší e-mailovou adresu prosím."),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Celková velikost"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Koš"),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Zkusit znovu"),
|
||||
"twitter": MessageLookupByLibrary.simpleMessage("Twitter"),
|
||||
"twofactorSetup": MessageLookupByLibrary.simpleMessage(
|
||||
"Nastavení dvoufaktorového ověřování"),
|
||||
"unlock": MessageLookupByLibrary.simpleMessage("Odemknout"),
|
||||
"unpinAlbum": MessageLookupByLibrary.simpleMessage("Odepnout album"),
|
||||
"unselectAll": MessageLookupByLibrary.simpleMessage("Zrušit výběr"),
|
||||
"update": MessageLookupByLibrary.simpleMessage("Aktualizovat"),
|
||||
"updateAvailable":
|
||||
MessageLookupByLibrary.simpleMessage("Je k dispozici aktualizace"),
|
||||
"upgrade": MessageLookupByLibrary.simpleMessage("Upgradovat"),
|
||||
"uploadingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Nahrávání souborů do alba..."),
|
||||
"useRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Použít obnovovací klíč"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Využité místo"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Ověřit"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Ověřit e-mail"),
|
||||
"verifyEmailID": m111,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Ověřit"),
|
||||
"verifyPassword": MessageLookupByLibrary.simpleMessage("Ověřit heslo"),
|
||||
"verifying": MessageLookupByLibrary.simpleMessage("Ověřování..."),
|
||||
"verifyingRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Ověřování obnovovacího klíče..."),
|
||||
"videos": MessageLookupByLibrary.simpleMessage("Videa"),
|
||||
"viewAll": MessageLookupByLibrary.simpleMessage("Zobrazit vše"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("Prohlížející"),
|
||||
"warning": MessageLookupByLibrary.simpleMessage("Varování"),
|
||||
"weAreOpenSource":
|
||||
MessageLookupByLibrary.simpleMessage("Jsme open source!"),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Slabé"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Vítejte zpět!"),
|
||||
"whatsNew": MessageLookupByLibrary.simpleMessage("Co je nového"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Ročně"),
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ano"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ano, zrušit"),
|
||||
"yesDelete": MessageLookupByLibrary.simpleMessage("Ano, smazat"),
|
||||
"yesDiscardChanges":
|
||||
MessageLookupByLibrary.simpleMessage("Ano, zahodit změny"),
|
||||
"yesLogout": MessageLookupByLibrary.simpleMessage("Ano, odhlásit se"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("Ano, odstranit"),
|
||||
"yesRenew": MessageLookupByLibrary.simpleMessage("Ano, obnovit"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("Vy"),
|
||||
"youAndThem": m117,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Váš účet byl smazán"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Vaše mapa")
|
||||
};
|
||||
}
|
||||
470
mobile/apps/photos/lib/generated/intl/messages_da.dart
generated
@@ -1,470 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a da locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'da';
|
||||
|
||||
static String m8(count) =>
|
||||
"${Intl.plural(count, zero: 'Ingen Deltagere', one: '1 Deltager', other: '${count} Deltagere')}";
|
||||
|
||||
static String m13(user) =>
|
||||
"${user} vil ikke kunne tilføje flere billeder til dette album\n\nDe vil stadig kunne fjerne eksisterende billeder tilføjet af dem";
|
||||
|
||||
static String m25(supportEmail) =>
|
||||
"Send venligst en email til ${supportEmail} fra din registrerede email adresse";
|
||||
|
||||
static String m37(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB hver gang nogen tilmelder sig et betalt abonnement og anvender din kode";
|
||||
|
||||
static String m47(expiryTime) => "Link udløber den ${expiryTime}";
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"Kodeordets styrke: ${passwordStrengthValue}";
|
||||
|
||||
static String m80(count) => "${count} valgt";
|
||||
|
||||
static String m84(verificationID) =>
|
||||
"Hey, kan du bekræfte, at dette er dit ente.io verifikation ID: ${verificationID}";
|
||||
|
||||
static String m93(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m99(storageAmountInGB) => "De får også ${storageAmountInGB} GB";
|
||||
|
||||
static String m114(email) =>
|
||||
"Vi har sendt en email til <green>${email}</green>";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Velkommen tilbage!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Jeg forstår at hvis jeg mister min adgangskode kan jeg miste mine data, da mine data er <underline>end-to-end krypteret</underline>."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("Aktive sessioner"),
|
||||
"addANewEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Tilføj en ny e-mail"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Tilføj samarbejdspartner"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Tilføj flere"),
|
||||
"addOnPageSubtitle":
|
||||
MessageLookupByLibrary.simpleMessage("Oplysninger om tilføjelser"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Tilføj seer"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Tilføjet som"),
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Tilføjer til favoritter..."),
|
||||
"advancedSettings": MessageLookupByLibrary.simpleMessage("Avanceret"),
|
||||
"after1Day": MessageLookupByLibrary.simpleMessage("Efter 1 dag"),
|
||||
"after1Hour": MessageLookupByLibrary.simpleMessage("Efter 1 time"),
|
||||
"after1Month": MessageLookupByLibrary.simpleMessage("Efter 1 måned"),
|
||||
"after1Week": MessageLookupByLibrary.simpleMessage("Efter 1 uge"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Efter 1 år"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Ejer"),
|
||||
"albumParticipantsCount": m8,
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Album er opdateret"),
|
||||
"allowAddPhotosDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Tillad personer med linket også at tilføje billeder til det delte album."),
|
||||
"allowAddingPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Tillad tilføjelse af fotos"),
|
||||
"allowDownloads":
|
||||
MessageLookupByLibrary.simpleMessage("Tillad downloads"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Hvad er hovedårsagen til, at du sletter din konto?"),
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Sikkerhedskopierede mapper"),
|
||||
"backupStatusDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Elementer, der er blevet sikkerhedskopieret, vil blive vist her"),
|
||||
"canNotOpenBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Beklager, dette album kan ikke åbnes i appen."),
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Kan kun fjerne filer ejet af dig"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annuller"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m13,
|
||||
"cannotDeleteSharedFiles":
|
||||
MessageLookupByLibrary.simpleMessage("Kan ikke slette delte filer"),
|
||||
"changeEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Skift email adresse"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Skift adgangskode"),
|
||||
"changePermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Rediger rettigheder?"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"Tjek venligst din indbakke (og spam) for at færdiggøre verificeringen"),
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("Ryd indekser"),
|
||||
"codeCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"Kode kopieret til udklipsholder"),
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Opret et link, så folk kan tilføje og se fotos i dit delte album uden at behøve en Ente-app eller konto. Fantastisk til at indsamle event fotos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Kollaborativt link"),
|
||||
"collectPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Indsaml billeder"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("Bekræft"),
|
||||
"confirmAccountDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("Bekræft Sletning Af Konto"),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Bekræft adgangskode"),
|
||||
"confirmRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Bekræft gendannelsesnøgle"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Bekræft din gendannelsesnøgle"),
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Kontakt support"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Fortsæt"),
|
||||
"copyLink": MessageLookupByLibrary.simpleMessage("Kopiér link"),
|
||||
"copypasteThisCodentoYourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Kopiér denne kode\ntil din autentificeringsapp"),
|
||||
"couldNotUpdateSubscription": MessageLookupByLibrary.simpleMessage(
|
||||
"Abonnementet kunne ikke opdateres."),
|
||||
"createAccount": MessageLookupByLibrary.simpleMessage("Opret konto"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Opret en ny konto"),
|
||||
"createPublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Opret et offentligt link"),
|
||||
"creatingLink":
|
||||
MessageLookupByLibrary.simpleMessage("Opretter link..."),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Tilpasset"),
|
||||
"decrypting": MessageLookupByLibrary.simpleMessage("Dekrypterer..."),
|
||||
"deleteAccount": MessageLookupByLibrary.simpleMessage("Slet konto"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Vi er kede af at du forlader os. Forklar venligst hvorfor, så vi kan forbedre os."),
|
||||
"deleteAccountPermanentlyButton":
|
||||
MessageLookupByLibrary.simpleMessage("Slet konto permanent"),
|
||||
"deleteAlbum": MessageLookupByLibrary.simpleMessage("Slet album"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"Send venligst en email til <warning>account-deletion@ente.io</warning> fra din registrerede email adresse."),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Der mangler en vigtig funktion, som jeg har brug for"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"App\'en eller en bestemt funktion virker ikke som den skal"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"Jeg fandt en anden tjeneste, som jeg syntes bedre om"),
|
||||
"deleteReason4":
|
||||
MessageLookupByLibrary.simpleMessage("Min grund er ikke angivet"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"Din anmodning vil blive behandlet inden for 72 timer."),
|
||||
"deleteSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Slet delt album?"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Detaljer"),
|
||||
"developerSettingsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Er du sikker på, at du vil ændre udviklerindstillingerne?"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Bemærk venligst"),
|
||||
"discover_food": MessageLookupByLibrary.simpleMessage("Mad"),
|
||||
"discover_identity": MessageLookupByLibrary.simpleMessage("Identitet"),
|
||||
"discover_memes": MessageLookupByLibrary.simpleMessage("Memes"),
|
||||
"discover_notes": MessageLookupByLibrary.simpleMessage("Noter"),
|
||||
"discover_pets": MessageLookupByLibrary.simpleMessage("Kæledyr"),
|
||||
"discover_screenshots":
|
||||
MessageLookupByLibrary.simpleMessage("Skærmbilleder"),
|
||||
"discover_selfies": MessageLookupByLibrary.simpleMessage("Selfier"),
|
||||
"discover_sunset": MessageLookupByLibrary.simpleMessage("Solnedgang"),
|
||||
"discover_wallpapers":
|
||||
MessageLookupByLibrary.simpleMessage("Baggrundsbilleder"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("Gør det senere"),
|
||||
"dropSupportEmail": m25,
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("kvalificeret"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Email"),
|
||||
"emailAlreadyRegistered": MessageLookupByLibrary.simpleMessage(
|
||||
"E-mail er allerede registreret."),
|
||||
"emailNotRegistered":
|
||||
MessageLookupByLibrary.simpleMessage("E-mail er ikke registreret."),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Kryptering"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Krypteringsnøgler"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("Indtast kode"),
|
||||
"enterEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Indtast email adresse"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Indtast en ny adgangskode vi kan bruge til at kryptere dine data"),
|
||||
"enterPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Indtast adgangskode"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Indtast en adgangskode vi kan bruge til at kryptere dine data"),
|
||||
"enterPin": MessageLookupByLibrary.simpleMessage("Indtast PIN"),
|
||||
"enterThe6digitCodeFromnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Indtast den 6-cifrede kode fra din autentificeringsapp"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Indtast venligst en gyldig email adresse."),
|
||||
"enterYourEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Indtast din email adresse"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Indtast adgangskode"),
|
||||
"enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Indtast din gendannelsesnøgle"),
|
||||
"familyPlanPortalTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("Feedback"),
|
||||
"fileSavedToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("Fil gemt i galleri"),
|
||||
"findPeopleByName":
|
||||
MessageLookupByLibrary.simpleMessage("Find folk hurtigt ved navn"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Glemt adgangskode"),
|
||||
"freeStorageOnReferralSuccess": m37,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Frigør enhedsplads"),
|
||||
"freeUpDeviceSpaceDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Spar plads på din enhed ved at rydde filer, der allerede er sikkerhedskopieret."),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Genererer krypteringsnøgler..."),
|
||||
"help": MessageLookupByLibrary.simpleMessage("Hjælp"),
|
||||
"howItWorks":
|
||||
MessageLookupByLibrary.simpleMessage("Sådan fungerer det"),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Forkert adgangskode"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Den gendannelsesnøgle du indtastede er forkert"),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Forkert gendannelsesnøgle"),
|
||||
"indexedItems":
|
||||
MessageLookupByLibrary.simpleMessage("Indekserede elementer"),
|
||||
"insecureDevice": MessageLookupByLibrary.simpleMessage("Usikker enhed"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Ugyldig email adresse"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("Ugyldig nøgle"),
|
||||
"invite": MessageLookupByLibrary.simpleMessage("Inviter"),
|
||||
"inviteYourFriends":
|
||||
MessageLookupByLibrary.simpleMessage("Inviter dine venner"),
|
||||
"itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Valgte elementer vil blive fjernet fra dette album"),
|
||||
"keepPhotos": MessageLookupByLibrary.simpleMessage("Behold billeder"),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"Hjælp os venligst med disse oplysninger"),
|
||||
"linkDeviceLimit":
|
||||
MessageLookupByLibrary.simpleMessage("Enheds grænse"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Aktiveret"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Udløbet"),
|
||||
"linkExpiresOn": m47,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Udløb af link"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Linket er udløbet"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("Aldrig"),
|
||||
"loadingModel":
|
||||
MessageLookupByLibrary.simpleMessage("Downloader modeller..."),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Lås"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Log ind"),
|
||||
"loggingOut": MessageLookupByLibrary.simpleMessage("Logger ud..."),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ved at klikke på log ind accepterer jeg <u-terms>vilkårene for service</u-terms> og <u-policy>privatlivspolitik</u-policy>"),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Langt tryk på en e-mail for at bekræfte slutningen af krypteringen."),
|
||||
"lostDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Har du mistet enhed?"),
|
||||
"machineLearning": MessageLookupByLibrary.simpleMessage("Maskinlæring"),
|
||||
"magicSearch": MessageLookupByLibrary.simpleMessage("Magisk søgning"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Administrér"),
|
||||
"manageDeviceStorageDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Gennemgå og ryd lokal cache-lagring."),
|
||||
"manageParticipants":
|
||||
MessageLookupByLibrary.simpleMessage("Administrer"),
|
||||
"mlConsent":
|
||||
MessageLookupByLibrary.simpleMessage("Aktiver maskinlæring"),
|
||||
"mlConsentPrivacy": MessageLookupByLibrary.simpleMessage(
|
||||
"Klik her for flere detaljer om denne funktion i vores privatlivspolitik"),
|
||||
"mlConsentTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Aktiver maskinlæring?"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Bemærk venligst, at maskinindlæring vil resultere i en højere båndbredde og batteriforbrug, indtil alle elementer er indekseret. Overvej at bruge desktop app til hurtigere indeksering, vil alle resultater blive synkroniseret automatisk."),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Moderat"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Øjeblikke"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Aldrig"),
|
||||
"newAlbum": MessageLookupByLibrary.simpleMessage("Nyt album"),
|
||||
"next": MessageLookupByLibrary.simpleMessage("Næste"),
|
||||
"noDeviceLimit": MessageLookupByLibrary.simpleMessage("Ingen"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Ingen gendannelsesnøgle?"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("Ok"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("Ups"),
|
||||
"oopsSomethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Ups, noget gik galt"),
|
||||
"orPickAnExistingOne":
|
||||
MessageLookupByLibrary.simpleMessage("Eller vælg en eksisterende"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Adgangskode"),
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Adgangskoden er blevet ændret"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Adgangskodelås"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Vi gemmer ikke denne adgangskode, så hvis du glemmer den <underline>kan vi ikke dekryptere dine data</underline>"),
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Afventende elementer"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Personer, der bruger din kode"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Kontakt support@ente.io og vi vil være glade for at hjælpe!"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Prøv venligst igen"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("Vent venligst..."),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Privatlivspolitik"),
|
||||
"publicLinkEnabled":
|
||||
MessageLookupByLibrary.simpleMessage("Offentligt link aktiveret"),
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Gendan"),
|
||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("Gendan konto"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("Gendan"),
|
||||
"recoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Gendannelse nøgle"),
|
||||
"recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"Gendannelsesnøgle kopieret til udklipsholder"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Hvis du glemmer din adgangskode, den eneste måde, du kan gendanne dine data er med denne nøgle."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Vi gemmer ikke denne nøgle, gem venligst denne 24 ord nøgle på et sikkert sted."),
|
||||
"recoveryKeySuccessBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Super! Din gendannelsesnøgle er gyldig. Tak fordi du verificerer.\n\nHusk at holde din gendannelsesnøgle sikker sikkerhedskopieret."),
|
||||
"recoveryKeyVerified":
|
||||
MessageLookupByLibrary.simpleMessage("Gendannelsesnøgle bekræftet"),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("Gendannelse lykkedes!"),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Genskab adgangskode"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. De tilmelder sig en betalt plan"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Fjern"),
|
||||
"removeFromAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Fjern fra album"),
|
||||
"removeFromAlbumTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Fjern fra album?"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Fjern link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Fjern deltager"),
|
||||
"removeWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Fjern?"),
|
||||
"removingFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Fjerner fra favoritter..."),
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("Omdøb fil"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Send email igen"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Nulstil adgangskode"),
|
||||
"retry": MessageLookupByLibrary.simpleMessage("Prøv igen"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("Gem nøgle"),
|
||||
"saveYourRecoveryKeyIfYouHaventAlready":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gem din gendannelsesnøgle, hvis du ikke allerede har"),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("Skan kode"),
|
||||
"scanThisBarcodeWithnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Skan denne QR-kode med godkendelses-appen"),
|
||||
"searchHint1":
|
||||
MessageLookupByLibrary.simpleMessage("Hurtig, søgning på enheden"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("Vælg alle"),
|
||||
"selectFoldersForBackup": MessageLookupByLibrary.simpleMessage(
|
||||
"Vælg mapper til sikkerhedskopiering"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("Vælg årsag"),
|
||||
"selectedFoldersWillBeEncryptedAndBackedUp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Valgte mapper vil blive krypteret og sikkerhedskopieret"),
|
||||
"selectedPhotos": m80,
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Send link"),
|
||||
"setPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Angiv adgangskode"),
|
||||
"setupComplete":
|
||||
MessageLookupByLibrary.simpleMessage("Opsætning fuldført"),
|
||||
"shareALink": MessageLookupByLibrary.simpleMessage("Del et link"),
|
||||
"shareTextConfirmOthersVerificationID": m84,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("Del med ikke Ente brugere"),
|
||||
"showMemories": MessageLookupByLibrary.simpleMessage("Vis minder"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Jeg er enig i <u-terms>betingelser for brug</u-terms> og <u-policy>privatlivspolitik</u-policy>"),
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Spring over"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Noget gik galt, prøv venligst igen"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("Beklager"),
|
||||
"sorryCouldNotAddToFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"Beklager, kunne ikke føje til favoritter!"),
|
||||
"sorryCouldNotRemoveFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Beklager, kunne ikke fjernes fra favoritter!"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Beklager, vi kunne ikke generere sikre krypteringsnøgler på denne enhed.\n\nForsøg venligst at oprette en konto fra en anden enhed."),
|
||||
"status": MessageLookupByLibrary.simpleMessage("Status"),
|
||||
"storageInGB": m93,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Stærkt"),
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonner"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Du skal have et aktivt betalt abonnement for at aktivere deling."),
|
||||
"tapToCopy":
|
||||
MessageLookupByLibrary.simpleMessage("tryk for at kopiere"),
|
||||
"tapToEnterCode":
|
||||
MessageLookupByLibrary.simpleMessage("Tryk for at indtaste kode"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("Afbryd"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("Afslut session?"),
|
||||
"termsOfServicesTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Betingelser"),
|
||||
"theyAlsoGetXGb": m99,
|
||||
"thisCanBeUsedToRecoverYourAccountIfYou":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Dette kan bruges til at gendanne din konto, hvis du mister din anden faktor"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("Denne enhed"),
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Dette er dit bekræftelses-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Dette vil logge dig ud af følgende enhed:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Dette vil logge dig ud af denne enhed!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"For at nulstille din adgangskode, bekræft venligst din email adresse."),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Prøv igen"),
|
||||
"twofactorAuthenticationPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("To-faktor-godkendelse"),
|
||||
"twofactorSetup":
|
||||
MessageLookupByLibrary.simpleMessage("To-faktor opsætning"),
|
||||
"unavailableReferralCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Beklager, denne kode er ikke tilgængelig."),
|
||||
"unselectAll": MessageLookupByLibrary.simpleMessage("Fravælg alle"),
|
||||
"updatingFolderSelection":
|
||||
MessageLookupByLibrary.simpleMessage("Opdaterer mappevalg..."),
|
||||
"useRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Brug gendannelsesnøgle"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Bekræft"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Bekræft e-mail"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Bekræft adgangskode"),
|
||||
"verifyingRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Verificerer gendannelsesnøgle..."),
|
||||
"viewAddOnButton":
|
||||
MessageLookupByLibrary.simpleMessage("Vis tilføjelser"),
|
||||
"viewRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Vis gendannelsesnøgle"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("Seer"),
|
||||
"waitingForWifi":
|
||||
MessageLookupByLibrary.simpleMessage("Venter på Wi-fi..."),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Svagt"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Velkommen tilbage!"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
"Ja, konverter til præsentation"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("Ja, fjern"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("Dig"),
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Din konto er blevet slettet")
|
||||
};
|
||||
}
|
||||
2347
mobile/apps/photos/lib/generated/intl/messages_de.dart
generated
@@ -1,28 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a el locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'el';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"enterYourEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Εισάγετε την διεύθυνση ηλ. ταχυδρομείου σας")
|
||||
};
|
||||
}
|
||||
2286
mobile/apps/photos/lib/generated/intl/messages_en.dart
generated
2360
mobile/apps/photos/lib/generated/intl/messages_es.dart
generated
274
mobile/apps/photos/lib/generated/intl/messages_et.dart
generated
@@ -1,274 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a et locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'et';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"about": MessageLookupByLibrary.simpleMessage("Info"),
|
||||
"account": MessageLookupByLibrary.simpleMessage("Konto"),
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Tere tulemast tagasi!"),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("Aktiivsed sessioonid"),
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("Lisa asukoht"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Lisa"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Lisa veel"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Lisatud kui"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Omanik"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Albumit on uuendatud"),
|
||||
"allowDownloads":
|
||||
MessageLookupByLibrary.simpleMessage("Luba allalaadimised"),
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Rakenda"),
|
||||
"blog": MessageLookupByLibrary.simpleMessage("Blogi"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Loobu"),
|
||||
"changeEmail": MessageLookupByLibrary.simpleMessage("Muuda e-posti"),
|
||||
"changePermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Muuta õiguseid?"),
|
||||
"checkForUpdates":
|
||||
MessageLookupByLibrary.simpleMessage("Kontrolli uuendusi"),
|
||||
"checkStatus":
|
||||
MessageLookupByLibrary.simpleMessage("Kontrolli staatust"),
|
||||
"checking": MessageLookupByLibrary.simpleMessage("Kontrollimine..."),
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Kaastööline"),
|
||||
"collectPhotos": MessageLookupByLibrary.simpleMessage("Kogu fotod"),
|
||||
"color": MessageLookupByLibrary.simpleMessage("Värv"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("Kinnita"),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Kinnita parool"),
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Võtke ühendust klienditoega"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Jätka"),
|
||||
"convertToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Konverdi albumiks"),
|
||||
"copyLink": MessageLookupByLibrary.simpleMessage("Kopeeri link"),
|
||||
"createAccount": MessageLookupByLibrary.simpleMessage("Loo konto"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Loo uus konto"),
|
||||
"creatingLink":
|
||||
MessageLookupByLibrary.simpleMessage("Lingi loomine..."),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Kohandatud"),
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Tume"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("Täna"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("Eile"),
|
||||
"delete": MessageLookupByLibrary.simpleMessage("Kustuta"),
|
||||
"deleteAccount": MessageLookupByLibrary.simpleMessage("Kustuta konto"),
|
||||
"deleteAll": MessageLookupByLibrary.simpleMessage("Kustuta kõik"),
|
||||
"deleteFromBoth":
|
||||
MessageLookupByLibrary.simpleMessage("Kustuta mõlemast"),
|
||||
"deleteFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Kustutage seadmest"),
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Kustuta asukoht"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Kustuta fotod"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Üksikasjad"),
|
||||
"discord": MessageLookupByLibrary.simpleMessage("Discord"),
|
||||
"discover": MessageLookupByLibrary.simpleMessage("Avasta"),
|
||||
"discover_babies": MessageLookupByLibrary.simpleMessage("Beebid"),
|
||||
"discover_identity": MessageLookupByLibrary.simpleMessage("Identiteet"),
|
||||
"discover_memes": MessageLookupByLibrary.simpleMessage("Meemid"),
|
||||
"discover_notes": MessageLookupByLibrary.simpleMessage("Märkmed"),
|
||||
"discover_pets": MessageLookupByLibrary.simpleMessage("Lemmikloomad"),
|
||||
"discover_receipts": MessageLookupByLibrary.simpleMessage("Kviitungid"),
|
||||
"discover_screenshots":
|
||||
MessageLookupByLibrary.simpleMessage("Ekraanipildid"),
|
||||
"discover_visiting_cards":
|
||||
MessageLookupByLibrary.simpleMessage("Visiitkaardid"),
|
||||
"distanceInKMUnit": MessageLookupByLibrary.simpleMessage("km"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("Tee seda hiljem"),
|
||||
"done": MessageLookupByLibrary.simpleMessage("Valmis"),
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Muuda"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-post"),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Krüpteerimine"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("Sisesta kood"),
|
||||
"enterEmail": MessageLookupByLibrary.simpleMessage("Sisesta e-post"),
|
||||
"enterPassword": MessageLookupByLibrary.simpleMessage("Sisesta parool"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Palun sisesta korrektne e-posti aadress."),
|
||||
"enterYourEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Sisesta oma e-posti aadress"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Sisesta oma parool"),
|
||||
"exportYourData":
|
||||
MessageLookupByLibrary.simpleMessage("Ekspordi oma andmed"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("KKK"),
|
||||
"faqs": MessageLookupByLibrary.simpleMessage("KKK"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("Tagasiside"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Pööra ümber"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Tasuta prooviaeg"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Üldine"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
"groupNearbyPhotos": MessageLookupByLibrary.simpleMessage(
|
||||
"Grupeeri lähedal olevad fotod"),
|
||||
"help": MessageLookupByLibrary.simpleMessage("Abiinfo"),
|
||||
"hidden": MessageLookupByLibrary.simpleMessage("Peidetud"),
|
||||
"hide": MessageLookupByLibrary.simpleMessage("Peida"),
|
||||
"importing": MessageLookupByLibrary.simpleMessage("Importimine...."),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Vale parool"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Vigane e-posti aadress"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("Vigane võti"),
|
||||
"keepPhotos": MessageLookupByLibrary.simpleMessage("Säilita fotod"),
|
||||
"kiloMeterUnit": MessageLookupByLibrary.simpleMessage("km"),
|
||||
"language": MessageLookupByLibrary.simpleMessage("Keel"),
|
||||
"lastUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Viimati uuendatud"),
|
||||
"leaveSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Lahkuda jagatud albumist?"),
|
||||
"light": MessageLookupByLibrary.simpleMessage("Hele"),
|
||||
"lightTheme": MessageLookupByLibrary.simpleMessage("Hele"),
|
||||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Seadme limit"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Sees"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Aegunud"),
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Lingi aegumine"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Link on aegunud"),
|
||||
"linkNeverExpires":
|
||||
MessageLookupByLibrary.simpleMessage("Mitte kunagi"),
|
||||
"locationName": MessageLookupByLibrary.simpleMessage("Asukoha nimi"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Lukusta"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Logi sisse"),
|
||||
"logout": MessageLookupByLibrary.simpleMessage("Logi välja"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Halda"),
|
||||
"manageLink": MessageLookupByLibrary.simpleMessage("Halda linki"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("Halda"),
|
||||
"manageSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Halda tellimust"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Kaup"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Keskmine"),
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Liigutatud prügikasti"),
|
||||
"name": MessageLookupByLibrary.simpleMessage("Nimi"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Mitte kunagi"),
|
||||
"newest": MessageLookupByLibrary.simpleMessage("Uusimad"),
|
||||
"no": MessageLookupByLibrary.simpleMessage("Ei"),
|
||||
"noDeviceLimit": MessageLookupByLibrary.simpleMessage("Puudub"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("OK"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("Oih"),
|
||||
"oopsSomethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Oih, midagi läks valesti"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Parool"),
|
||||
"photoSmallCase": MessageLookupByLibrary.simpleMessage("foto"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Palun proovi uuesti"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("Palun oota..."),
|
||||
"privacy": MessageLookupByLibrary.simpleMessage("Privaatsus"),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Privaatsus"),
|
||||
"radius": MessageLookupByLibrary.simpleMessage("Raadius"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("Taasta"),
|
||||
"reddit": MessageLookupByLibrary.simpleMessage("Reddit"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Eemalda"),
|
||||
"removeFromAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Eemalda albumist"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Eemalda link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Eemalda osaleja"),
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Eemalda avalik link"),
|
||||
"removeWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Eemaldada?"),
|
||||
"rename": MessageLookupByLibrary.simpleMessage("Nimeta ümber"),
|
||||
"renameAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Nimeta album ümber"),
|
||||
"rotateLeft": MessageLookupByLibrary.simpleMessage("Pööra vasakule"),
|
||||
"rotateRight": MessageLookupByLibrary.simpleMessage("Pööra paremale"),
|
||||
"save": MessageLookupByLibrary.simpleMessage("Salvesta"),
|
||||
"saveCopy": MessageLookupByLibrary.simpleMessage("Salvesta koopia"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("Salvesta võti"),
|
||||
"saving": MessageLookupByLibrary.simpleMessage("Salvestamine..."),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("Skanni koodi"),
|
||||
"scanThisBarcodeWithnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Skaneeri seda QR koodi\noma autentimisrakendusega"),
|
||||
"security": MessageLookupByLibrary.simpleMessage("Turvalisus"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("Vali kõik"),
|
||||
"selectLanguage": MessageLookupByLibrary.simpleMessage("Vali keel"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("Vali põhjus"),
|
||||
"selectYourPlan": MessageLookupByLibrary.simpleMessage("Vali pakett"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Saada link"),
|
||||
"setAPassword": MessageLookupByLibrary.simpleMessage("Määra parool"),
|
||||
"setCover": MessageLookupByLibrary.simpleMessage("Määra kaanepilt"),
|
||||
"setupComplete":
|
||||
MessageLookupByLibrary.simpleMessage("Seadistamine on lõpetatud"),
|
||||
"share": MessageLookupByLibrary.simpleMessage("Jaga"),
|
||||
"shareALink": MessageLookupByLibrary.simpleMessage("Jaga linki"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Jagamine..."),
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Jäta vahele"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Midagi läks valesti, palun proovi uuesti"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("Vabandust"),
|
||||
"sortAlbumsBy": MessageLookupByLibrary.simpleMessage("Sorteeri"),
|
||||
"sortNewestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("Uuemad eespool"),
|
||||
"sortOldestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("Vanemad eespool"),
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Mäluruum"),
|
||||
"storageBreakupFamily":
|
||||
MessageLookupByLibrary.simpleMessage("Perekond"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sina"),
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Tugev"),
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Telli"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Kasutajatugi"),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("Süsteem"),
|
||||
"tapToCopy":
|
||||
MessageLookupByLibrary.simpleMessage("kopeerimiseks vajuta"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("Lõpeta"),
|
||||
"terms": MessageLookupByLibrary.simpleMessage("Tingimused"),
|
||||
"termsOfServicesTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Tingimused"),
|
||||
"theme": MessageLookupByLibrary.simpleMessage("Teema"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("See seade"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Prügikast"),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Proovi uuesti"),
|
||||
"twitter": MessageLookupByLibrary.simpleMessage("Twitter"),
|
||||
"uncategorized": MessageLookupByLibrary.simpleMessage("Liigitamata"),
|
||||
"useRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Kasuta taastevõtit"),
|
||||
"usedSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Kasutatud kettaruum"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Kinnita"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Kinnita parool"),
|
||||
"videoSmallCase": MessageLookupByLibrary.simpleMessage("video"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("Vaataja"),
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Nõrk"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Tere tulemast tagasi!"),
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Jah"),
|
||||
"yesConvertToViewer":
|
||||
MessageLookupByLibrary.simpleMessage("Jah, muuda vaatajaks"),
|
||||
"yesDelete": MessageLookupByLibrary.simpleMessage("Jah, kustuta"),
|
||||
"yesDiscardChanges":
|
||||
MessageLookupByLibrary.simpleMessage("Jah, tühista muutused"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("Jah, eemalda"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("Sina"),
|
||||
"youAreOnTheLatestVersion":
|
||||
MessageLookupByLibrary.simpleMessage("Kasutad viimast versiooni"),
|
||||
"youCannotShareWithYourself":
|
||||
MessageLookupByLibrary.simpleMessage("Sa ei saa iseendaga jagada")
|
||||
};
|
||||
}
|
||||
644
mobile/apps/photos/lib/generated/intl/messages_eu.dart
generated
@@ -1,644 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a eu locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'eu';
|
||||
|
||||
static String m8(count) =>
|
||||
"${Intl.plural(count, zero: 'Parte hartzailerik ez', one: 'Parte hartzaile 1', other: '${count} Parte hartzaile')}";
|
||||
|
||||
static String m13(user) =>
|
||||
"${user}-(e)k ezin izango du argazki gehiago gehitu album honetan \n\nBaina haiek gehitutako argazkiak kendu ahal izango dituzte";
|
||||
|
||||
static String m14(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true': 'Zure familiak ${storageAmountInGb} GB eskatu du dagoeneko',
|
||||
'false': 'Zuk ${storageAmountInGb} GB eskatu duzu dagoeneko',
|
||||
'other': 'Zuk ${storageAmountInGb} GB eskatu duzu dagoeneko!',
|
||||
})}";
|
||||
|
||||
static String m24(albumName) =>
|
||||
"Honen bidez ${albumName} eskuratzeko esteka publikoa ezabatuko da.";
|
||||
|
||||
static String m25(supportEmail) =>
|
||||
"Mesedez, bidali e-maila ${supportEmail}-era zure erregistratutako e-mail helbidetik";
|
||||
|
||||
static String m31(email) =>
|
||||
"${email}-(e)k ez du Ente konturik. \n\nBidali gonbidapena argazkiak partekatzeko.";
|
||||
|
||||
static String m37(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB norbaitek ordainpeko plan batean sartzen denean zure kodea aplikatzen badu";
|
||||
|
||||
static String m47(expiryTime) =>
|
||||
"Esteka epe honetan iraungiko da: ${expiryTime}";
|
||||
|
||||
static String m50(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'oroitzapenik ez', one: 'oroitzapen ${formattedCount}', other: '${formattedCount} oroitzapen')}";
|
||||
|
||||
static String m55(familyAdminEmail) =>
|
||||
"Mesedez, jarri harremanetan ${familyAdminEmail}-(r)ekin zure kodea aldatzeko.";
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"Pasahitzaren indarra: ${passwordStrengthValue}";
|
||||
|
||||
static String m73(storageInGB) =>
|
||||
"3. Bai zuk bai haiek ${storageInGB} GB* dohainik izango duzue";
|
||||
|
||||
static String m74(userEmail) =>
|
||||
"${userEmail} partekatutako album honetatik ezabatuko da \n\nHaiek gehitutako argazki guztiak ere ezabatuak izango dira albumetik";
|
||||
|
||||
static String m80(count) => "${count} hautatuta";
|
||||
|
||||
static String m81(count, yourCount) =>
|
||||
"${count} hautatuta (${yourCount} zureak)";
|
||||
|
||||
static String m83(verificationID) =>
|
||||
"Hau da nire Egiaztatze IDa: ${verificationID} ente.io-rako.";
|
||||
|
||||
static String m84(verificationID) =>
|
||||
"Ei, baieztatu ahal duzu hau dela zure ente.io Egiaztatze IDa?: ${verificationID}";
|
||||
|
||||
static String m85(referralCode, referralStorageInGB) =>
|
||||
"Sartu erreferentzia kodea: ${referralCode}\n\nAplikatu hemen: Ezarpenak → Orokorra→ Erreferentziak, ${referralStorageInGB} GB dohainik izateko ordainpeko plan batean \n\nhttps://ente.io";
|
||||
|
||||
static String m86(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Partekatu pertsona zehatz batzuekin', one: 'Partekatu pertsona batekin', other: 'Partekatu ${numberOfPeople} pertsonarekin')}";
|
||||
|
||||
static String m88(fileType) => "${fileType} hau zure gailutik ezabatuko da.";
|
||||
|
||||
static String m89(fileType) =>
|
||||
"${fileType} hau Ente-n eta zure gailuan dago.";
|
||||
|
||||
static String m90(fileType) => "${fileType} hau Ente-tik ezabatuko da.";
|
||||
|
||||
static String m93(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m99(storageAmountInGB) =>
|
||||
"Haiek ere lortuko dute ${storageAmountInGB} GB";
|
||||
|
||||
static String m100(email) => "Hau da ${email}-(r)en Egiaztatze IDa";
|
||||
|
||||
static String m111(email) => "Egiaztatu ${email}";
|
||||
|
||||
static String m114(email) =>
|
||||
"Mezua bidali dugu <green>${email}</green> helbidera";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Ongi etorri berriro!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nire datuak <underline>puntutik puntura zifratuta</underline> daudenez, pasahitza ahaztuz gero nire datuak gal ditzakedala ulertzen dut."),
|
||||
"activeSessions": MessageLookupByLibrary.simpleMessage("Saio aktiboak"),
|
||||
"addANewEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Gehitu e-mail berria"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Gehitu laguntzailea"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Gehitu gehiago"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Gehitu ikuslea"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Honela gehituta:"),
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Gogokoetan gehitzen..."),
|
||||
"advancedSettings": MessageLookupByLibrary.simpleMessage("Aurreratuak"),
|
||||
"after1Day": MessageLookupByLibrary.simpleMessage("Egun bat barru"),
|
||||
"after1Hour": MessageLookupByLibrary.simpleMessage("Ordubete barru"),
|
||||
"after1Month":
|
||||
MessageLookupByLibrary.simpleMessage("Hilabete bat barru"),
|
||||
"after1Week": MessageLookupByLibrary.simpleMessage("Astebete barru"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Urtebete barru"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Jabea"),
|
||||
"albumParticipantsCount": m8,
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Albuma eguneratuta"),
|
||||
"albums": MessageLookupByLibrary.simpleMessage("Albumak"),
|
||||
"allowAddPhotosDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Utzi esteka duen jendeari ere album partekatuan argazkiak gehitzen."),
|
||||
"allowAddingPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Baimendu argazkiak gehitzea"),
|
||||
"allowDownloads":
|
||||
MessageLookupByLibrary.simpleMessage("Baimendu jaitsierak"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Aplikatu"),
|
||||
"applyCodeTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Aplikatu kodea"),
|
||||
"archive": MessageLookupByLibrary.simpleMessage("Artxiboa"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Zein da zure kontua ezabatzeko arrazoi nagusia?"),
|
||||
"authToChangeEmailVerificationSetting":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu emailaren egiaztatzea aldatzeko"),
|
||||
"authToChangeLockscreenSetting": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu pantaila blokeatzeko ezarpenak aldatzeko"),
|
||||
"authToChangeYourEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu zure emaila aldatzeko"),
|
||||
"authToChangeYourPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu zure pasahitza aldatzeko"),
|
||||
"authToConfigureTwofactorAuthentication":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu faktore biko autentifikazioa konfiguratzeko"),
|
||||
"authToInitiateAccountDeletion": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu kontu ezabaketa hasteko"),
|
||||
"authToViewTrashedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu paperontzira botatako zure fitxategiak ikusteko"),
|
||||
"authToViewYourActiveSessions": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu indarrean dauden zure saioak ikusteko"),
|
||||
"authToViewYourHiddenFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu zure ezkutatutako fitxategiak ikusteko"),
|
||||
"authToViewYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, autentifikatu zure berreskuratze giltza ikusteko"),
|
||||
"canNotOpenBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Sentitzen dugu, album hau ezin da aplikazioan ireki."),
|
||||
"canNotOpenTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Ezin dut album hau ireki"),
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Zure fitxategiak baino ezin duzu ezabatu"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Utzi"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m13,
|
||||
"change": MessageLookupByLibrary.simpleMessage("Aldatu"),
|
||||
"changeEmail": MessageLookupByLibrary.simpleMessage("Aldatu e-maila"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Aldatu pasahitza"),
|
||||
"changePermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Baimenak aldatu nahi?"),
|
||||
"changeYourReferralCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Aldatu zure erreferentzia kodea"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, aztertu zure inbox (eta spam) karpetak egiaztatzea osotzeko"),
|
||||
"claimFreeStorage": MessageLookupByLibrary.simpleMessage(
|
||||
"Eskatu debaldeko biltegiratzea"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Eskatu gehiago!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Eskatuta"),
|
||||
"claimedStorageSoFar": m14,
|
||||
"codeAppliedPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Kodea aplikatuta"),
|
||||
"codeChangeLimitReached": MessageLookupByLibrary.simpleMessage(
|
||||
"Sentitzen dugu, zure kode aldaketa muga gainditu duzu."),
|
||||
"codeCopiedToClipboard":
|
||||
MessageLookupByLibrary.simpleMessage("Kodea arbelean kopiatuta"),
|
||||
"codeUsedByYou":
|
||||
MessageLookupByLibrary.simpleMessage("Zuk erabilitako kodea"),
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Sortu esteka bat beste pertsona batzuei zure album partekatuan arriskuak gehitu eta ikusten uzteko, naiz eta Ente aplikazio edo kontua ez izan. Oso egokia gertakizun bateko argazkiak biltzeko."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Parte hartzeko esteka"),
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Laguntzailea"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Laguntzaileek argazkiak eta bideoak gehitu ahal dituzte album partekatuan."),
|
||||
"collectPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Bildu argazkiak"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("Baieztatu"),
|
||||
"confirm2FADisable": MessageLookupByLibrary.simpleMessage(
|
||||
"Seguru zaude faktore biko autentifikazioa deuseztatu nahi duzula?"),
|
||||
"confirmAccountDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("Baieztatu Kontu Ezabaketa"),
|
||||
"confirmDeletePrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Bai, betiko ezabatu nahi dut kontu hau eta berarekiko data aplikazio guztietan zehar."),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Egiaztatu pasahitza"),
|
||||
"confirmRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Egiaztatu berreskuratze kodea"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Egiaztatu zure berreskuratze giltza"),
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Kontaktatu laguntza"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Jarraitu"),
|
||||
"copyLink": MessageLookupByLibrary.simpleMessage("Kopiatu esteka"),
|
||||
"copypasteThisCodentoYourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Kopiatu eta itsatsi kode hau zure autentifikazio aplikaziora"),
|
||||
"createAccount": MessageLookupByLibrary.simpleMessage("Sortu kontua"),
|
||||
"createAlbumActionHint": MessageLookupByLibrary.simpleMessage(
|
||||
"Luze klikatu argazkiak hautatzeko eta klikatu + albuma sortzeko"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Sortu kontu berria"),
|
||||
"createPublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Sortu esteka publikoa"),
|
||||
"creatingLink":
|
||||
MessageLookupByLibrary.simpleMessage("Esteka sortzen..."),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Aukeran"),
|
||||
"decrypting": MessageLookupByLibrary.simpleMessage("Deszifratzen..."),
|
||||
"deleteAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu zure kontua"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Sentitzen dugu zu joateaz. Mesedez, utziguzu zure feedbacka hobetzen laguntzeko."),
|
||||
"deleteAccountPermanentlyButton":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu Kontua Betiko"),
|
||||
"deleteAlbum": MessageLookupByLibrary.simpleMessage("Ezabatu albuma"),
|
||||
"deleteAlbumDialog": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezabatu nahi dituzu album honetan dauden argazkiak (eta bideoak) parte diren beste album <bold>guztietatik</bold> ere?"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, bidali e-mail bat <warning>account-deletion@ente.io</warning> helbidea zure erregistatutako helbidetik."),
|
||||
"deleteFromBoth":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu bietatik"),
|
||||
"deleteFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu gailutik"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu Ente-tik"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu argazkiak"),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Behar dudan ezaugarre nagusiren bat falta zaio"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"Aplikazioak edo ezaugarriren batek ez du funtzionatzen nik espero nuenez"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"Gustukoago dudan beste zerbitzu bat aurkitu dut"),
|
||||
"deleteReason4": MessageLookupByLibrary.simpleMessage(
|
||||
"Nire arrazoia ez dago zerrendan"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"Zure eskaera 72 ordutan prozesatua izango da."),
|
||||
"deleteSharedAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Partekatutako albuma ezabatu?"),
|
||||
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Albuma guztiontzat ezabatuko da \n\nAlbum honetan dauden beste pertsonek partekatutako argazkiak ezin izango dituzu eskuratu"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Detaileak"),
|
||||
"disableDownloadWarningBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Ikusleek pantaila-irudiak atera ahal dituzte, edo kanpoko tresnen bidez zure argazkien kopiak gorde"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Mesedez, ohartu"),
|
||||
"disableLinkMessage": m24,
|
||||
"discover": MessageLookupByLibrary.simpleMessage("Aurkitu"),
|
||||
"discover_babies": MessageLookupByLibrary.simpleMessage("Umeak"),
|
||||
"discover_celebrations":
|
||||
MessageLookupByLibrary.simpleMessage("Ospakizunak"),
|
||||
"discover_food": MessageLookupByLibrary.simpleMessage("Janaria"),
|
||||
"discover_greenery": MessageLookupByLibrary.simpleMessage("Hostoa"),
|
||||
"discover_hills": MessageLookupByLibrary.simpleMessage("Muinoak"),
|
||||
"discover_identity": MessageLookupByLibrary.simpleMessage("Nortasuna"),
|
||||
"discover_memes": MessageLookupByLibrary.simpleMessage("Memeak"),
|
||||
"discover_notes": MessageLookupByLibrary.simpleMessage("Oharrak"),
|
||||
"discover_pets": MessageLookupByLibrary.simpleMessage("Etxe-animaliak"),
|
||||
"discover_receipts":
|
||||
MessageLookupByLibrary.simpleMessage("Ordainagiriak"),
|
||||
"discover_screenshots":
|
||||
MessageLookupByLibrary.simpleMessage("Pantaila argazkiak"),
|
||||
"discover_selfies": MessageLookupByLibrary.simpleMessage("Selfiak"),
|
||||
"discover_sunset":
|
||||
MessageLookupByLibrary.simpleMessage("Eguzki-sartzea"),
|
||||
"discover_visiting_cards":
|
||||
MessageLookupByLibrary.simpleMessage("Bisita txartelak"),
|
||||
"discover_wallpapers":
|
||||
MessageLookupByLibrary.simpleMessage("Horma-paperak"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("Egin hau geroago"),
|
||||
"done": MessageLookupByLibrary.simpleMessage("Eginda"),
|
||||
"dropSupportEmail": m25,
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("aukerakoak"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-maila"),
|
||||
"emailAlreadyRegistered": MessageLookupByLibrary.simpleMessage(
|
||||
"Helbide hau badago erregistratuta lehendik."),
|
||||
"emailNoEnteAccount": m31,
|
||||
"emailNotRegistered": MessageLookupByLibrary.simpleMessage(
|
||||
"Helbide hau ez dago erregistratuta."),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Zifratzea"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Zifratze giltzak"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Ente-k <i>zure baimena behar du</i> zure argazkiak gordetzeko"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("Sartu kodea"),
|
||||
"enterCodeDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu zure lagunak emandako kodea, biontzat debaldeko biltegiratzea lortzeko"),
|
||||
"enterEmail": MessageLookupByLibrary.simpleMessage("Sartu e-maila"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu pasahitz berri bat, zure data zifratu ahal izateko"),
|
||||
"enterPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Sartu pasahitza"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu pasahitz bat, zure data deszifratu ahal izateko"),
|
||||
"enterReferralCode":
|
||||
MessageLookupByLibrary.simpleMessage("Sartu erreferentzia kodea"),
|
||||
"enterThe6digitCodeFromnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu 6 digituko kodea zure autentifikazio aplikaziotik"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, sartu zuzena den helbidea."),
|
||||
"enterYourEmailAddress": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu zure helbide elektronikoa"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Sartu zure pasahitza"),
|
||||
"enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu zure berreskuratze giltza"),
|
||||
"expiredLinkInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Esteka hau iraungi da. Mesedez, aukeratu beste epemuga bat edo deuseztatu estekaren epemuga."),
|
||||
"failedToApplyCode":
|
||||
MessageLookupByLibrary.simpleMessage("Akatsa kodea aplikatzean"),
|
||||
"failedToFetchReferralDetails": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezin dugu zure erreferentziaren detailerik lortu. Mesedez, saiatu berriro geroago."),
|
||||
"failedToLoadAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("Errorea albumak kargatzen"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("FAQ"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("Feedbacka"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Ahaztu pasahitza"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Debaldeko biltegiratzea eskatuta"),
|
||||
"freeStorageOnReferralSuccess": m37,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Debaldeko biltegiratzea erabilgarri"),
|
||||
"generatingEncryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Zifratze giltzak sortzen..."),
|
||||
"help": MessageLookupByLibrary.simpleMessage("Laguntza"),
|
||||
"hidden": MessageLookupByLibrary.simpleMessage("Ezkutatuta"),
|
||||
"howItWorks":
|
||||
MessageLookupByLibrary.simpleMessage("Nola funtzionatzen duen"),
|
||||
"howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, eska iezaiozu ezarpenen landutako bere e-mail helbidean luze klikatzeko, eta egiaztatu gailu bietako IDak bat direla."),
|
||||
"iOSLockOut": MessageLookupByLibrary.simpleMessage(
|
||||
"Autentifikazio biometrikoa deuseztatuta dago. Mesedez, blokeatu eta desblokeatu zure pantaila indarrean jartzeko."),
|
||||
"importing": MessageLookupByLibrary.simpleMessage("Inportatzen...."),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Pasahitz okerra"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu duzun berreskuratze giltza ez da zuzena"),
|
||||
"incorrectRecoveryKeyTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Berreskuratze giltza ez da zuzena"),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Gailua ez da segurua"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Helbide hau ez da zuzena"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("Kode okerra"),
|
||||
"invalidRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartu duzun berreskuratze kodea ez da zuzena. Mesedez, ziurtatu 24 hitz duela, eta egiaztatu hitz bakoitzaren idazkera. \n\nBerreskuratze kode zaharren bat sartu baduzu, ziurtatu 64 karaktere duela, eta egiaztatu horietako bakoitza."),
|
||||
"inviteToEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Gonbidatu Ente-ra"),
|
||||
"inviteYourFriends":
|
||||
MessageLookupByLibrary.simpleMessage("Gonbidatu zure lagunak"),
|
||||
"itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Hautatutako elementuak album honetatik kenduko dira"),
|
||||
"keepPhotos": MessageLookupByLibrary.simpleMessage("Gorde Argazkiak"),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, lagun gaitzazu informazio honekin"),
|
||||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Gailu muga"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Indarrean"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Iraungita"),
|
||||
"linkExpiresOn": m47,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Estekaren epemuga"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Esteka iraungi da"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("Inoiz ez"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Blokeatu"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Sartu"),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Sartzeko klikatuz, <u-terms>zerbitzu baldintzak</u-terms> eta <u-policy>pribatutasun politikak</u-policy> onartzen ditut"),
|
||||
"lostDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Gailua galdu duzu?"),
|
||||
"machineLearning":
|
||||
MessageLookupByLibrary.simpleMessage("Ikasketa automatikoa"),
|
||||
"magicSearch": MessageLookupByLibrary.simpleMessage("Bilaketa magikoa"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Kudeatu"),
|
||||
"manageDeviceStorage":
|
||||
MessageLookupByLibrary.simpleMessage("Kudeatu gailuaren katxea"),
|
||||
"manageDeviceStorageDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Berrikusi eta garbitu katxe lokalaren biltegiratzea."),
|
||||
"manageLink": MessageLookupByLibrary.simpleMessage("Kudeatu esteka"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("Kudeatu"),
|
||||
"memoryCount": m50,
|
||||
"mlConsent": MessageLookupByLibrary.simpleMessage(
|
||||
"Aktibatu ikasketa automatikoa"),
|
||||
"mlConsentConfirmation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ulertzen dut, eta ikasketa automatikoa aktibatu nahi dut"),
|
||||
"mlConsentDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Ikasketa automatikoa aktibatuz gero, Ente-k fitxategietatik informazioa aterako du (ad. argazkien geometria), zurekin partekatutako argazkietatik ere.\n\nHau zure gailuan gertatuko da, eta sortutako informazio biometrikoa puntutik puntura zifratuta egongo da."),
|
||||
"mlConsentPrivacy": MessageLookupByLibrary.simpleMessage(
|
||||
"Mesedez, klikatu hemen gure pribatutasun politikan ezaugarri honi buruz detaile gehiago izateko"),
|
||||
"mlConsentTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Ikasketa automatikoa aktibatuko?"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Ertaina"),
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage("Zarama mugituta"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Inoiz ez"),
|
||||
"newAlbum": MessageLookupByLibrary.simpleMessage("Album berria"),
|
||||
"noDeviceLimit": MessageLookupByLibrary.simpleMessage("Bat ere ez"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Berreskuratze giltzarik ez?"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"Gure puntutik-puntura zifratze protokoloa dela eta, zure data ezin da deszifratu zure pasahitza edo berreskuratze giltzarik gabe"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("Ondo"),
|
||||
"onlyFamilyAdminCanChangeCode": m55,
|
||||
"oops": MessageLookupByLibrary.simpleMessage("Ai!"),
|
||||
"oopsSomethingWentWrong": MessageLookupByLibrary.simpleMessage(
|
||||
"Oops, zerbait txarto joan da"),
|
||||
"orPickAnExistingOne":
|
||||
MessageLookupByLibrary.simpleMessage("Edo aukeratu lehengo bat"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Pasahitza"),
|
||||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("Pasahitza zuzenki aldatuta"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Pasahitza blokeoa"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezin dugu zure pasahitza gorde, beraz, ahazten baduzu, <underline>ezin dugu zure data deszifratu</underline>"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Jendea zure kodea erabiltzen"),
|
||||
"photoGridSize":
|
||||
MessageLookupByLibrary.simpleMessage("Argazki sarearen tamaina"),
|
||||
"photoSmallCase": MessageLookupByLibrary.simpleMessage("argazkia"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Saiatu berriro, mesedez"),
|
||||
"pleaseWait":
|
||||
MessageLookupByLibrary.simpleMessage("Mesedez, itxaron..."),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Pribatutasun Politikak"),
|
||||
"publicLinkEnabled":
|
||||
MessageLookupByLibrary.simpleMessage("Esteka publikoa indarrean"),
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Berreskuratu"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Berreskuratu kontua"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("Berreskuratu"),
|
||||
"recoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Berreskuratze giltza"),
|
||||
"recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"Berreskuratze giltza arbelean kopiatu da"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Zure pasahitza ahazten baduzu, zure datuak berreskuratzeko modu bakarra gailu honen bidez izango da."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Guk ez dugu gailu hau gordetzen; mesedez, gorde 24 hitzeko giltza hau lege seguru batean."),
|
||||
"recoveryKeySuccessBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Primeran! Zure berreskuratze giltza zuzena da. Eskerrik asko egiaztatzeagatik.\n\nMesedez, gogoratu zure berreskuratze giltza leku seguruan gordetzea."),
|
||||
"recoveryKeyVerified": MessageLookupByLibrary.simpleMessage(
|
||||
"Berreskuratze giltza egiaztatuta"),
|
||||
"recoveryKeyVerifyReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Pasahitza ahazten baduzu, zure berreskuratze giltza argazkiak berreskuratzeko modu bakarra da. Berreskuratze giltza hemen aurkitu ahal duzu Ezarpenak > Kontua.\n\nMesedez sartu hemen zure berreskuratze giltza ondo gorde duzula egiaztatzeko."),
|
||||
"recoverySuccessful": MessageLookupByLibrary.simpleMessage(
|
||||
"Berreskurapen arrakastatsua!"),
|
||||
"recreatePasswordBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Gailu hau ez da zure pasahitza egiaztatzeko bezain indartsua, baina gailu guztietan funtzionatzen duen modu batean birsortu ahal dugu. \n\nMesedez sartu zure berreskuratze giltza erabiliz eta birsortu zure pasahitza (aurreko berbera erabili ahal duzu nahi izanez gero)."),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Berrezarri pasahitza"),
|
||||
"referralStep1": MessageLookupByLibrary.simpleMessage(
|
||||
"1. Eman kode hau zure lagunei"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Haiek ordainpeko plan batean sinatu behar dute"),
|
||||
"referralStep3": m73,
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Erreferentziak momentuz geldituta daude"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Kendu"),
|
||||
"removeFromAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Kendu albumetik"),
|
||||
"removeFromAlbumTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Albumetik kendu?"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Ezabatu esteka"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Kendu parte hartzailea"),
|
||||
"removeParticipantBody": m74,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatu esteka publikoa"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Kentzen ari zaren elementu batzuk beste pertsona batzuek gehitu zituzten, beraz ezin izango dituzu eskuratu"),
|
||||
"removeWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Ezabatuko?"),
|
||||
"removingFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Gogokoetatik kentzen..."),
|
||||
"resendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Birbidali e-maila"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Berrezarri pasahitza"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("Gorde giltza"),
|
||||
"saveYourRecoveryKeyIfYouHaventAlready":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gorde zure berreskuratze giltza ez baduzu oraindik egin"),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("Eskaneatu kodea"),
|
||||
"scanThisBarcodeWithnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Eskaneatu barra kode hau zure autentifikazio aplikazioaz"),
|
||||
"selectReason":
|
||||
MessageLookupByLibrary.simpleMessage("Aukeratu arrazoia"),
|
||||
"selectedPhotos": m80,
|
||||
"selectedPhotosWithYours": m81,
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Bidali mezua"),
|
||||
"sendInvite":
|
||||
MessageLookupByLibrary.simpleMessage("Bidali gonbidapena"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Bidali esteka"),
|
||||
"setAPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Ezarri pasahitza"),
|
||||
"setPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Ezarri pasahitza"),
|
||||
"setupComplete":
|
||||
MessageLookupByLibrary.simpleMessage("Prestaketa burututa"),
|
||||
"shareALink": MessageLookupByLibrary.simpleMessage("Partekatu esteka"),
|
||||
"shareMyVerificationID": m83,
|
||||
"shareTextConfirmOthersVerificationID": m84,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Jaitsi Ente argazkiak eta bideoak jatorrizko kalitatean errez partekatu ahal izateko \n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m85,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Partekatu Ente erabiltzen ez dutenekin"),
|
||||
"shareWithPeopleSectionTitle": m86,
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Sortu partekatutako eta parte hartzeko albumak beste Ente erabiltzaileekin, debaldeko planak dituztenak barne."),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Partekatzen..."),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"<u-terms>Zerbitzu baldintzak</u-terms> eta <u-policy>pribatutasun politikak</u-policy> onartzen ditut"),
|
||||
"singleFileDeleteFromDevice": m88,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Album guztietatik ezabatuko da."),
|
||||
"singleFileInBothLocalAndRemote": m89,
|
||||
"singleFileInRemoteOnly": m90,
|
||||
"someoneSharingAlbumsWithYouShouldSeeTheSameId":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Zurekin albumak partekatzen dituen norbaitek ID berbera ikusi beharko luke bere gailuan."),
|
||||
"somethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Zerbait oker joan da"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Zerbait ez da ondo joan, mesedez, saiatu berriro"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("Barkatu"),
|
||||
"sorryCouldNotAddToFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"Sentitzen dut, ezin izan dugu zure gogokoetan gehitu!"),
|
||||
"sorryCouldNotRemoveFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Sentitzen dugu, ezin izan dugu zure gogokoetatik kendu!"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Tamalez, ezin dugu giltza segururik sortu gailu honetan. \n\nMesedez, eman izena beste gailu batetik."),
|
||||
"storageInGB": m93,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Gogorra"),
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Harpidetu"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Ordainpeko harpidetza behar duzu partekatzea aktibatzeko."),
|
||||
"tapToCopy": MessageLookupByLibrary.simpleMessage("jo kopiatzeko"),
|
||||
"tapToEnterCode":
|
||||
MessageLookupByLibrary.simpleMessage("Klikatu kodea sartzeko"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("Bukatu"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("Saioa bukatu?"),
|
||||
"termsOfServicesTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Baldintzak"),
|
||||
"theyAlsoGetXGb": m99,
|
||||
"thisCanBeUsedToRecoverYourAccountIfYou":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Hau zure kontua berreskuratzeko erabili ahal duzu, zure bigarren faktorea ahaztuz gero"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("Gailu hau"),
|
||||
"thisIsPersonVerificationId": m100,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Hau da zure Egiaztatze IDa"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Hau egiteak hurrengo gailutik aterako zaitu:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Hau egiteak gailu honetatik aterako zaitu!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Zure pasahitza berrezartzeko, mesedez egiaztatu zure e-maila lehenengoz."),
|
||||
"total": MessageLookupByLibrary.simpleMessage("osotara"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Zarama"),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Saiatu berriro"),
|
||||
"twofactorAuthenticationHasBeenDisabled":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Faktore biko autentifikazioa deuseztatua izan da"),
|
||||
"twofactorAuthenticationPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Faktore biko autentifikatzea"),
|
||||
"twofactorSetup":
|
||||
MessageLookupByLibrary.simpleMessage("Faktore biko ezarpena"),
|
||||
"unavailableReferralCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Sentitzen dugu, kode hau ezin da erabili."),
|
||||
"uncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Kategori gabekoa"),
|
||||
"usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Biltegiratze erabilgarria zure oraingo planaren arabera mugatuta dago. Soberan eskatutako biltegiratzea automatikoki erabili ahal izango duzu zure plan gaurkotzen duzunean."),
|
||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Erabili berreskuratze giltza"),
|
||||
"verificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Egiaztatze IDa"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Egiaztatu"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Egiaztatu e-maila"),
|
||||
"verifyEmailID": m111,
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Egiaztatu pasahitza"),
|
||||
"verifyingRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Berreskuratze giltza egiaztatuz..."),
|
||||
"videoSmallCase": MessageLookupByLibrary.simpleMessage("bideoa"),
|
||||
"viewRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Ikusi berreskuratze kodea"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("Ikuslea"),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Ahula"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Ongi etorri berriro!"),
|
||||
"yesConvertToViewer":
|
||||
MessageLookupByLibrary.simpleMessage("Bai, egin ikusle"),
|
||||
"yesDelete": MessageLookupByLibrary.simpleMessage("Bai, ezabatu"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("Bai, ezabatu"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("Zu"),
|
||||
"youCanAtMaxDoubleYourStorage": MessageLookupByLibrary.simpleMessage(
|
||||
"* Gehienez zure biltegiratzea bikoiztu ahal duzu"),
|
||||
"youCannotShareWithYourself": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezin duzu zeure buruarekin partekatu"),
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Zure kontua ezabatua izan da")
|
||||
};
|
||||
}
|
||||
439
mobile/apps/photos/lib/generated/intl/messages_fa.dart
generated
@@ -1,439 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a fa locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'fa';
|
||||
|
||||
static String m9(versionValue) => "نسخه: ${versionValue}";
|
||||
|
||||
static String m10(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} رایگان";
|
||||
|
||||
static String m25(supportEmail) =>
|
||||
"لطفا یک ایمیل از آدرس ایمیلی که ثبت نام کردید به ${supportEmail} ارسال کنید";
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"قدرت رمز عبور: ${passwordStrengthValue}";
|
||||
|
||||
static String m68(storeName) => "به ما در ${storeName} امتیاز دهید";
|
||||
|
||||
static String m94(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} از ${totalAmount} ${totalStorageUnit} استفاده شده";
|
||||
|
||||
static String m111(email) => "تایید ${email}";
|
||||
|
||||
static String m114(email) =>
|
||||
"ما یک ایمیل به <green>${email}</green> ارسال کردهایم";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"aNewVersionOfEnteIsAvailable": MessageLookupByLibrary.simpleMessage(
|
||||
"نسخه جدید Ente در دسترس است."),
|
||||
"about": MessageLookupByLibrary.simpleMessage("درباره ما"),
|
||||
"account": MessageLookupByLibrary.simpleMessage("حساب کاربری"),
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("خوش آمدید!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"من درک میکنم که اگر رمز عبور خود را گم کنم، ممکن است اطلاعات خود را از دست بدهم، زیرا اطلاعات من <underline>رمزگذاری سرتاسر شده است</underline>."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("دستگاههای فعال"),
|
||||
"addANewEmail":
|
||||
MessageLookupByLibrary.simpleMessage("افزودن ایمیل جدید"),
|
||||
"addCollaborator": MessageLookupByLibrary.simpleMessage("افزودن همکار"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("افزودن بیشتر"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("افزودن بیننده"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("اضافه شده به عنوان"),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("پیشرفته"),
|
||||
"albumUpdated": MessageLookupByLibrary.simpleMessage("آلبوم بهروز شد"),
|
||||
"allowAddPhotosDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"به افراد که این پیوند را دارند، اجازه دهید عکسها را به آلبوم اشتراک گذاری شده اضافه کنند."),
|
||||
"allowAddingPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("اجازه اضافه کردن عکس"),
|
||||
"allowPeopleToAddPhotos": MessageLookupByLibrary.simpleMessage(
|
||||
"به افراد اجازه دهید عکس اضافه کنند"),
|
||||
"androidBiometricHint":
|
||||
MessageLookupByLibrary.simpleMessage("تایید هویت"),
|
||||
"androidBiometricSuccess":
|
||||
MessageLookupByLibrary.simpleMessage("موفقیت"),
|
||||
"androidCancelButton": MessageLookupByLibrary.simpleMessage("لغو"),
|
||||
"androidIosWebDesktop": MessageLookupByLibrary.simpleMessage(
|
||||
"اندروید، آیاواس، وب، رایانه رومیزی"),
|
||||
"appVersion": m9,
|
||||
"archive": MessageLookupByLibrary.simpleMessage("بایگانی"),
|
||||
"areYouSureYouWantToLogout": MessageLookupByLibrary.simpleMessage(
|
||||
"آیا برای خارج شدن مطمئن هستید؟"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"دلیل اصلی که حساب کاربریتان را حذف میکنید، چیست؟"),
|
||||
"atAFalloutShelter":
|
||||
MessageLookupByLibrary.simpleMessage("در یک پناهگاه ذخیره میشود"),
|
||||
"authToViewYourActiveSessions": MessageLookupByLibrary.simpleMessage(
|
||||
"لطفاً برای مشاهده دستگاههای فعال خود احراز هویت کنید"),
|
||||
"available": MessageLookupByLibrary.simpleMessage("در دسترس"),
|
||||
"availableStorageSpace": m10,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("پوشههای پشتیبان گیری شده"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("پشتیبان گیری"),
|
||||
"blog": MessageLookupByLibrary.simpleMessage("وبلاگ"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("لغو"),
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"پروندههای به اشتراک گذاشته شده را نمیتوان حذف کرد"),
|
||||
"changeEmail": MessageLookupByLibrary.simpleMessage("تغییر ایمیل"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("تغییر رمز عبور"),
|
||||
"checkForUpdates":
|
||||
MessageLookupByLibrary.simpleMessage("بررسی برای بهروزرسانی"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"لطفا صندوق ورودی (و هرزنامه) خود را برای تایید کامل بررسی کنید"),
|
||||
"checkStatus": MessageLookupByLibrary.simpleMessage("بررسی وضعیت"),
|
||||
"checking": MessageLookupByLibrary.simpleMessage("در حال بررسی..."),
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"پیوندی ایجاد کنید تا به افراد اجازه دهید بدون نیاز به برنامه یا حساب کاربری Ente عکسها را در آلبوم اشتراک گذاشته شده شما اضافه و مشاهده کنند. برای جمعآوری عکسهای رویداد عالی است."),
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("همکار"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"همکاران میتوانند عکسها و ویدیوها را به آلبوم اشتراک گذاری شده اضافه کنند."),
|
||||
"color": MessageLookupByLibrary.simpleMessage("رنگ"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("تایید"),
|
||||
"confirmAccountDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("تایید حذف حساب کاربری"),
|
||||
"confirmDeletePrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"بله، می خواهم این حساب و داده های آن را در همه برنامه ها برای همیشه حذف کنم."),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("تایید رمز عبور"),
|
||||
"confirmRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("تایید کلید بازیابی"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"کلید بازیابی خود را تایید کنید"),
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("ارتباط با پشتیبانی"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("ادامه"),
|
||||
"convertToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("تبدیل به آلبوم"),
|
||||
"createAccount":
|
||||
MessageLookupByLibrary.simpleMessage("ایجاد حساب کاربری"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("ایجاد حساب کاربری جدید"),
|
||||
"criticalUpdateAvailable": MessageLookupByLibrary.simpleMessage(
|
||||
"بهروزرسانی حیاتی در دسترس است"),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("سفارشی"),
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("تیره"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("امروز"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("دیروز"),
|
||||
"decrypting":
|
||||
MessageLookupByLibrary.simpleMessage("در حال رمزگشایی..."),
|
||||
"deleteAccount":
|
||||
MessageLookupByLibrary.simpleMessage("حذف حساب کاربری"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"ما متاسفیم که میبینیم شما میروید. لطفا نظرات خود را برای کمک به بهبود ما به اشتراک بگذارید."),
|
||||
"deleteAccountPermanentlyButton":
|
||||
MessageLookupByLibrary.simpleMessage("حذف دائمی حساب کاربری"),
|
||||
"deleteAll": MessageLookupByLibrary.simpleMessage("حذف همه"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"لطفا یک ایمیل به <warning>account-deletion@ente.io</warning> از آدرس ایمیل ثبت شده خود ارسال کنید."),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"یک ویژگی کلیدی که به آن نیاز دارم، وجود ندارد"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"برنامه یا یک ویژگی خاص آنطور که من فکر میکنم، عمل نمیکند"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"سرویس دیگری پیدا کردم که بهتر میپسندم"),
|
||||
"deleteReason4":
|
||||
MessageLookupByLibrary.simpleMessage("دلیل من ذکر نشده است"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"درخواست شما ظرف مدت ۷۲ ساعت پردازش خواهد شد."),
|
||||
"designedToOutlive": MessageLookupByLibrary.simpleMessage(
|
||||
"طراحی شده تا بیشتر زنده بماند"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("جزئیات"),
|
||||
"developerSettings":
|
||||
MessageLookupByLibrary.simpleMessage("تنظیمات توسعهدهنده"),
|
||||
"didYouKnow": MessageLookupByLibrary.simpleMessage("آیا میدانستید؟"),
|
||||
"discord": MessageLookupByLibrary.simpleMessage("دیسکورد"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("بعداً انجام شود"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("در حال دانلود..."),
|
||||
"dropSupportEmail": m25,
|
||||
"editLocationTagTitle":
|
||||
MessageLookupByLibrary.simpleMessage("ویرایش مکان"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("ایمیل"),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("رمزگذاری"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("کلیدهای رمزنگاری"),
|
||||
"endtoendEncryptedByDefault": MessageLookupByLibrary.simpleMessage(
|
||||
"به صورت پیشفرض رمزگذاری سرتاسر"),
|
||||
"enteCanEncryptAndPreserveFilesOnlyIfYouGrant":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ente فقط در صورتی میتواند پروندهها را رمزگذاری و نگهداری کند که به آنها دسترسی داشته باشید"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Ente برای نگهداری عکسهای شما <i>به دسترسی نیاز دارد</i>"),
|
||||
"enterEmail":
|
||||
MessageLookupByLibrary.simpleMessage("ایمیل را وارد کنید"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"رمز عبور جدیدی را وارد کنید که بتوانیم از آن برای رمزگذاری اطلاعات شما استفاده کنیم"),
|
||||
"enterPassword":
|
||||
MessageLookupByLibrary.simpleMessage("رمز عبور را وارد کنید"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"رمز عبوری را وارد کنید که بتوانیم از آن برای رمزگذاری اطلاعات شما استفاده کنیم"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"لطفا یک ایمیل معتبر وارد کنید."),
|
||||
"enterYourEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("آدرس ایمیل خود را وارد کنید"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("رمز عبور خود را وارد کنید"),
|
||||
"enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"کلید بازیابی خود را وارد کنید"),
|
||||
"error": MessageLookupByLibrary.simpleMessage("خطا"),
|
||||
"everywhere": MessageLookupByLibrary.simpleMessage("همه جا"),
|
||||
"existingUser": MessageLookupByLibrary.simpleMessage("کاربر موجود"),
|
||||
"familyPlanPortalTitle":
|
||||
MessageLookupByLibrary.simpleMessage("خانوادگی"),
|
||||
"familyPlans":
|
||||
MessageLookupByLibrary.simpleMessage("برنامههای خانوادگی"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("سوالات متداول"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("بازخورد"),
|
||||
"fileInfoAddDescHint":
|
||||
MessageLookupByLibrary.simpleMessage("افزودن توضیحات..."),
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("انواع پرونده"),
|
||||
"forYourMemories":
|
||||
MessageLookupByLibrary.simpleMessage("برای خاطرات شما"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("رمز عبور را فراموش کردهاید"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("عمومی"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"در حال تولید کلیدهای رمزگذاری..."),
|
||||
"grantFullAccessPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"لطفا اجازه دسترسی به تمام عکسها را در تنظیمات برنامه بدهید"),
|
||||
"grantPermission": MessageLookupByLibrary.simpleMessage("دسترسی دادن"),
|
||||
"hearUsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"ما نصب برنامه را ردیابی نمیکنیم. اگر بگویید کجا ما را پیدا کردید، به ما کمک میکند!"),
|
||||
"hearUsWhereTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"از کجا در مورد Ente شنیدی؟ (اختیاری)"),
|
||||
"howItWorks": MessageLookupByLibrary.simpleMessage("چگونه کار میکند"),
|
||||
"ignoreUpdate": MessageLookupByLibrary.simpleMessage("نادیده گرفتن"),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("رمز عبور درست نیست"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(
|
||||
"کلید بازیابی که وارد کردید درست نیست"),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("کلید بازیابی درست نیست"),
|
||||
"insecureDevice": MessageLookupByLibrary.simpleMessage("دستگاه ناامن"),
|
||||
"installManually": MessageLookupByLibrary.simpleMessage("نصب دستی"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("آدرس ایمیل معتبر نیست"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("کلید نامعتبر"),
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"به نظر میرسد مشکلی وجود دارد. لطفا بعد از مدتی دوباره تلاش کنید. اگر همچنان با خطا مواجه میشوید، لطفا با تیم پشتیبانی ما ارتباط برقرار کنید."),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"لطفا با این اطلاعات به ما کمک کنید"),
|
||||
"lightTheme": MessageLookupByLibrary.simpleMessage("روشن"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("قفل"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("ورود"),
|
||||
"loggingOut": MessageLookupByLibrary.simpleMessage("در حال خروج..."),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"با کلیک بر روی ورود به سیستم، من با <u-terms>شرایط خدمات</u-terms> و <u-policy>سیاست حفظ حریم خصوصی</u-policy> موافقم"),
|
||||
"logout": MessageLookupByLibrary.simpleMessage("خروج"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("مدیریت"),
|
||||
"manageFamily": MessageLookupByLibrary.simpleMessage("مدیریت خانواده"),
|
||||
"manageLink": MessageLookupByLibrary.simpleMessage("مدیریت پیوند"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("مدیریت"),
|
||||
"manageSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("مدیریت اشتراک"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("ماستودون"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("ماتریس"),
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("کالا"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("متوسط"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("هرگز"),
|
||||
"newToEnte": MessageLookupByLibrary.simpleMessage("کاربر جدید Ente"),
|
||||
"no": MessageLookupByLibrary.simpleMessage("خیر"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("کلید بازیابی ندارید؟"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"با توجه به ماهیت پروتکل رمزگذاری سرتاسر ما، اطلاعات شما بدون رمز عبور یا کلید بازیابی شما قابل رمزگشایی نیست"),
|
||||
"notifications": MessageLookupByLibrary.simpleMessage("آگاهسازیها"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("تایید"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("اوه"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("رمز عبور"),
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"رمز عبور با موفقیت تغییر کرد"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"ما این رمز عبور را ذخیره نمیکنیم، بنابراین اگر فراموش کنید، <underline>نمیتوانیم اطلاعات شما را رمزگشایی کنیم</underline>"),
|
||||
"photoSmallCase": MessageLookupByLibrary.simpleMessage("عکس"),
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("لطفا دسترسی بدهید"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("لطفا دوباره وارد شوید"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("لطفا دوباره تلاش کنید"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("لطفا صبر کنید..."),
|
||||
"preparingLogs":
|
||||
MessageLookupByLibrary.simpleMessage("در حال آمادهسازی لاگها..."),
|
||||
"privacy": MessageLookupByLibrary.simpleMessage("حریم خصوصی"),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("سیاست حفظ حریم خصوصی"),
|
||||
"privateBackups":
|
||||
MessageLookupByLibrary.simpleMessage("پشتیبان گیری خصوصی"),
|
||||
"privateSharing":
|
||||
MessageLookupByLibrary.simpleMessage("اشتراک گذاری خصوصی"),
|
||||
"rateUsOnStore": m68,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("بازیابی"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("بازیابی حساب کاربری"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("بازیابی"),
|
||||
"recoveryKey": MessageLookupByLibrary.simpleMessage("کلید بازیابی"),
|
||||
"recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"کلید بازیابی در کلیپبورد کپی شد"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"اگر رمز عبور خود را فراموش کردید، تنها راهی که میتوانید اطلاعات خود را بازیابی کنید با این کلید است."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"ما این کلید را ذخیره نمیکنیم، لطفا این کلید ۲۴ کلمهای را در مکانی امن ذخیره کنید."),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("بازیابی موفقیت آمیز بود!"),
|
||||
"recreatePasswordBody": MessageLookupByLibrary.simpleMessage(
|
||||
"دستگاه فعلی به اندازه کافی قدرتمند نیست تا رمز عبور شما را تایید کند، اما ما میتوانیم به گونهای بازسازی کنیم که با تمام دستگاهها کار کند.\n\nلطفا با استفاده از کلید بازیابی خود وارد شوید و رمز عبور خود را دوباره ایجاد کنید (در صورت تمایل میتوانید دوباره از همان رمز عبور استفاده کنید)."),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("بازتولید رمز عبور"),
|
||||
"reddit": MessageLookupByLibrary.simpleMessage("ردیت"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("حذف پیوند"),
|
||||
"rename": MessageLookupByLibrary.simpleMessage("تغییر نام"),
|
||||
"renameAlbum": MessageLookupByLibrary.simpleMessage("تغییر نام آلبوم"),
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("تغییر نام پرونده"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("ارسال مجدد ایمیل"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("بازنشانی رمز عبور"),
|
||||
"retry": MessageLookupByLibrary.simpleMessage("سعی مجدد"),
|
||||
"reviewSuggestions":
|
||||
MessageLookupByLibrary.simpleMessage("مرور پیشنهادها"),
|
||||
"safelyStored": MessageLookupByLibrary.simpleMessage("به طور ایمن"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("ذخیره کلید"),
|
||||
"search": MessageLookupByLibrary.simpleMessage("جستجو"),
|
||||
"security": MessageLookupByLibrary.simpleMessage("امنیت"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("انتخاب همه"),
|
||||
"selectFoldersForBackup": MessageLookupByLibrary.simpleMessage(
|
||||
"پوشهها را برای پشتیبان گیری انتخاب کنید"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("انتخاب دلیل"),
|
||||
"selectedFoldersWillBeEncryptedAndBackedUp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"پوشههای انتخاب شده، رمزگذاری شده و از آنها نسخه پشتیبان تهیه میشود"),
|
||||
"send": MessageLookupByLibrary.simpleMessage("ارسال"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("ارسال ایمیل"),
|
||||
"setPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("تنظیم رمز عبور"),
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"فقط با افرادی که میخواهید به اشتراک بگذارید"),
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Ente را دانلود کنید تا بتوانید به راحتی عکسها و ویدیوهای با کیفیت اصلی را به اشتراک بگذارید\n\nhttps://ente.io"),
|
||||
"sharedPhotoNotifications": MessageLookupByLibrary.simpleMessage(
|
||||
"عکسهای جدید به اشتراک گذاشته شده"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"هنگامی که شخصی عکسی را به آلبوم مشترکی که شما بخشی از آن هستید اضافه میکند، آگاهسازی دریافت میکنید"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"من با <u-terms>شرایط خدمات</u-terms> و <u-policy>سیاست حفظ حریم خصوصی</u-policy> موافقم"),
|
||||
"skip": MessageLookupByLibrary.simpleMessage("رد کردن"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("شبکه اجتماعی"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"مشکلی پیش آمده، لطفا دوباره تلاش کنید"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("متاسفیم"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"با عرض پوزش، ما نمیتوانیم کلیدهای امن را در این دستگاه تولید کنیم.\n\nلطفا از دستگاه دیگری ثبت نام کنید."),
|
||||
"sortAlbumsBy":
|
||||
MessageLookupByLibrary.simpleMessage("مرتبسازی براساس"),
|
||||
"sortNewestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("ایتدا جدیدترین"),
|
||||
"sortOldestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("ایتدا قدیمیترین"),
|
||||
"startBackup":
|
||||
MessageLookupByLibrary.simpleMessage("شروع پشتیبان گیری"),
|
||||
"status": MessageLookupByLibrary.simpleMessage("وضعیت"),
|
||||
"storage": MessageLookupByLibrary.simpleMessage("حافظه ذخیرهسازی"),
|
||||
"storageBreakupFamily":
|
||||
MessageLookupByLibrary.simpleMessage("خانوادگی"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("شما"),
|
||||
"storageUsageInfo": m94,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("قوی"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("پشتیبانی"),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("سیستم"),
|
||||
"tapToEnterCode": MessageLookupByLibrary.simpleMessage(
|
||||
"برای وارد کردن کد ضربه بزنید"),
|
||||
"tempErrorContactSupportIfPersists": MessageLookupByLibrary.simpleMessage(
|
||||
"به نظر میرسد مشکلی وجود دارد. لطفا بعد از مدتی دوباره تلاش کنید. اگر همچنان با خطا مواجه میشوید، لطفا با تیم پشتیبانی ما ارتباط برقرار کنید."),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("خروج"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("خروچ دستگاه؟"),
|
||||
"terms": MessageLookupByLibrary.simpleMessage("شرایط و مقررات"),
|
||||
"termsOfServicesTitle":
|
||||
MessageLookupByLibrary.simpleMessage("شرایط و مقررات"),
|
||||
"theDownloadCouldNotBeCompleted":
|
||||
MessageLookupByLibrary.simpleMessage("دانلود کامل نشد"),
|
||||
"theme": MessageLookupByLibrary.simpleMessage("تم"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("این دستگاه"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"با این کار شما از دستگاه زیر خارج میشوید:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"این کار شما را از این دستگاه خارج میکند!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"برای تنظیم مجدد رمز عبور، لطفا ابتدا ایمیل خود را تایید کنید."),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("دوباره امتحان کنید"),
|
||||
"twitter": MessageLookupByLibrary.simpleMessage("توییتر"),
|
||||
"uncategorized": MessageLookupByLibrary.simpleMessage("دستهبندی نشده"),
|
||||
"unselectAll": MessageLookupByLibrary.simpleMessage("لغو انتخاب همه"),
|
||||
"update": MessageLookupByLibrary.simpleMessage("بهروزرسانی"),
|
||||
"updateAvailable":
|
||||
MessageLookupByLibrary.simpleMessage("بهرورزرسانی در دسترس است"),
|
||||
"updatingFolderSelection": MessageLookupByLibrary.simpleMessage(
|
||||
"در حال بهروزرسانی گزینش پوشه..."),
|
||||
"usePublicLinksForPeopleNotOnEnte":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"استفاده از پیوندهای عمومی برای افرادی که در Ente نیستند"),
|
||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"از کلید بازیابی استفاده کنید"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("تایید"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("تایید ایمیل"),
|
||||
"verifyEmailID": m111,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("تایید"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("تایید رمز عبور"),
|
||||
"verifying": MessageLookupByLibrary.simpleMessage("در حال تایید..."),
|
||||
"videoSmallCase": MessageLookupByLibrary.simpleMessage("ویدیو"),
|
||||
"viewActiveSessions":
|
||||
MessageLookupByLibrary.simpleMessage("مشاهده دستگاههای فعال"),
|
||||
"viewRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("نمایش کلید بازیابی"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("بیننده"),
|
||||
"weAreOpenSource":
|
||||
MessageLookupByLibrary.simpleMessage("ما متنباز هستیم!"),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("ضعیف"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("خوش آمدید!"),
|
||||
"whatsNew": MessageLookupByLibrary.simpleMessage("تغییرات جدید"),
|
||||
"yes": MessageLookupByLibrary.simpleMessage("بله"),
|
||||
"yesConvertToViewer":
|
||||
MessageLookupByLibrary.simpleMessage("بله، تبدیل به بیننده شود"),
|
||||
"yesLogout": MessageLookupByLibrary.simpleMessage("بله، خارج میشوم"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("شما"),
|
||||
"youAreOnAFamilyPlan": MessageLookupByLibrary.simpleMessage(
|
||||
"شما در یک برنامه خانوادگی هستید!"),
|
||||
"youAreOnTheLatestVersion": MessageLookupByLibrary.simpleMessage(
|
||||
"شما در حال استفاده از آخرین نسخه هستید"),
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("حساب کاربری شما حذف شده است")
|
||||
};
|
||||
}
|
||||
2399
mobile/apps/photos/lib/generated/intl/messages_fr.dart
generated
@@ -1,25 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a gu locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'gu';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{};
|
||||
}
|
||||
952
mobile/apps/photos/lib/generated/intl/messages_he.dart
generated
@@ -1,952 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a he locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'he';
|
||||
|
||||
static String m8(count) =>
|
||||
"${Intl.plural(count, zero: 'אין משתתפים', one: '1 משתתף', two: '2 משתתפים', other: '${count} משתתפים')}";
|
||||
|
||||
static String m12(paymentProvider) =>
|
||||
"אנא בטל את המנוי הקיים מ-${paymentProvider} קודם";
|
||||
|
||||
static String m13(user) =>
|
||||
"${user} לא יוכל להוסיף עוד תמונות לאלבום זה\n\nהם עדיין יכולו להסיר תמונות קיימות שנוספו על ידיהם";
|
||||
|
||||
static String m14(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true': 'קיבלת ${storageAmountInGb} GB עד כה',
|
||||
'false': 'קיבלת ${storageAmountInGb} GB עד כה',
|
||||
'other': 'קיבלת ${storageAmountInGb} GB עד כה!',
|
||||
})}";
|
||||
|
||||
static String m18(familyAdminEmail) =>
|
||||
"אנא צור קשר עם <green>${familyAdminEmail}</green> על מנת לנהל את המנוי שלך";
|
||||
|
||||
static String m19(provider) =>
|
||||
"אנא צור איתנו קשר ב-support@ente.io על מנת לנהל את המנוי ${provider}.";
|
||||
|
||||
static String m21(count) =>
|
||||
"${Intl.plural(count, one: 'מחק ${count} פריט', two: 'מחק ${count} פריטים', other: 'מחק ${count} פריטים')}";
|
||||
|
||||
static String m23(currentlyDeleting, totalCount) =>
|
||||
"מוחק ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m24(albumName) =>
|
||||
"זה יסיר את הלינק הפומבי שדרכו ניתן לגשת ל\"${albumName}\".";
|
||||
|
||||
static String m25(supportEmail) =>
|
||||
"אנא תשלח דוא\"ל ל${supportEmail} מהכתובת דוא\"ל שנרשמת איתה";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
"${count} קבצים, כל אחד ${formattedSize}";
|
||||
|
||||
static String m31(email) =>
|
||||
"לא נמצא חשבון ente ל-${email}.\n\nשלח להם הזמנה על מנת לשתף תמונות.";
|
||||
|
||||
static String m37(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB כל פעם שמישהו נרשם עבור תוכנית בתשלום ומחיל את הקוד שלך";
|
||||
|
||||
static String m38(endDate) => "ניסיון חינם בתוקף עד ל-${endDate}";
|
||||
|
||||
static String m44(count) =>
|
||||
"${Intl.plural(count, one: '${count} פריט', two: '${count} פריטים', many: '${count} פריטים', other: '${count} פריטים')}";
|
||||
|
||||
static String m47(expiryTime) => "תוקף הקישור יפוג ב-${expiryTime}";
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"חוזק הסיסמא: ${passwordStrengthValue}";
|
||||
|
||||
static String m58(providerName) =>
|
||||
"אנא דבר עם התמיכה של ${providerName} אם אתה חוייבת";
|
||||
|
||||
static String m68(storeName) => "דרג אותנו ב-${storeName}";
|
||||
|
||||
static String m73(storageInGB) => "3. שניכים מקבלים ${storageInGB} GB* בחינם";
|
||||
|
||||
static String m74(userEmail) =>
|
||||
"${userEmail} יוסר מהאלבום המשותף הזה\n\nגם תמונות שנוספו על ידיהם יוסרו מהאלבום";
|
||||
|
||||
static String m80(count) => "${count} נבחרו";
|
||||
|
||||
static String m81(count, yourCount) => "${count} נבחרו (${yourCount} שלך)";
|
||||
|
||||
static String m83(verificationID) =>
|
||||
"הנה מזהה האימות שלי: ${verificationID} עבור ente.io.";
|
||||
|
||||
static String m84(verificationID) =>
|
||||
"היי, תוכל לוודא שזה מזהה האימות שלך של ente.io: ${verificationID}";
|
||||
|
||||
static String m86(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'שתף עם אנשים ספציפיים', one: 'שותף עם איש 1', two: 'שותף עם 2 אנשים', other: 'שותף עם ${numberOfPeople} אנשים')}";
|
||||
|
||||
static String m87(emailIDs) => "הושתף ע\"י ${emailIDs}";
|
||||
|
||||
static String m88(fileType) => "${fileType} יימחק מהמכשיר שלך.";
|
||||
|
||||
static String m93(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m96(endDate) => "המנוי שלך יבוטל ב-${endDate}";
|
||||
|
||||
static String m97(completed, total) => "${completed}/${total} זכרונות נשמרו";
|
||||
|
||||
static String m99(storageAmountInGB) => "הם גם יקבלו ${storageAmountInGB} GB";
|
||||
|
||||
static String m100(email) => "זה מזהה האימות של ${email}";
|
||||
|
||||
static String m111(email) => "אמת ${email}";
|
||||
|
||||
static String m114(email) => "שלחנו דוא\"ל ל<green>${email}</green>";
|
||||
|
||||
static String m116(count) =>
|
||||
"${Intl.plural(count, one: 'לפני ${count} שנה', two: 'לפני ${count} שנים', many: 'לפני ${count} שנים', other: 'לפני ${count} שנים')}";
|
||||
|
||||
static String m118(storageSaved) => "הצלחת לפנות ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"about": MessageLookupByLibrary.simpleMessage("אודות"),
|
||||
"account": MessageLookupByLibrary.simpleMessage("חשבון"),
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("ברוך שובך!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"אני מבין שאם אאבד את הסיסמא, אני עלול לאבד את המידע שלי מכיוון שהמידע שלי <underline>מוצפן מקצה אל קצה</underline>."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("חיבורים פעילים"),
|
||||
"addANewEmail": MessageLookupByLibrary.simpleMessage("הוסף דוא\"ל חדש"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("הוסף משתף פעולה"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("הוסף"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("הוסף עוד"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("הוסף תמונות"),
|
||||
"addToAlbum": MessageLookupByLibrary.simpleMessage("הוסף לאלבום"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("הוסף צופה"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("הוסף בתור"),
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("מוסיף למועדפים..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("מתקדם"),
|
||||
"advancedSettings": MessageLookupByLibrary.simpleMessage("מתקדם"),
|
||||
"after1Day": MessageLookupByLibrary.simpleMessage("אחרי יום 1"),
|
||||
"after1Hour": MessageLookupByLibrary.simpleMessage("אחרי שעה 1"),
|
||||
"after1Month": MessageLookupByLibrary.simpleMessage("אחרי חודש 1"),
|
||||
"after1Week": MessageLookupByLibrary.simpleMessage("אחרי שבוע 1"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("אחרי שנה 1"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("בעלים"),
|
||||
"albumParticipantsCount": m8,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("כותרת האלבום"),
|
||||
"albumUpdated": MessageLookupByLibrary.simpleMessage("האלבום עודכן"),
|
||||
"albums": MessageLookupByLibrary.simpleMessage("אלבומים"),
|
||||
"allClear": MessageLookupByLibrary.simpleMessage("✨ הכל נוקה"),
|
||||
"allMemoriesPreserved":
|
||||
MessageLookupByLibrary.simpleMessage("כל הזכרונות נשמרו"),
|
||||
"allowAddPhotosDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"בנוסף אפשר לאנשים עם הלינק להוסיף תמונות לאלבום המשותף."),
|
||||
"allowAddingPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("אפשר הוספת תמונות"),
|
||||
"allowDownloads": MessageLookupByLibrary.simpleMessage("אפשר הורדות"),
|
||||
"allowPeopleToAddPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("תן לאנשים להוסיף תמונות"),
|
||||
"androidBiometricSuccess":
|
||||
MessageLookupByLibrary.simpleMessage("הצלחה"),
|
||||
"androidCancelButton": MessageLookupByLibrary.simpleMessage("בטל"),
|
||||
"androidIosWebDesktop": MessageLookupByLibrary.simpleMessage(
|
||||
"Android, iOS, דפדפן, שולחן עבודה"),
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("החל"),
|
||||
"applyCodeTitle": MessageLookupByLibrary.simpleMessage("החל קוד"),
|
||||
"appstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("מנוי AppStore"),
|
||||
"archive": MessageLookupByLibrary.simpleMessage("שמירה בארכיון"),
|
||||
"areYouSureThatYouWantToLeaveTheFamily":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אתה בטוח שאתה רוצה לעזוב את התוכנית המשפתחית?"),
|
||||
"areYouSureYouWantToCancel":
|
||||
MessageLookupByLibrary.simpleMessage("אתה בטוח שאתה רוצה לבטל?"),
|
||||
"areYouSureYouWantToChangeYourPlan":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אתה בטוח שאתה רוצה לשנות את התוכנית שלך?"),
|
||||
"areYouSureYouWantToExit":
|
||||
MessageLookupByLibrary.simpleMessage("האם אתה בטוח שברצונך לצאת?"),
|
||||
"areYouSureYouWantToLogout":
|
||||
MessageLookupByLibrary.simpleMessage("אתה בטוח שאתה רוצה להתנתק?"),
|
||||
"areYouSureYouWantToRenew":
|
||||
MessageLookupByLibrary.simpleMessage("אתה בטוח שאתה רוצה לחדש?"),
|
||||
"askCancelReason": MessageLookupByLibrary.simpleMessage(
|
||||
"המנוי שלך בוטל. תרצה לשתף את הסיבה?"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"מה הסיבה העיקרית שבגללה אתה מוחק את החשבון שלך?"),
|
||||
"atAFalloutShelter":
|
||||
MessageLookupByLibrary.simpleMessage("במקלט גרעיני"),
|
||||
"authToChangeEmailVerificationSetting":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת על מנת לשנות את הדוא\"ל שלך"),
|
||||
"authToChangeLockscreenSetting": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת כדי לשנות את הגדרות מסך הנעילה"),
|
||||
"authToChangeYourEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא אנא התאמת על מנת לשנות את הדוא\"ל שלך"),
|
||||
"authToChangeYourPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת על מנת לשנות את הסיסמא שלך"),
|
||||
"authToConfigureTwofactorAuthentication":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת כדי להגדיר את האימות הדו-גורמי"),
|
||||
"authToInitiateAccountDeletion": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת על מנת להתחיל את מחיקת החשבון שלך"),
|
||||
"authToViewYourActiveSessions": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת על מנת לראות את החיבורים הפעילים שלך"),
|
||||
"authToViewYourHiddenFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת על מנת לראות את הקבצים החבויים שלך"),
|
||||
"authToViewYourMemories": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא אמת על מנת לצפות בזכרונות שלך"),
|
||||
"authToViewYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא התאמת על מנת לראות את מפתח השחזור שלך"),
|
||||
"available": MessageLookupByLibrary.simpleMessage("זמין"),
|
||||
"backedUpFolders": MessageLookupByLibrary.simpleMessage("תיקיות שגובו"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("גיבוי"),
|
||||
"backupFailed": MessageLookupByLibrary.simpleMessage("הגיבוי נכשל"),
|
||||
"backupOverMobileData":
|
||||
MessageLookupByLibrary.simpleMessage("גבה על רשת סלולרית"),
|
||||
"backupSettings": MessageLookupByLibrary.simpleMessage("הגדרות גיבוי"),
|
||||
"backupVideos": MessageLookupByLibrary.simpleMessage("גבה סרטונים"),
|
||||
"blog": MessageLookupByLibrary.simpleMessage("בלוג"),
|
||||
"cachedData": MessageLookupByLibrary.simpleMessage("נתונים מוטמנים"),
|
||||
"canNotUploadToAlbumsOwnedByOthers":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"לא ניתן להעלות לאלבומים שבבעלות אחרים"),
|
||||
"canOnlyCreateLinkForFilesOwnedByYou":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"ניתן אך ורק ליצור קישור לקבצים שאתה בבעולתם"),
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"יכול להסיר רק קבצים שבבעלותך"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("בטל"),
|
||||
"cancelOtherSubscription": m12,
|
||||
"cancelSubscription": MessageLookupByLibrary.simpleMessage("בטל מנוי"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m13,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"לא ניתן למחוק את הקבצים המשותפים"),
|
||||
"changeEmail": MessageLookupByLibrary.simpleMessage("שנה דוא\"ל"),
|
||||
"changePassword": MessageLookupByLibrary.simpleMessage("שנה סיסמה"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("שנה סיסמה"),
|
||||
"changePermissions": MessageLookupByLibrary.simpleMessage("שנה הרשאה?"),
|
||||
"checkForUpdates": MessageLookupByLibrary.simpleMessage("בדוק עדכונים"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא בדוק את תיבת הדואר שלך (והספאם) כדי להשלים את האימות"),
|
||||
"checking": MessageLookupByLibrary.simpleMessage("בודק..."),
|
||||
"claimFreeStorage":
|
||||
MessageLookupByLibrary.simpleMessage("תבע מקום אחסון בחינם"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("תבע עוד!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("נתבע"),
|
||||
"claimedStorageSoFar": m14,
|
||||
"click": MessageLookupByLibrary.simpleMessage("• לחץ"),
|
||||
"close": MessageLookupByLibrary.simpleMessage("סגור"),
|
||||
"clubByCaptureTime":
|
||||
MessageLookupByLibrary.simpleMessage("קבץ לפי זמן הצילום"),
|
||||
"clubByFileName":
|
||||
MessageLookupByLibrary.simpleMessage("קבץ לפי שם הקובץ"),
|
||||
"codeAppliedPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("הקוד הוחל"),
|
||||
"codeCopiedToClipboard":
|
||||
MessageLookupByLibrary.simpleMessage("הקוד הועתק ללוח"),
|
||||
"codeUsedByYou":
|
||||
MessageLookupByLibrary.simpleMessage("הקוד שומש על ידיך"),
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"צור קישור על מנת לאפשר לאנשים להוסיף ולצפות בתמונות באלבום ששיתפת בלי צורך באפליקציית ente או חשבון. נהדר לאיסוף תמונות של אירועים."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("קישור לשיתוף פעולה"),
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("משתף פעולה"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"משתפי פעולה יכולים להוסיף תמונות וסרטונים לאלבום המשותף."),
|
||||
"collageLayout": MessageLookupByLibrary.simpleMessage("פריסה"),
|
||||
"collageSaved":
|
||||
MessageLookupByLibrary.simpleMessage("הקולז נשמר לגלריה"),
|
||||
"collectEventPhotos":
|
||||
MessageLookupByLibrary.simpleMessage("אסף תמונות מאירוע"),
|
||||
"collectPhotos": MessageLookupByLibrary.simpleMessage("אסוף תמונות"),
|
||||
"color": MessageLookupByLibrary.simpleMessage("צבע"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("אשר"),
|
||||
"confirm2FADisable": MessageLookupByLibrary.simpleMessage(
|
||||
"האם אתה בטוח שאתה רוצה להשבית את האימות הדו-גורמי?"),
|
||||
"confirmAccountDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("אשר את מחיקת החשבון"),
|
||||
"confirmPassword": MessageLookupByLibrary.simpleMessage("אמת סיסמא"),
|
||||
"confirmPlanChange":
|
||||
MessageLookupByLibrary.simpleMessage("אשר שינוי תוכנית"),
|
||||
"confirmRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("אמת את מפתח השחזור"),
|
||||
"confirmYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("אמת את מפתח השחזור"),
|
||||
"contactFamilyAdmin": m18,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("צור קשר עם התמיכה"),
|
||||
"contactToManageSubscription": m19,
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("המשך"),
|
||||
"continueOnFreeTrial":
|
||||
MessageLookupByLibrary.simpleMessage("המשך עם ניסיון חינמי"),
|
||||
"copyLink": MessageLookupByLibrary.simpleMessage("העתק קישור"),
|
||||
"copypasteThisCodentoYourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"תעתיק ותדביק את הקוד הזה\nלאפליקציית האימות שלך"),
|
||||
"couldNotBackUpTryLater": MessageLookupByLibrary.simpleMessage(
|
||||
"לא יכולנו לגבות את המידע שלך.\nאנא נסה שוב מאוחר יותר."),
|
||||
"couldNotUpdateSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("לא ניתן לעדכן את המנוי"),
|
||||
"count": MessageLookupByLibrary.simpleMessage("כמות"),
|
||||
"create": MessageLookupByLibrary.simpleMessage("צור"),
|
||||
"createAccount": MessageLookupByLibrary.simpleMessage("צור חשבון"),
|
||||
"createAlbumActionHint": MessageLookupByLibrary.simpleMessage(
|
||||
"לחץ לחיצה ארוכה על מנת לבחור תמונות ולחץ על + על מנת ליצור אלבום"),
|
||||
"createCollage": MessageLookupByLibrary.simpleMessage("צור קולז"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("צור חשבון חדש"),
|
||||
"createOrSelectAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("צור או בחר אלבום"),
|
||||
"createPublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("צור קישור ציבורי"),
|
||||
"creatingLink": MessageLookupByLibrary.simpleMessage("יוצר קישור..."),
|
||||
"criticalUpdateAvailable":
|
||||
MessageLookupByLibrary.simpleMessage("עדכון חשוב זמין"),
|
||||
"currentUsageIs": MessageLookupByLibrary.simpleMessage(
|
||||
"השימוש במקום האחסון כרגע הוא "),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("מותאם אישית"),
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("כהה"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("היום"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("אתמול"),
|
||||
"decrypting": MessageLookupByLibrary.simpleMessage("מפענח..."),
|
||||
"decryptingVideo":
|
||||
MessageLookupByLibrary.simpleMessage("מפענח את הסרטון..."),
|
||||
"deduplicateFiles":
|
||||
MessageLookupByLibrary.simpleMessage("הסר קבצים כפולים"),
|
||||
"delete": MessageLookupByLibrary.simpleMessage("מחק"),
|
||||
"deleteAccount": MessageLookupByLibrary.simpleMessage("מחק חשבון"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"אנחנו מצטערים לראות שאתה עוזב. אנא תחלוק את המשוב שלך כדי לעזור לנו להשתפר."),
|
||||
"deleteAccountPermanentlyButton":
|
||||
MessageLookupByLibrary.simpleMessage("מחק את החשבון לצמיתות"),
|
||||
"deleteAlbum": MessageLookupByLibrary.simpleMessage("מחק אלבום"),
|
||||
"deleteAlbumDialog": MessageLookupByLibrary.simpleMessage(
|
||||
"גם להסיר תמונות (וסרטונים) שנמצאים באלבום הזה מ<bold>כל</bold> שאר האלבומים שהם שייכים אליהם?"),
|
||||
"deleteAlbumsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"זה ימחק את כל האלבומים הריקים. זה שימושי כשאתה רוצה להפחית את כמות האי סדר ברשימת האלבומים שלך."),
|
||||
"deleteAll": MessageLookupByLibrary.simpleMessage("מחק הכל"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא תשלח דוא\"ל ל<warning>account-deletion@ente.io</warning> מהכתובת דוא\"ל שנרשמת איתה."),
|
||||
"deleteEmptyAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("למחוק אלבומים ריקים"),
|
||||
"deleteEmptyAlbumsWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("למחוק אלבומים ריקים?"),
|
||||
"deleteFromBoth": MessageLookupByLibrary.simpleMessage("מחק משניהם"),
|
||||
"deleteFromDevice": MessageLookupByLibrary.simpleMessage("מחק מהמכשיר"),
|
||||
"deleteItemCount": m21,
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("מחק תמונות"),
|
||||
"deleteProgress": m23,
|
||||
"deleteReason1":
|
||||
MessageLookupByLibrary.simpleMessage("חסר מאפיין מרכזי שאני צריך"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"היישומון או מאפיין מסוים לא מתנהג כמו שאני חושב שהוא צריך"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"מצאתי שירות אחר שאני יותר מחבב"),
|
||||
"deleteReason4":
|
||||
MessageLookupByLibrary.simpleMessage("הסיבה שלי לא כלולה"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"הבקשה שלך תועבד תוך 72 שעות."),
|
||||
"deleteSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("מחק את האלבום המשותף?"),
|
||||
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"האלבום הזה יימחק עבור כולם\n\nאתה תאבד גישה לתמונות משותפות באלבום הזה שבבעלות של אחרים"),
|
||||
"deselectAll": MessageLookupByLibrary.simpleMessage("בטל בחירה של הכל"),
|
||||
"designedToOutlive":
|
||||
MessageLookupByLibrary.simpleMessage("עוצב על מנת לשרוד"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("פרטים"),
|
||||
"disableAutoLock":
|
||||
MessageLookupByLibrary.simpleMessage("השבת נעילה אוטומטית"),
|
||||
"disableDownloadWarningBody": MessageLookupByLibrary.simpleMessage(
|
||||
"צופים יכולים עדיין לקחת צילומי מסך או לשמור עותק של התמונות שלך בעזרת כלים חיצוניים"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("שים לב"),
|
||||
"disableLinkMessage": m24,
|
||||
"disableTwofactor":
|
||||
MessageLookupByLibrary.simpleMessage("השבת דו-גורמי"),
|
||||
"discord": MessageLookupByLibrary.simpleMessage("Discord"),
|
||||
"dismiss": MessageLookupByLibrary.simpleMessage("התעלם"),
|
||||
"distanceInKMUnit": MessageLookupByLibrary.simpleMessage("ק\"מ"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("מאוחר יותר"),
|
||||
"done": MessageLookupByLibrary.simpleMessage("בוצע"),
|
||||
"download": MessageLookupByLibrary.simpleMessage("הורד"),
|
||||
"downloadFailed": MessageLookupByLibrary.simpleMessage("ההורדה נכשלה"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("מוריד..."),
|
||||
"dropSupportEmail": m25,
|
||||
"duplicateItemsGroup": m27,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("ערוך"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("זכאי"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("דוא\"ל"),
|
||||
"emailNoEnteAccount": m31,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("אימות מייל"),
|
||||
"empty": MessageLookupByLibrary.simpleMessage("ריק"),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("הצפנה"),
|
||||
"encryptionKeys": MessageLookupByLibrary.simpleMessage("מפתחות ההצפנה"),
|
||||
"endtoendEncryptedByDefault": MessageLookupByLibrary.simpleMessage(
|
||||
"מוצפן מקצה אל קצה כברירת מחדל"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Ente <i>צריך הרשאות על מנת </i> לשמור את התמונות שלך"),
|
||||
"enteSubscriptionShareWithFamily": MessageLookupByLibrary.simpleMessage(
|
||||
"אפשר להוסיף גם את המשפחה שלך לתוכנית."),
|
||||
"enterAlbumName": MessageLookupByLibrary.simpleMessage("הזן שם אלבום"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("הזן קוד"),
|
||||
"enterCodeDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"הכנס את הקוד שנמסר לך מחברך בשביל לקבל מקום אחסון בחינם עבורך ועבורו"),
|
||||
"enterEmail": MessageLookupByLibrary.simpleMessage("הזן דוא\"ל"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"הזן סיסמא חדשה שנוכל להשתמש בה כדי להצפין את המידע שלך"),
|
||||
"enterPassword": MessageLookupByLibrary.simpleMessage("הזן את הסיסמה"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"הזן סיסמא כדי שנוכל לפענח את המידע שלך"),
|
||||
"enterReferralCode":
|
||||
MessageLookupByLibrary.simpleMessage("הזן קוד הפניה"),
|
||||
"enterThe6digitCodeFromnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"הכנס את הקוד בעל 6 ספרות מתוך\nאפליקציית האימות שלך"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא הכנס כתובת דוא\"ל חוקית."),
|
||||
"enterYourEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("הכנס את כתובת הדוא״ל שלך"),
|
||||
"enterYourPassword": MessageLookupByLibrary.simpleMessage("הכנס סיסמא"),
|
||||
"enterYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("הזן את מפתח השחזור שלך"),
|
||||
"error": MessageLookupByLibrary.simpleMessage("שגיאה"),
|
||||
"everywhere": MessageLookupByLibrary.simpleMessage("בכל מקום"),
|
||||
"exif": MessageLookupByLibrary.simpleMessage("EXIF"),
|
||||
"existingUser": MessageLookupByLibrary.simpleMessage("משתמש קיים"),
|
||||
"expiredLinkInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"פג תוקף הקישור. אנא בחר בתאריך תפוגה חדש או השבת את תאריך התפוגה של הקישור."),
|
||||
"exportLogs": MessageLookupByLibrary.simpleMessage("ייצוא לוגים"),
|
||||
"exportYourData":
|
||||
MessageLookupByLibrary.simpleMessage("ייצוא הנתונים שלך"),
|
||||
"failedToApplyCode":
|
||||
MessageLookupByLibrary.simpleMessage("נכשל בהחלת הקוד"),
|
||||
"failedToCancel": MessageLookupByLibrary.simpleMessage("הביטול נכשל"),
|
||||
"failedToFetchReferralDetails": MessageLookupByLibrary.simpleMessage(
|
||||
"אחזור פרטי ההפניה נכשל. אנא נסה שוב מאוחר יותר."),
|
||||
"failedToLoadAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("נכשל בטעינת האלבומים"),
|
||||
"failedToRenew": MessageLookupByLibrary.simpleMessage("החידוש נכשל"),
|
||||
"failedToVerifyPaymentStatus":
|
||||
MessageLookupByLibrary.simpleMessage("נכשל באימות סטטוס התשלום"),
|
||||
"familyPlanPortalTitle": MessageLookupByLibrary.simpleMessage("משפחה"),
|
||||
"familyPlans": MessageLookupByLibrary.simpleMessage("תוכניות משפחה"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("שאלות נפוצות"),
|
||||
"faqs": MessageLookupByLibrary.simpleMessage("שאלות נפוצות"),
|
||||
"favorite": MessageLookupByLibrary.simpleMessage("מועדף"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("משוב"),
|
||||
"fileFailedToSaveToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("נכשל בעת שמירת הקובץ לגלריה"),
|
||||
"fileSavedToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("הקובץ נשמר לגלריה"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("הפוך"),
|
||||
"forYourMemories":
|
||||
MessageLookupByLibrary.simpleMessage("עבור הזכורונות שלך"),
|
||||
"forgotPassword": MessageLookupByLibrary.simpleMessage("שכחתי סיסמה"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("מקום אחסון בחינם נתבע"),
|
||||
"freeStorageOnReferralSuccess": m37,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("מקום אחסון שמיש"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("ניסיון חינמי"),
|
||||
"freeTrialValidTill": m38,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("פנה אחסון במכשיר"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("פנה מקום"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("כללי"),
|
||||
"generatingEncryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("יוצר מפתחות הצפנה..."),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
"grantFullAccessPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"נא לתת גישה לכל התמונות בתוך ההגדרות של הטלפון"),
|
||||
"grantPermission": MessageLookupByLibrary.simpleMessage("הענק הרשאה"),
|
||||
"hidden": MessageLookupByLibrary.simpleMessage("מוסתר"),
|
||||
"hide": MessageLookupByLibrary.simpleMessage("הסתר"),
|
||||
"hiding": MessageLookupByLibrary.simpleMessage("מחביא..."),
|
||||
"howItWorks": MessageLookupByLibrary.simpleMessage("איך זה עובד"),
|
||||
"howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא בקש מהם ללחוץ לחיצה ארוכה על הכתובת אימייל שלהם בעמוד ההגדרות, וודא שהמזההים בשני המכשירים תואמים."),
|
||||
"iOSOkButton": MessageLookupByLibrary.simpleMessage("אישור"),
|
||||
"ignoreUpdate": MessageLookupByLibrary.simpleMessage("התעלם"),
|
||||
"importing": MessageLookupByLibrary.simpleMessage("מייבא...."),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("סיסמא לא נכונה"),
|
||||
"incorrectRecoveryKeyBody":
|
||||
MessageLookupByLibrary.simpleMessage("המפתח שחזור שהזנת שגוי"),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("מפתח שחזור שגוי"),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("מכשיר בלתי מאובטח"),
|
||||
"installManually":
|
||||
MessageLookupByLibrary.simpleMessage("התקן באופן ידני"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("כתובת דוא״ל לא תקינה"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("מפתח לא חוקי"),
|
||||
"invalidRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"מפתח השחזור שהזמנת אינו תקין. אנא וודא שהוא מכיל 24 מילים, ותבדוק את האיות של כל אחת.\n\nאם הכנסת קוד שחזור ישן, וודא שהוא בעל 64 אותיות, ותבדוק כל אחת מהן."),
|
||||
"invite": MessageLookupByLibrary.simpleMessage("הזמן"),
|
||||
"inviteYourFriends":
|
||||
MessageLookupByLibrary.simpleMessage("הזמן את חברייך"),
|
||||
"itemCount": m44,
|
||||
"itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"הפריטים שנבחרו יוסרו מהאלבום הזה"),
|
||||
"keepPhotos": MessageLookupByLibrary.simpleMessage("השאר תמונות"),
|
||||
"kiloMeterUnit": MessageLookupByLibrary.simpleMessage("ק\"מ"),
|
||||
"kindlyHelpUsWithThisInformation":
|
||||
MessageLookupByLibrary.simpleMessage("אנא עזור לנו עם המידע הזה"),
|
||||
"language": MessageLookupByLibrary.simpleMessage("שפה"),
|
||||
"lastUpdated": MessageLookupByLibrary.simpleMessage("עדכון אחרון"),
|
||||
"leave": MessageLookupByLibrary.simpleMessage("עזוב"),
|
||||
"leaveAlbum": MessageLookupByLibrary.simpleMessage("צא מהאלבום"),
|
||||
"leaveFamily": MessageLookupByLibrary.simpleMessage("עזוב משפחה"),
|
||||
"leaveSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("לעזוב את האלבום המשותף?"),
|
||||
"light": MessageLookupByLibrary.simpleMessage("אור"),
|
||||
"lightTheme": MessageLookupByLibrary.simpleMessage("בהיר"),
|
||||
"linkCopiedToClipboard":
|
||||
MessageLookupByLibrary.simpleMessage("הקישור הועתק ללוח"),
|
||||
"linkDeviceLimit":
|
||||
MessageLookupByLibrary.simpleMessage("מגבלת כמות מכשירים"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("מאופשר"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("פג תוקף"),
|
||||
"linkExpiresOn": m47,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("תאריך תפוגה ללינק"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("הקישור פג תוקף"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("לעולם לא"),
|
||||
"location": MessageLookupByLibrary.simpleMessage("מקום"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("נעל"),
|
||||
"lockscreen": MessageLookupByLibrary.simpleMessage("מסך נעילה"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("התחבר"),
|
||||
"loggingOut": MessageLookupByLibrary.simpleMessage("מתנתק..."),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"על ידי לחיצה על התחברות, אני מסכים ל<u-terms>תנאי שירות</u-terms> ול<u-policy>מדיניות הפרטיות</u-policy>"),
|
||||
"logout": MessageLookupByLibrary.simpleMessage("התנתק"),
|
||||
"longpressOnAnItemToViewInFullscreen":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"לחץ לחיצה ארוכה על פריט על מנת לראות אותו במסך מלא"),
|
||||
"lostDevice": MessageLookupByLibrary.simpleMessage("איבדת את המכשיר?"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("נהל"),
|
||||
"manageFamily": MessageLookupByLibrary.simpleMessage("נהל משפחה"),
|
||||
"manageLink": MessageLookupByLibrary.simpleMessage("ניהול קישור"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("נהל"),
|
||||
"manageSubscription": MessageLookupByLibrary.simpleMessage("נהל מנוי"),
|
||||
"map": MessageLookupByLibrary.simpleMessage("מפה"),
|
||||
"maps": MessageLookupByLibrary.simpleMessage("מפות"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("סחורה"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("פלאפון, דפדפן, שולחן עבודה"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("מתונה"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("חודשי"),
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("הזז לאלבום"),
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage("הועבר לאשפה"),
|
||||
"movingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("מעביר קבצים לאלבום..."),
|
||||
"name": MessageLookupByLibrary.simpleMessage("שם"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("לעולם לא"),
|
||||
"newAlbum": MessageLookupByLibrary.simpleMessage("אלבום חדש"),
|
||||
"newest": MessageLookupByLibrary.simpleMessage("החדש ביותר"),
|
||||
"no": MessageLookupByLibrary.simpleMessage("לא"),
|
||||
"noDeviceLimit": MessageLookupByLibrary.simpleMessage("אין"),
|
||||
"noDeviceThatCanBeDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"אין לך קבצים במכשיר הזה שניתן למחוק אותם"),
|
||||
"noDuplicates": MessageLookupByLibrary.simpleMessage("✨ אין כפילויות"),
|
||||
"noPhotosAreBeingBackedUpRightNow":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אף תמונה אינה נמצאת בתהליך גיבוי כרגע"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("אין מפתח שחזור?"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"בשל טבע הפרוטוקול של ההצפנת קצה-אל-קצה שלנו, אין אפשרות לפענח את הנתונים שלך בלי הסיסמה או מפתח השחזור שלך"),
|
||||
"noResults": MessageLookupByLibrary.simpleMessage("אין תוצאות"),
|
||||
"notifications": MessageLookupByLibrary.simpleMessage("התראות"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("אוקיי"),
|
||||
"onDevice": MessageLookupByLibrary.simpleMessage("על המכשיר"),
|
||||
"onEnte":
|
||||
MessageLookupByLibrary.simpleMessage("ב<branding>אנטע</branding>"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("אופס"),
|
||||
"oopsSomethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("אופס, משהו השתבש"),
|
||||
"openSettings": MessageLookupByLibrary.simpleMessage("פתח הגדרות"),
|
||||
"optionalAsShortAsYouLike":
|
||||
MessageLookupByLibrary.simpleMessage("אופציונלי, קצר ככל שתרצה..."),
|
||||
"orPickAnExistingOne":
|
||||
MessageLookupByLibrary.simpleMessage("או בחר באחד קיים"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("סיסמא"),
|
||||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("הססמה הוחלפה בהצלחה"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("נעילת סיסמא"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"אנחנו לא שומרים את הסיסמא הזו, לכן אם אתה שוכח אותה, <underline>אנחנו לא יכולים לפענח את המידע שלך</underline>"),
|
||||
"paymentDetails": MessageLookupByLibrary.simpleMessage("פרטי תשלום"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("התשלום נכשל"),
|
||||
"paymentFailedTalkToProvider": m58,
|
||||
"peopleUsingYourCode":
|
||||
MessageLookupByLibrary.simpleMessage("אנשים משתמשים בקוד שלך"),
|
||||
"permanentlyDelete":
|
||||
MessageLookupByLibrary.simpleMessage("למחוק לצמיתות?"),
|
||||
"photoGridSize":
|
||||
MessageLookupByLibrary.simpleMessage("גודל לוח של התמונה"),
|
||||
"photoSmallCase": MessageLookupByLibrary.simpleMessage("תמונה"),
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("מנוי PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אנא צור קשר עם support@ente.io ואנחנו נשמח לעזור!"),
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("נא הענק את ההרשאות"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("אנא התחבר שוב"),
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("אנא נסה שנית"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("אנא המתן..."),
|
||||
"pleaseWaitForSometimeBeforeRetrying":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אנא חכה מעט לפני שאתה מנסה שוב"),
|
||||
"preparingLogs": MessageLookupByLibrary.simpleMessage("מכין לוגים..."),
|
||||
"preserveMore": MessageLookupByLibrary.simpleMessage("שמור עוד"),
|
||||
"pressAndHoldToPlayVideo": MessageLookupByLibrary.simpleMessage(
|
||||
"לחץ והחזק על מנת להריץ את הסרטון"),
|
||||
"pressAndHoldToPlayVideoDetailed": MessageLookupByLibrary.simpleMessage(
|
||||
"לחץ והחזק על התמונה על מנת להריץ את הסרטון"),
|
||||
"privacy": MessageLookupByLibrary.simpleMessage("פרטיות"),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("מדיניות פרטיות"),
|
||||
"privateBackups":
|
||||
MessageLookupByLibrary.simpleMessage("גיבויים פרטיים"),
|
||||
"privateSharing": MessageLookupByLibrary.simpleMessage("שיתוף פרטי"),
|
||||
"publicLinkCreated":
|
||||
MessageLookupByLibrary.simpleMessage("קישור ציבורי נוצר"),
|
||||
"publicLinkEnabled":
|
||||
MessageLookupByLibrary.simpleMessage("לינק ציבורי אופשר"),
|
||||
"radius": MessageLookupByLibrary.simpleMessage("רדיוס"),
|
||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("צור ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("דרג את האפליקציה"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("דרג אותנו"),
|
||||
"rateUsOnStore": m68,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("שחזר"),
|
||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("שחזר חשבון"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("שחזר"),
|
||||
"recoveryKey": MessageLookupByLibrary.simpleMessage("מפתח שחזור"),
|
||||
"recoveryKeyCopiedToClipboard":
|
||||
MessageLookupByLibrary.simpleMessage("מפתח השחזור הועתק ללוח"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"אם אתה שוכח את הסיסמא שלך, הדרך היחידה שתוכל לשחזר את המידע שלך היא עם המפתח הזה."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"אנחנו לא מאחסנים את המפתח הזה, אנא שמור את המפתח 24 מילים הזה במקום בטוח."),
|
||||
"recoveryKeySuccessBody": MessageLookupByLibrary.simpleMessage(
|
||||
"נהדר! מפתח השחזור תקין. אנחנו מודים לך על האימות.\n\nאנא תזכור לגבות את מפתח השחזור שלך באופן בטוח."),
|
||||
"recoveryKeyVerified":
|
||||
MessageLookupByLibrary.simpleMessage("מפתח השחזור אומת"),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("השחזור עבר בהצלחה!"),
|
||||
"recreatePasswordBody": MessageLookupByLibrary.simpleMessage(
|
||||
"המכשיר הנוכחי אינו חזק מספיק כדי לאמת את הסיסמא שלך, אבל אנחנו יכולים ליצור בצורה שתעבוד עם כל המכשירים.\n\nאנא התחבר בעזרת המפתח שחזור שלך וצור מחדש את הסיסמא שלך (אתה יכול להשתמש באותה אחת אם אתה רוצה)."),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("צור סיסמא מחדש"),
|
||||
"reddit": MessageLookupByLibrary.simpleMessage("Reddit"),
|
||||
"referralStep1": MessageLookupByLibrary.simpleMessage(
|
||||
"1. תמסור את הקוד הזה לחברייך"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. הם נרשמים עבור תוכנית בתשלום"),
|
||||
"referralStep3": m73,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("הפניות"),
|
||||
"referralsAreCurrentlyPaused":
|
||||
MessageLookupByLibrary.simpleMessage("הפניות כרגע מושהות"),
|
||||
"remindToEmptyDeviceTrash": MessageLookupByLibrary.simpleMessage(
|
||||
"גם נקה \"נמחק לאחרונה\" מ-\"הגדרות\" -> \"אחסון\" על מנת לקבל המקום אחסון שהתפנה"),
|
||||
"remindToEmptyEnteTrash": MessageLookupByLibrary.simpleMessage(
|
||||
"גם נקה את ה-\"אשפה\" שלך על מנת לקבל את המקום אחסון שהתפנה"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("הסר"),
|
||||
"removeDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("הסר כפילויות"),
|
||||
"removeFromAlbum": MessageLookupByLibrary.simpleMessage("הסר מהאלבום"),
|
||||
"removeFromAlbumTitle":
|
||||
MessageLookupByLibrary.simpleMessage("הסר מהאלבום?"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("הסרת קישור"),
|
||||
"removeParticipant": MessageLookupByLibrary.simpleMessage("הסר משתתף"),
|
||||
"removeParticipantBody": m74,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("הסר לינק ציבורי"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"חלק מהפריטים שאתה מסיר הוספו על ידי אנשים אחרים, ואתה תאבד גישה אליהם"),
|
||||
"removeWithQuestionMark": MessageLookupByLibrary.simpleMessage("הסר?"),
|
||||
"removingFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("מסיר מהמועדפים..."),
|
||||
"rename": MessageLookupByLibrary.simpleMessage("שנה שם"),
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("שנה שם הקובץ"),
|
||||
"renewSubscription": MessageLookupByLibrary.simpleMessage("חדש מנוי"),
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("דווח על באג"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("דווח על באג"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("שלח דוא\"ל מחדש"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("איפוס סיסמה"),
|
||||
"restore": MessageLookupByLibrary.simpleMessage("שחזר"),
|
||||
"restoreToAlbum": MessageLookupByLibrary.simpleMessage("שחזר לאלבום"),
|
||||
"restoringFiles":
|
||||
MessageLookupByLibrary.simpleMessage("משחזר קבצים..."),
|
||||
"retry": MessageLookupByLibrary.simpleMessage("נסה שוב"),
|
||||
"reviewDeduplicateItems": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא בחן והסר את הפריטים שאתה מאמין שהם כפלים."),
|
||||
"rotateLeft": MessageLookupByLibrary.simpleMessage("סובב שמאלה"),
|
||||
"safelyStored": MessageLookupByLibrary.simpleMessage("נשמר באופן בטוח"),
|
||||
"save": MessageLookupByLibrary.simpleMessage("שמור"),
|
||||
"saveCollage": MessageLookupByLibrary.simpleMessage("שמור קולז"),
|
||||
"saveCopy": MessageLookupByLibrary.simpleMessage("שמירת עותק"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("שמור מפתח"),
|
||||
"saveYourRecoveryKeyIfYouHaventAlready":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"שמור את מפתח השחזור שלך אם לא שמרת כבר"),
|
||||
"saving": MessageLookupByLibrary.simpleMessage("שומר..."),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("סרוק קוד"),
|
||||
"scanThisBarcodeWithnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"סרוק את הברקוד הזה\nבעזרת אפליקציית האימות שלך"),
|
||||
"searchByAlbumNameHint":
|
||||
MessageLookupByLibrary.simpleMessage("שם האלבום"),
|
||||
"security": MessageLookupByLibrary.simpleMessage("אבטחה"),
|
||||
"selectAlbum": MessageLookupByLibrary.simpleMessage("בחר אלבום"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("בחר הכל"),
|
||||
"selectFoldersForBackup":
|
||||
MessageLookupByLibrary.simpleMessage("בחר תיקיות לגיבוי"),
|
||||
"selectMorePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("בחר תמונות נוספות"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("בחר סיבה"),
|
||||
"selectYourPlan": MessageLookupByLibrary.simpleMessage("בחר תוכנית"),
|
||||
"selectedFoldersWillBeEncryptedAndBackedUp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"התיקיות שנבחרו יוצפנו ויגובו"),
|
||||
"selectedPhotos": m80,
|
||||
"selectedPhotosWithYours": m81,
|
||||
"send": MessageLookupByLibrary.simpleMessage("שלח"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("שלח דוא\"ל"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("שלח הזמנה"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("שלח קישור"),
|
||||
"sessionExpired":
|
||||
MessageLookupByLibrary.simpleMessage("פג תוקף החיבור"),
|
||||
"setAPassword": MessageLookupByLibrary.simpleMessage("הגדר סיסמה"),
|
||||
"setAs": MessageLookupByLibrary.simpleMessage("הגדר בתור"),
|
||||
"setCover": MessageLookupByLibrary.simpleMessage("הגדר כרקע"),
|
||||
"setLabel": MessageLookupByLibrary.simpleMessage("הגדר"),
|
||||
"setPasswordTitle": MessageLookupByLibrary.simpleMessage("הגדר סיסמא"),
|
||||
"setRadius": MessageLookupByLibrary.simpleMessage("הגדר רדיוס"),
|
||||
"setupComplete": MessageLookupByLibrary.simpleMessage("ההתקנה הושלמה"),
|
||||
"share": MessageLookupByLibrary.simpleMessage("שתף"),
|
||||
"shareALink": MessageLookupByLibrary.simpleMessage("שתף קישור"),
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("שתף אלבום עכשיו"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("שתף קישור"),
|
||||
"shareMyVerificationID": m83,
|
||||
"shareOnlyWithThePeopleYouWant":
|
||||
MessageLookupByLibrary.simpleMessage("שתף רק אם אנשים שאתה בוחר"),
|
||||
"shareTextConfirmOthersVerificationID": m84,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"הורד את ente על מנת שנוכל לשתף תמונות וסרטונים באיכות המקור באופן קל\n\nhttps://ente.io"),
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"שתף עם משתמשים שהם לא של ente"),
|
||||
"shareWithPeopleSectionTitle": m86,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("שתף את האלבום הראשון שלך"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"צור אלבומים הניתנים לשיתוף ושיתוף פעולה עם משתמשי ente אחרים, כולל משתמשים בתוכניות החינמיות."),
|
||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("שותף על ידי"),
|
||||
"sharedPhotoNotifications":
|
||||
MessageLookupByLibrary.simpleMessage("אלבומים משותפים חדשים"),
|
||||
"sharedPhotoNotificationsExplanation":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"קבל התראות כשמישהו מוסיף תמונה לאלבום משותף שאתה חלק ממנו"),
|
||||
"sharedWith": m87,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("שותף איתי"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("משתף..."),
|
||||
"showMemories": MessageLookupByLibrary.simpleMessage("הצג זכרונות"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"אני מסכים ל<u-terms>תנאי שירות</u-terms> ול<u-policy>מדיניות הפרטיות</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m88,
|
||||
"singleFileDeleteHighlight":
|
||||
MessageLookupByLibrary.simpleMessage("זה יימחק מכל האלבומים."),
|
||||
"skip": MessageLookupByLibrary.simpleMessage("דלג"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("חברתי"),
|
||||
"someoneSharingAlbumsWithYouShouldSeeTheSameId":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"מי שמשתף איתך אלבומים יוכל לראות את אותו המזהה במכשיר שלהם."),
|
||||
"somethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("משהו השתבש"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("משהו השתבש, אנא נסה שנית"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("מצטער"),
|
||||
"sorryCouldNotAddToFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"סליחה, לא ניתן להוסיף למועדפים!"),
|
||||
"sorryCouldNotRemoveFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"סליחה, לא ניתן להסיר מהמועדפים!"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אנחנו מצטערים, לא הצלחנו ליצור מפתחות מאובטחים על מכשיר זה.\n\nאנא הירשם ממכשיר אחר."),
|
||||
"sortAlbumsBy": MessageLookupByLibrary.simpleMessage("מיין לפי"),
|
||||
"sortOldestFirst":
|
||||
MessageLookupByLibrary.simpleMessage("הישן ביותר קודם"),
|
||||
"sparkleSuccess": MessageLookupByLibrary.simpleMessage("✨ הצלחה"),
|
||||
"startBackup": MessageLookupByLibrary.simpleMessage("התחל גיבוי"),
|
||||
"storage": MessageLookupByLibrary.simpleMessage("אחסון"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("משפחה"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("אתה"),
|
||||
"storageInGB": m93,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("גבול מקום האחסון נחרג"),
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("חזקה"),
|
||||
"subWillBeCancelledOn": m96,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("הרשם"),
|
||||
"subscription": MessageLookupByLibrary.simpleMessage("מנוי"),
|
||||
"success": MessageLookupByLibrary.simpleMessage("הצלחה"),
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("הציעו מאפיינים"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("תמיכה"),
|
||||
"syncProgress": m97,
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("מסנכרן..."),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("מערכת"),
|
||||
"tapToCopy": MessageLookupByLibrary.simpleMessage("הקש כדי להעתיק"),
|
||||
"tapToEnterCode":
|
||||
MessageLookupByLibrary.simpleMessage("הקש כדי להזין את הקוד"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("סיים"),
|
||||
"terminateSession": MessageLookupByLibrary.simpleMessage("סיים חיבור?"),
|
||||
"terms": MessageLookupByLibrary.simpleMessage("תנאים"),
|
||||
"termsOfServicesTitle": MessageLookupByLibrary.simpleMessage("תנאים"),
|
||||
"thankYou": MessageLookupByLibrary.simpleMessage("תודה"),
|
||||
"thankYouForSubscribing":
|
||||
MessageLookupByLibrary.simpleMessage("תודה שנרשמת!"),
|
||||
"theDownloadCouldNotBeCompleted":
|
||||
MessageLookupByLibrary.simpleMessage("לא ניתן להשלים את ההורדה"),
|
||||
"theme": MessageLookupByLibrary.simpleMessage("ערכת נושא"),
|
||||
"theyAlsoGetXGb": m99,
|
||||
"thisCanBeUsedToRecoverYourAccountIfYou":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"זה יכול לשמש לשחזור החשבון שלך במקרה ותאבד את הגורם השני"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("מכשיר זה"),
|
||||
"thisIsPersonVerificationId": m100,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("זה מזהה האימות שלך"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage("זה ינתק אותך מהמכשיר הבא:"),
|
||||
"thisWillLogYouOutOfThisDevice":
|
||||
MessageLookupByLibrary.simpleMessage("זה ינתק אותך במכשיר זה!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"כדי לאפס את הסיסמא שלך, אנא אמת את האימייל שלך קודם."),
|
||||
"total": MessageLookupByLibrary.simpleMessage("סך הכל"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("גודל כולל"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("אשפה"),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("נסה שוב"),
|
||||
"twitter": MessageLookupByLibrary.simpleMessage("Twitter"),
|
||||
"twoMonthsFreeOnYearlyPlans": MessageLookupByLibrary.simpleMessage(
|
||||
"חודשיים בחינם בתוכניות שנתיות"),
|
||||
"twofactor": MessageLookupByLibrary.simpleMessage("דו-גורמי"),
|
||||
"twofactorAuthenticationPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("אימות דו-גורמי"),
|
||||
"twofactorSetup": MessageLookupByLibrary.simpleMessage("אימות דו-שלבי"),
|
||||
"unarchive": MessageLookupByLibrary.simpleMessage("הוצאה מארכיון"),
|
||||
"uncategorized": MessageLookupByLibrary.simpleMessage("ללא קטגוריה"),
|
||||
"unhide": MessageLookupByLibrary.simpleMessage("בטל הסתרה"),
|
||||
"unhideToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("בטל הסתרה בחזרה לאלבום"),
|
||||
"unhidingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("מבטל הסתרת הקבצים לאלבום"),
|
||||
"unlock": MessageLookupByLibrary.simpleMessage("ביטול נעילה"),
|
||||
"unselectAll": MessageLookupByLibrary.simpleMessage("בטל בחירה של הכל"),
|
||||
"update": MessageLookupByLibrary.simpleMessage("עדכן"),
|
||||
"updateAvailable": MessageLookupByLibrary.simpleMessage("עדכון זמין"),
|
||||
"updatingFolderSelection":
|
||||
MessageLookupByLibrary.simpleMessage("מעדכן את בחירת התיקיות..."),
|
||||
"upgrade": MessageLookupByLibrary.simpleMessage("שדרג"),
|
||||
"uploadingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("מעלה קבצים לאלבום..."),
|
||||
"usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"כמות האחסון השמישה שלך מוגבלת בתוכנית הנוכחית. אחסון עודף יהפוך שוב לשמיש אחרי שתשדרג את התוכנית שלך."),
|
||||
"useRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("השתמש במפתח שחזור"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("מקום בשימוש"),
|
||||
"verificationId": MessageLookupByLibrary.simpleMessage("מזהה אימות"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("אמת"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("אימות דוא\"ל"),
|
||||
"verifyEmailID": m111,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("אמת"),
|
||||
"verifyPassword": MessageLookupByLibrary.simpleMessage("אמת סיסמא"),
|
||||
"verifyingRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("מוודא את מפתח השחזור..."),
|
||||
"videoSmallCase": MessageLookupByLibrary.simpleMessage("וידאו"),
|
||||
"viewActiveSessions":
|
||||
MessageLookupByLibrary.simpleMessage("צפה בחיבורים פעילים"),
|
||||
"viewAll": MessageLookupByLibrary.simpleMessage("הצג הכל"),
|
||||
"viewLogs": MessageLookupByLibrary.simpleMessage("צפייה בלוגים"),
|
||||
"viewRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("צפה במפתח השחזור"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("צפיין"),
|
||||
"visitWebToManage": MessageLookupByLibrary.simpleMessage(
|
||||
"אנא בקר ב-web.ente.io על מנת לנהל את המנוי שלך"),
|
||||
"weAreOpenSource":
|
||||
MessageLookupByLibrary.simpleMessage("הקוד שלנו פתוח!"),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("חלשה"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("ברוך שובך!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("שנתי"),
|
||||
"yearsAgo": m116,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("כן"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("כן, בטל"),
|
||||
"yesConvertToViewer":
|
||||
MessageLookupByLibrary.simpleMessage("כן, המר לצפיין"),
|
||||
"yesDelete": MessageLookupByLibrary.simpleMessage("כן, מחק"),
|
||||
"yesLogout": MessageLookupByLibrary.simpleMessage("כן, התנתק"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("כן, הסר"),
|
||||
"yesRenew": MessageLookupByLibrary.simpleMessage("כן, חדש"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("אתה"),
|
||||
"youAreOnAFamilyPlan":
|
||||
MessageLookupByLibrary.simpleMessage("אתה על תוכנית משפחתית!"),
|
||||
"youAreOnTheLatestVersion":
|
||||
MessageLookupByLibrary.simpleMessage("אתה על הגרסא הכי עדכנית"),
|
||||
"youCanAtMaxDoubleYourStorage": MessageLookupByLibrary.simpleMessage(
|
||||
"* אתה יכול במקסימום להכפיל את מקום האחסון שלך"),
|
||||
"youCanManageYourLinksInTheShareTab":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"אתה יכול לנהת את הקישורים שלך בלשונית שיתוף."),
|
||||
"youCannotDowngradeToThisPlan": MessageLookupByLibrary.simpleMessage(
|
||||
"אתה לא יכול לשנמך לתוכנית הזו"),
|
||||
"youCannotShareWithYourself":
|
||||
MessageLookupByLibrary.simpleMessage("אתה לא יכול לשתף עם עצמך"),
|
||||
"youHaveSuccessfullyFreedUp": m118,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("החשבון שלך נמחק"),
|
||||
"yourPlanWasSuccessfullyDowngraded":
|
||||
MessageLookupByLibrary.simpleMessage("התוכנית שלך שונמכה בהצלחה"),
|
||||
"yourPlanWasSuccessfullyUpgraded":
|
||||
MessageLookupByLibrary.simpleMessage("התוכנית שלך שודרגה בהצלחה"),
|
||||
"yourPurchaseWasSuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("התשלום שלך עבר בהצלחה"),
|
||||
"yourStorageDetailsCouldNotBeFetched":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"לא ניתן לאחזר את פרטי מקום האחסון"),
|
||||
"yourSubscriptionHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("פג תוקף המנוי שלך"),
|
||||
"yourSubscriptionWasUpdatedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("המנוי שלך עודכן בהצלחה")
|
||||
};
|
||||
}
|
||||
111
mobile/apps/photos/lib/generated/intl/messages_hi.dart
generated
@@ -1,111 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a hi locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'hi';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("आपका पुनः स्वागत है"),
|
||||
"activeSessions": MessageLookupByLibrary.simpleMessage("एक्टिव सेशन"),
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"आपका अकाउंट हटाने का मुख्य कारण क्या है?"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("रद्द करें"),
|
||||
"confirmAccountDeletion": MessageLookupByLibrary.simpleMessage(
|
||||
"अकाउंट डिलीट करने की पुष्टि करें"),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("पासवर्ड की पुष्टि करें"),
|
||||
"createAccount": MessageLookupByLibrary.simpleMessage("अकाउंट बनायें"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("नया अकाउंट बनाएँ"),
|
||||
"decrypting":
|
||||
MessageLookupByLibrary.simpleMessage("डिक्रिप्ट हो रहा है..."),
|
||||
"deleteAccount":
|
||||
MessageLookupByLibrary.simpleMessage("अकाउंट डिलीट करें"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"आपको जाता हुए देख कर हमें खेद है। कृपया हमें बेहतर बनने में सहायता के लिए अपनी प्रतिक्रिया साझा करें।"),
|
||||
"deleteAccountPermanentlyButton": MessageLookupByLibrary.simpleMessage(
|
||||
"अकाउंट स्थायी रूप से डिलीट करें"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"कृपया <warning>account-deletion@ente.io</warning> पर अपने पंजीकृत ईमेल एड्रेस से ईमेल भेजें।"),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"इसमें एक मुख्य विशेषता गायब है जिसकी मुझे आवश्यकता है"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"यह ऐप या इसका कोई एक फीचर मेरे विचारानुसार काम नहीं करता है"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"मुझे कहीं और कोई दूरी सेवा मिली जो मुझे बेहतर लगी"),
|
||||
"deleteReason4": MessageLookupByLibrary.simpleMessage(
|
||||
"मेरा कारण इस लिस्ट में नहीं है"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"आपका अनुरोध 72 घंटों के भीतर संसाधित किया जाएगा।"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("ईमेल"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Ente को आपकी तस्वीरों को संरक्षित करने के लिए <i>अनुमति की आवश्यकता है</i>"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"कृपया वैद्य ईमेल ऐड्रेस डालें"),
|
||||
"enterYourEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("अपना ईमेल ऐड्रेस डालें"),
|
||||
"enterYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("अपनी रिकवरी कुंजी दर्ज करें"),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("प्रतिपुष्टि"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("पासवर्ड भूल गए"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(
|
||||
"आपके द्वारा दर्ज रिकवरी कुंजी ग़लत है"),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("रिकवरी कुंजी ग़लत है"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("अमान्य ईमेल ऐड्रेस"),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"कृपया हमें इस जानकारी के लिए सहायता करें"),
|
||||
"noRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("रिकवरी कुंजी नहीं है?"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"हमारे एंड-टू-एंड एन्क्रिप्शन प्रोटोकॉल की प्रकृति के कारण, आपके डेटा को आपके पासवर्ड या रिकवरी कुंजी के बिना डिक्रिप्ट नहीं किया जा सकता है"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("ठीक है"),
|
||||
"oops": MessageLookupByLibrary.simpleMessage("ओह!"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("पासवर्ड"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("पुनः प्राप्त"),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("रिकवरी सफल हुई!"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("कारण चुनें"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("ईमेल भेजें"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"कुछ गड़बड़ हुई है। कृपया दोबारा प्रयास करें।"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("क्षमा करें!"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("रद्द करें"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("सेशन रद्द करें?"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("यह डिवाइस"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"इससे आप इन डिवाइसों से लॉग आउट हो जाएँगे:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"इससे आप इस डिवाइस से लॉग आउट हो जाएँगे!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"अपना पासवर्ड रीसेट करने के लिए, कृपया पहले अपना ईमेल सत्यापित करें।"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("सत्यापित करें"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("ईमेल सत्यापित करें"),
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"आपका अकाउंट डिलीट कर दिया गया है")
|
||||
};
|
||||
}
|
||||
755
mobile/apps/photos/lib/generated/intl/messages_hu.dart
generated
@@ -1,755 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a hu locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'hu';
|
||||
|
||||
static String m8(count) =>
|
||||
"${Intl.plural(count, zero: 'Nincsenek résztvevők', one: '1 résztvevő', other: '${count} résztvevők')}";
|
||||
|
||||
static String m13(user) =>
|
||||
"${user} nem tud több fotót hozzáadni ehhez az albumhoz.\n\nTovábbra is el tudja távolítani az általa hozzáadott meglévő fotókat";
|
||||
|
||||
static String m14(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'A családod eddig ${storageAmountInGb} GB tárhelyet igényelt',
|
||||
'false': 'Eddig ${storageAmountInGb} GB tárhelyet igényelt',
|
||||
'other': 'Eddig ${storageAmountInGb} GB tárhelyet igényelt!',
|
||||
})}";
|
||||
|
||||
static String m21(count) =>
|
||||
"${Intl.plural(count, one: 'Elem ${count} törlése', other: 'Elemek ${count} törlése')}";
|
||||
|
||||
static String m24(albumName) =>
|
||||
"Ez eltávolítja a(z) „${albumName}” eléréséhez szükséges nyilvános linket.";
|
||||
|
||||
static String m25(supportEmail) =>
|
||||
"Kérjük küldjön egy e-mailt a fiók regisztrálásakor megadott címről a következőre címre: ${supportEmail}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
"${count} fájl, ${formattedSize} mindegyik";
|
||||
|
||||
static String m31(email) =>
|
||||
"${email} címnek nincs Ente fiókja.\n\nKüldjön nekik meghívót fotók megosztására.";
|
||||
|
||||
static String m37(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB minden alkalommal, amikor valaki fizetős csomagra fizet elő és felhasználja a kódodat";
|
||||
|
||||
static String m44(count) =>
|
||||
"${Intl.plural(count, one: '${count} elem', other: '${count} elem')}";
|
||||
|
||||
static String m47(expiryTime) => "Hivatkozás lejár ${expiryTime} ";
|
||||
|
||||
static String m50(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'nincsenek emlékek', one: '${formattedCount} emlék', other: '${formattedCount} emlékek')}";
|
||||
|
||||
static String m55(familyAdminEmail) =>
|
||||
"Kérjük, vegye fel a kapcsolatot a ${familyAdminEmail} e-mail címmel a kód módosításához.";
|
||||
|
||||
static String m57(passwordStrengthValue) =>
|
||||
"Jelszó erőssége: ${passwordStrengthValue}";
|
||||
|
||||
static String m73(storageInGB) =>
|
||||
"3. Mindketten ${storageInGB} GB* ingyenes tárhelyet kaptok";
|
||||
|
||||
static String m74(userEmail) =>
|
||||
"${userEmail} felhasználó el lesz távolítva ebből a megosztott albumból\n\nAz általa hozzáadott összes fotó is eltávolításra kerül az albumból.";
|
||||
|
||||
static String m80(count) => "${count} kiválasztott";
|
||||
|
||||
static String m81(count, yourCount) =>
|
||||
"${count} kiválasztott (${yourCount} a tiéd)";
|
||||
|
||||
static String m83(verificationID) =>
|
||||
"Itt az ellenőrző azonosítóm: ${verificationID} az ente.io-hoz.";
|
||||
|
||||
static String m84(verificationID) =>
|
||||
"Szia, meg tudnád erősíteni, hogy ez az ente.io ellenőrző azonosítód? ${verificationID}";
|
||||
|
||||
static String m85(referralCode, referralStorageInGB) =>
|
||||
"Add meg a következő ajánlási kódot: ${referralCode}\n\nAlkalmazd a Beállítások → Általános → Ajánlások menüpontban, hogy ${referralStorageInGB} GB ingyenes tárhelyet kapj, miután regisztráltál egy fizetős csomagra\n\nhttps://ente.io";
|
||||
|
||||
static String m86(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Megosztás adott személyekkel', one: '1 személlyel megosztva', other: '${numberOfPeople} személlyel megosztva')}";
|
||||
|
||||
static String m88(fileType) =>
|
||||
"Ez a ${fileType} fájl törlődni fog az eszközéről.";
|
||||
|
||||
static String m89(fileType) =>
|
||||
"Ez a ${fileType} fájltípus megtalálható mind az Enterben, mind az eszközödön.";
|
||||
|
||||
static String m90(fileType) => "Ez a ${fileType} fájl törlődik az Ente-ből.";
|
||||
|
||||
static String m93(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m99(storageAmountInGB) =>
|
||||
"Emellett ${storageAmountInGB} GB-ot kapnak";
|
||||
|
||||
static String m100(email) => "Ez ${email} ellenőrző azonosítója";
|
||||
|
||||
static String m114(email) =>
|
||||
"E-mailt küldtünk a következő címre: <green>${email}</green>";
|
||||
|
||||
static String m116(count) =>
|
||||
"${Intl.plural(count, one: '${count} évvel ezelőtt', other: '${count} évekkel ezelőtt')}";
|
||||
|
||||
static String m118(storageSaved) =>
|
||||
"Sikeresen felszabadítottál ${storageSaved} tárhelyet!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"aNewVersionOfEnteIsAvailable": MessageLookupByLibrary.simpleMessage(
|
||||
"Megjelent az Ente új verziója."),
|
||||
"about": MessageLookupByLibrary.simpleMessage("Rólunk"),
|
||||
"account": MessageLookupByLibrary.simpleMessage("Fiók"),
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Köszöntjük ismét!"),
|
||||
"ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Tudomásul veszem, hogy ha elveszítem a jelszavamat, elveszíthetem az adataimat, mivel adataim <underline>végponttól végpontig titkosítva vannak</underline>."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("Bejelentkezések"),
|
||||
"addANewEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Új email cím hozzáadása"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Együttműködő hozzáadása"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("További hozzáadása"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage(
|
||||
"Megtekintésre jogosult hozzáadása"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Hozzáadva mint"),
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Hozzáadás a kedvencekhez..."),
|
||||
"advancedSettings": MessageLookupByLibrary.simpleMessage("Haladó"),
|
||||
"after1Day": MessageLookupByLibrary.simpleMessage("Egy nap mólva"),
|
||||
"after1Hour": MessageLookupByLibrary.simpleMessage("Egy óra múlva"),
|
||||
"after1Month": MessageLookupByLibrary.simpleMessage("Egy hónap múlva"),
|
||||
"after1Week": MessageLookupByLibrary.simpleMessage("Egy hét múlva"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Egy év múlva"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Tulajdonos"),
|
||||
"albumParticipantsCount": m8,
|
||||
"albumUpdated": MessageLookupByLibrary.simpleMessage("Album módosítva"),
|
||||
"albums": MessageLookupByLibrary.simpleMessage("Album"),
|
||||
"allClear": MessageLookupByLibrary.simpleMessage("✨ Minden tiszta"),
|
||||
"allowAddPhotosDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Engedélyezd a linkkel rendelkező személyeknek, hogy ők is hozzáadhassanak fotókat a megosztott albumhoz."),
|
||||
"allowAddingPhotos": MessageLookupByLibrary.simpleMessage(
|
||||
"Fotók hozzáadásának engedélyezése"),
|
||||
"allowDownloads":
|
||||
MessageLookupByLibrary.simpleMessage("Letöltések engedélyezése"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Alkalmaz"),
|
||||
"applyCodeTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Kód alkalmazása"),
|
||||
"archive": MessageLookupByLibrary.simpleMessage("Archívum"),
|
||||
"areYouSureYouWantToLogout": MessageLookupByLibrary.simpleMessage(
|
||||
"Biztos benne, hogy kijelentkezik?"),
|
||||
"askDeleteReason":
|
||||
MessageLookupByLibrary.simpleMessage("Miért törli a fiókját?"),
|
||||
"authToChangeEmailVerificationSetting":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, hitelesítse magát az e-mail-cím ellenőrzésének módosításához"),
|
||||
"authToChangeYourEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, hitelesítse magát az e-mail címének módosításához"),
|
||||
"authToChangeYourPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, hitelesítse magát a jelszó módosításához"),
|
||||
"authToInitiateAccountDeletion": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, hitelesítse magát a fiók törlésének megkezdéséhez"),
|
||||
"authToViewTrashedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, hitelesítse magát a kukába helyezett fájlok megtekintéséhez"),
|
||||
"authToViewYourHiddenFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, hitelesítse magát a rejtett fájlok megtekintéséhez"),
|
||||
"backedUpFolders": MessageLookupByLibrary.simpleMessage(
|
||||
"Biztonsági másolatban lévő mappák"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Biztonsági mentés"),
|
||||
"backupOverMobileData": MessageLookupByLibrary.simpleMessage(
|
||||
"Biztonsági mentés mobil adatkapcsolaton keresztül"),
|
||||
"backupSettings": MessageLookupByLibrary.simpleMessage(
|
||||
"Biztonsági mentés beállításai"),
|
||||
"backupStatus":
|
||||
MessageLookupByLibrary.simpleMessage("Biztonsági mentés állapota"),
|
||||
"backupStatusDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Azok az elemek jelennek meg itt, amelyekről biztonsági másolat készült"),
|
||||
"backupVideos": MessageLookupByLibrary.simpleMessage("Tartalék videók"),
|
||||
"canNotOpenBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnálom, ez az album nem nyitható meg ebben az applikációban."),
|
||||
"canNotOpenTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Album nem nyitható meg"),
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Csak a saját tulajdonú fájlokat távolíthatja el"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Mégse"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m13,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Nem lehet törölni a megosztott fájlokat"),
|
||||
"change": MessageLookupByLibrary.simpleMessage("Módosítás"),
|
||||
"changeEmail":
|
||||
MessageLookupByLibrary.simpleMessage("E-mail cím módosítása"),
|
||||
"changePassword":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó megváltoztatása"),
|
||||
"changePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó megváltoztatása"),
|
||||
"changePermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Engedélyek módosítása?"),
|
||||
"changeYourReferralCode":
|
||||
MessageLookupByLibrary.simpleMessage("Módosítsa ajánló kódját"),
|
||||
"checkForUpdates":
|
||||
MessageLookupByLibrary.simpleMessage("Frissítések ellenőrzése"),
|
||||
"checkInboxAndSpamFolder": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, ellenőrizze beérkező leveleit (és spam mappát) az ellenőrzés befejezéséhez"),
|
||||
"checkStatus":
|
||||
MessageLookupByLibrary.simpleMessage("Állapot ellenőrzése"),
|
||||
"checking": MessageLookupByLibrary.simpleMessage("Ellenőrzés..."),
|
||||
"claimFreeStorage": MessageLookupByLibrary.simpleMessage(
|
||||
"Igényeljen ingyenes tárhelyet"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Igényelj többet!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Megszerezve!"),
|
||||
"claimedStorageSoFar": m14,
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("Indexek törlése"),
|
||||
"codeAppliedPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Kód alkalmazva"),
|
||||
"codeChangeLimitReached": MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnáljuk, elérted a kódmódosítások maximális számát."),
|
||||
"codeCopiedToClipboard":
|
||||
MessageLookupByLibrary.simpleMessage("A kód a vágólapra másolva"),
|
||||
"codeUsedByYou":
|
||||
MessageLookupByLibrary.simpleMessage("Ön által használt kód"),
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Hozzon létre egy hivatkozást, amely lehetővé teszi az emberek számára, hogy fotókat adhassanak hozzá és tekintsenek meg megosztott albumában anélkül, hogy Ente alkalmazásra vagy fiókra lenne szükségük. Kiválóan alkalmas rendezvényfotók gyűjtésére."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Együttműködési hivatkozás"),
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Együttműködő"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Az együttműködők hozzá adhatnak fotókat és videókat a megosztott albumban."),
|
||||
"collectPhotos": MessageLookupByLibrary.simpleMessage("Fotók gyűjtése"),
|
||||
"confirm": MessageLookupByLibrary.simpleMessage("Megerősítés"),
|
||||
"confirmAccountDeletion": MessageLookupByLibrary.simpleMessage(
|
||||
"Felhasználó Törlés Megerősítés"),
|
||||
"confirmDeletePrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Igen, szeretném véglegesen törölni ezt a felhasználót, minden adattal, az összes platformon."),
|
||||
"confirmPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó megerősítés"),
|
||||
"confirmRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Helyreállítási kulcs megerősítése"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Erősítse meg helyreállítási kulcsát"),
|
||||
"contactSupport": MessageLookupByLibrary.simpleMessage(
|
||||
"Lépj kapcsolatba az Ügyfélszolgálattal"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Folytatás"),
|
||||
"copyLink": MessageLookupByLibrary.simpleMessage("Hivatkozás másolása"),
|
||||
"copypasteThisCodentoYourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Kód Másolása-Beillesztése az ön autentikátor alkalmazásába"),
|
||||
"createAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Felhasználó létrehozás"),
|
||||
"createAlbumActionHint": MessageLookupByLibrary.simpleMessage(
|
||||
"Hosszan nyomva tartva kiválaszthatod a fotókat, majd a + jelre kattintva albumot hozhatsz létre"),
|
||||
"createNewAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Új felhasználó létrehozás"),
|
||||
"createPublicLink": MessageLookupByLibrary.simpleMessage(
|
||||
"Nyilvános hivatkozás létrehozása"),
|
||||
"creatingLink":
|
||||
MessageLookupByLibrary.simpleMessage("Link létrehozása..."),
|
||||
"criticalUpdateAvailable":
|
||||
MessageLookupByLibrary.simpleMessage("Kritikus frissítés elérhető"),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Egyéni"),
|
||||
"decrypting": MessageLookupByLibrary.simpleMessage("Dekódolás..."),
|
||||
"deleteAccount": MessageLookupByLibrary.simpleMessage("Fiók törlése"),
|
||||
"deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnáljuk, hogy távozik. Kérjük, ossza meg velünk visszajelzéseit, hogy segítsen nekünk a fejlődésben."),
|
||||
"deleteAccountPermanentlyButton": MessageLookupByLibrary.simpleMessage(
|
||||
"Felhasználó Végleges Törlése"),
|
||||
"deleteAlbum": MessageLookupByLibrary.simpleMessage("Album törlése"),
|
||||
"deleteAlbumDialog": MessageLookupByLibrary.simpleMessage(
|
||||
"Törli az ebben az albumban található fotókat (és videókat) az <bold>összes</bold> többi albumból is, amelynek részét képezik?"),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérem küldjön egy emailt a regisztrált email címéről, erre az emailcímre: <warning>account-deletion@ente.io</warning>."),
|
||||
"deleteFromBoth":
|
||||
MessageLookupByLibrary.simpleMessage("Törlés mindkettőből"),
|
||||
"deleteFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Törlés az eszközről"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Törlés az Ente-ből"),
|
||||
"deleteItemCount": m21,
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Fotók törlése"),
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Hiányoznak olyan funkciók, amikre szükségem lenne"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
"Az applikáció vagy egy adott funkció nem úgy működik ahogy kellene"),
|
||||
"deleteReason3": MessageLookupByLibrary.simpleMessage(
|
||||
"Találtam egy jobb szolgáltatót"),
|
||||
"deleteReason4":
|
||||
MessageLookupByLibrary.simpleMessage("Nincs a listán az ok"),
|
||||
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
|
||||
"A kérése 72 órán belül feldolgozásra kerül."),
|
||||
"deleteSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Törli a megosztott albumot?"),
|
||||
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Az album mindenki számára törlődik.\n\nElveszíti a hozzáférést az albumban található, mások tulajdonában lévő megosztott fotókhoz."),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Részletek"),
|
||||
"deviceLockExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Disable the device screen lock when Ente is in the foreground and there is a backup in progress. This is normally not needed, but may help big uploads and initial imports of large libraries complete faster."),
|
||||
"disableAutoLock":
|
||||
MessageLookupByLibrary.simpleMessage("Automatikus zár letiltása"),
|
||||
"disableDownloadWarningBody": MessageLookupByLibrary.simpleMessage(
|
||||
"A nézők továbbra is készíthetnek képernyőképeket, vagy menthetnek másolatot a fotóidról külső eszközök segítségével"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Kérjük, vedd figyelembe"),
|
||||
"disableLinkMessage": m24,
|
||||
"discover": MessageLookupByLibrary.simpleMessage("Felfedezés"),
|
||||
"discover_babies": MessageLookupByLibrary.simpleMessage("Babák"),
|
||||
"discover_celebrations":
|
||||
MessageLookupByLibrary.simpleMessage("Ünnepségek"),
|
||||
"discover_food": MessageLookupByLibrary.simpleMessage("Étel"),
|
||||
"discover_greenery": MessageLookupByLibrary.simpleMessage("Lomb"),
|
||||
"discover_hills": MessageLookupByLibrary.simpleMessage("Dombok"),
|
||||
"discover_identity":
|
||||
MessageLookupByLibrary.simpleMessage("Személyazonosság"),
|
||||
"discover_memes": MessageLookupByLibrary.simpleMessage("Mémek"),
|
||||
"discover_notes": MessageLookupByLibrary.simpleMessage("Jegyzetek"),
|
||||
"discover_pets": MessageLookupByLibrary.simpleMessage("Kisállatok"),
|
||||
"discover_receipts": MessageLookupByLibrary.simpleMessage("Nyugták"),
|
||||
"discover_screenshots":
|
||||
MessageLookupByLibrary.simpleMessage("Képernyőképek"),
|
||||
"discover_selfies": MessageLookupByLibrary.simpleMessage("Szelfik"),
|
||||
"discover_sunset": MessageLookupByLibrary.simpleMessage("Napnyugta"),
|
||||
"discover_visiting_cards":
|
||||
MessageLookupByLibrary.simpleMessage("Névjegykártyák"),
|
||||
"discover_wallpapers":
|
||||
MessageLookupByLibrary.simpleMessage("Háttérképek"),
|
||||
"doThisLater": MessageLookupByLibrary.simpleMessage("Később"),
|
||||
"done": MessageLookupByLibrary.simpleMessage("Kész"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Letöltés..."),
|
||||
"dropSupportEmail": m25,
|
||||
"duplicateItemsGroup": m27,
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("jogosult"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailAlreadyRegistered":
|
||||
MessageLookupByLibrary.simpleMessage("Az email cím már foglalt."),
|
||||
"emailNoEnteAccount": m31,
|
||||
"emailNotRegistered":
|
||||
MessageLookupByLibrary.simpleMessage("Nem regisztrált email cím."),
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("E-mail cím ellenőrzése"),
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Titkosítás"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Titkosító kulcsok"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"Az Entének <i>engedélyre van szüksége </i>, hogy tárolhassa fotóit"),
|
||||
"enterCode": MessageLookupByLibrary.simpleMessage("Kód beírása"),
|
||||
"enterCodeDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Add meg a barátod által megadott kódot, hogy mindkettőtöknek ingyenes tárhelyet igényelhess"),
|
||||
"enterEmail": MessageLookupByLibrary.simpleMessage("Email megadása"),
|
||||
"enterNewPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Adjon meg egy új jelszót, amellyel titkosíthatjuk adatait"),
|
||||
"enterPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Adja meg a jelszót"),
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Adjon meg egy jelszót, amellyel titkosíthatjuk adatait"),
|
||||
"enterReferralCode":
|
||||
MessageLookupByLibrary.simpleMessage("Adja meg az ajánló kódot"),
|
||||
"enterThe6digitCodeFromnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Írja be a 6 számjegyű kódot a hitelesítő alkalmazásból"),
|
||||
"enterValidEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, adjon meg egy érvényes e-mail címet."),
|
||||
"enterYourEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Adja meg az e-mail címét"),
|
||||
"enterYourNewEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Add meg az új email címed"),
|
||||
"enterYourPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Adja meg a jelszavát"),
|
||||
"enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Adja meg visszaállítási kulcsát"),
|
||||
"expiredLinkInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Ez a link lejárt. Kérjük, válasszon új lejárati időt, vagy tiltsa le a link lejáratát."),
|
||||
"exportYourData":
|
||||
MessageLookupByLibrary.simpleMessage("Adatok exportálása"),
|
||||
"failedToApplyCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Nem sikerült alkalmazni a kódot"),
|
||||
"failedToFetchReferralDetails": MessageLookupByLibrary.simpleMessage(
|
||||
"Nem sikerült lekérni a hivatkozási adatokat. Kérjük, próbálja meg később."),
|
||||
"failedToLoadAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Nem sikerült betölteni az albumokat"),
|
||||
"faq": MessageLookupByLibrary.simpleMessage("GY. I. K."),
|
||||
"feedback": MessageLookupByLibrary.simpleMessage("Visszajelzés"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Elfelejtett jelszó"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Ingyenes tárhely igénylése"),
|
||||
"freeStorageOnReferralSuccess": m37,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Ingyenesen használható tárhely"),
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Szabadítson fel tárhelyet"),
|
||||
"freeUpDeviceSpaceDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Takarítson meg helyet az eszközén a már mentett fájlok törlésével."),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Titkosítási kulcs generálása..."),
|
||||
"help": MessageLookupByLibrary.simpleMessage("Segítség"),
|
||||
"hidden": MessageLookupByLibrary.simpleMessage("Rejtett"),
|
||||
"howItWorks": MessageLookupByLibrary.simpleMessage("Hogyan működik"),
|
||||
"howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérje meg őket, hogy hosszan nyomják meg az e-mail címüket a beállítások képernyőn, és ellenőrizzék, hogy a két eszköz azonosítója megegyezik-e."),
|
||||
"ignoreUpdate":
|
||||
MessageLookupByLibrary.simpleMessage("Figyelem kívül hagyás"),
|
||||
"importing": MessageLookupByLibrary.simpleMessage("Importálás..."),
|
||||
"incorrectPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Érvénytelen jelszó"),
|
||||
"incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage(
|
||||
"A megadott visszaállítási kulcs hibás"),
|
||||
"incorrectRecoveryKeyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Hibás visszaállítási kulcs"),
|
||||
"indexedItems": MessageLookupByLibrary.simpleMessage("Indexelt elemek"),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Nem biztonságos eszköz"),
|
||||
"installManually":
|
||||
MessageLookupByLibrary.simpleMessage("Manuális telepítés"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Érvénytelen e-mail cím"),
|
||||
"invalidKey": MessageLookupByLibrary.simpleMessage("Érvénytelen kulcs"),
|
||||
"invalidRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"A megadott helyreállítási kulcs érvénytelen. Kérjük, győződjön meg róla, hogy 24 szót tartalmaz, és ellenőrizze mindegyik helyesírását.\n\nHa régebbi helyreállítási kódot adott meg, győződjön meg arról, hogy az 64 karakter hosszú, és ellenőrizze mindegyiket."),
|
||||
"inviteToEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Meghívás az Ente-re"),
|
||||
"inviteYourFriends":
|
||||
MessageLookupByLibrary.simpleMessage("Hívd meg a barátaidat"),
|
||||
"itemCount": m44,
|
||||
"itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"A kiválasztott elemek eltávolításra kerülnek ebből az albumból."),
|
||||
"keepPhotos": MessageLookupByLibrary.simpleMessage("Fotók megőrzése"),
|
||||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"Legyen kedves segítsen, ezzel az információval"),
|
||||
"linkDeviceLimit":
|
||||
MessageLookupByLibrary.simpleMessage("Készülékkorlát"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Engedélyezett"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Lejárt"),
|
||||
"linkExpiresOn": m47,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Link lejárata"),
|
||||
"linkHasExpired": MessageLookupByLibrary.simpleMessage(
|
||||
"A hivatkozás érvényességi ideje lejárt"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("Soha"),
|
||||
"loadingModel":
|
||||
MessageLookupByLibrary.simpleMessage("Modellek letöltése..."),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Zárolás"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Bejelentkezés"),
|
||||
"loginTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"A bejelentkezés gombra kattintva elfogadom az <u-terms>szolgáltatási feltételeket</u-terms> és az <u-policy>adatvédelmi irányelveket</u-policy>"),
|
||||
"logout": MessageLookupByLibrary.simpleMessage("Kijelentkezés"),
|
||||
"lostDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Elveszett a készüléked?"),
|
||||
"machineLearning": MessageLookupByLibrary.simpleMessage("Gépi tanulás"),
|
||||
"magicSearch":
|
||||
MessageLookupByLibrary.simpleMessage("Varázslatos keresés"),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Kezelés"),
|
||||
"manageDeviceStorage": MessageLookupByLibrary.simpleMessage(
|
||||
"Eszköz gyorsítótárának kezelése"),
|
||||
"manageDeviceStorageDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Tekintse át és törölje a helyi gyorsítótárat."),
|
||||
"manageLink":
|
||||
MessageLookupByLibrary.simpleMessage("Hivatkozás kezelése"),
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("Kezelés"),
|
||||
"manageSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Előfizetés kezelése"),
|
||||
"memoryCount": m50,
|
||||
"mlConsent":
|
||||
MessageLookupByLibrary.simpleMessage("Gépi tanulás engedélyezése"),
|
||||
"mlConsentConfirmation": MessageLookupByLibrary.simpleMessage(
|
||||
"Értem, és szeretném engedélyezni a gépi tanulást"),
|
||||
"mlConsentDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Ha engedélyezi a gépi tanulást, az Ente olyan információkat fog kinyerni, mint az arc geometriája, a fájlokból, beleértve azokat is, amelyeket Önnel megosztott.\n\nEz az Ön eszközén fog megtörténni, és minden generált biometrikus információ végponttól végpontig titkosítva lesz."),
|
||||
"mlConsentPrivacy": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, kattintson ide az adatvédelmi irányelveinkben található további részletekért erről a funkcióról."),
|
||||
"mlConsentTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Engedélyezi a gépi tanulást?"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Kérjük, vegye figyelembe, hogy a gépi tanulás nagyobb sávszélességet és akkumulátorhasználatot eredményez, amíg az összes elem indexelése meg nem történik. A gyorsabb indexelés érdekében érdemes lehet asztali alkalmazást használni, mivel minden eredmény automatikusan szinkronizálódik."),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Közepes"),
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Áthelyezve a kukába"),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Soha"),
|
||||
"newAlbum": MessageLookupByLibrary.simpleMessage("Új album"),
|
||||
"noDeviceLimit": MessageLookupByLibrary.simpleMessage("Egyik sem"),
|
||||
"noDeviceThatCanBeDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Nincsenek törölhető fájlok ezen az eszközön."),
|
||||
"noDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("✨ Nincsenek duplikátumok"),
|
||||
"noRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Nincs visszaállítási kulcsa?"),
|
||||
"noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage(
|
||||
"Az általunk használt végpontok közötti titkosítás miatt, az adatait nem lehet dekódolni a jelszava, vagy visszaállítási kulcsa nélkül"),
|
||||
"ok": MessageLookupByLibrary.simpleMessage("Rendben"),
|
||||
"onlyFamilyAdminCanChangeCode": m55,
|
||||
"oops": MessageLookupByLibrary.simpleMessage("Hoppá"),
|
||||
"oopsSomethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Hoppá, valami hiba történt"),
|
||||
"orPickAnExistingOne":
|
||||
MessageLookupByLibrary.simpleMessage("Vagy válasszon egy létezőt"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Jelszó"),
|
||||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó módosítása sikeres!"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Kóddal történő lezárás"),
|
||||
"passwordStrength": m57,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezt a jelszót nem tároljuk, így ha elfelejti, <underline>nem tudjuk visszafejteni adatait</underline>"),
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("függőben lévő elemek"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Az emberek, akik a kódodat használják"),
|
||||
"photoGridSize":
|
||||
MessageLookupByLibrary.simpleMessage("Rács méret beállátás"),
|
||||
"photoSmallCase": MessageLookupByLibrary.simpleMessage("fénykép"),
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Kérjük, próbálja meg újra"),
|
||||
"pleaseWait": MessageLookupByLibrary.simpleMessage("Kérem várjon..."),
|
||||
"privacy": MessageLookupByLibrary.simpleMessage("Adatvédelem"),
|
||||
"privacyPolicyTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Adatvédelmi irányelvek"),
|
||||
"publicLinkEnabled": MessageLookupByLibrary.simpleMessage(
|
||||
"Nyilvános hivatkozás engedélyezve"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Értékeljen minket"),
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Visszaállít"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Fiók visszaállítása"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("Visszaállít"),
|
||||
"recoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Visszaállítási kulcs"),
|
||||
"recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
"A helyreállítási kulcs a vágólapra másolva"),
|
||||
"recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage(
|
||||
"Ha elfelejti jelszavát, csak ezzel a kulccsal tudja visszaállítani adatait."),
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezt a kulcsot nem tároljuk, kérjük, őrizze meg ezt a 24 szavas kulcsot egy biztonságos helyen."),
|
||||
"recoveryKeySuccessBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Nagyszerű! A helyreállítási kulcs érvényes. Köszönjük az igazolást.\n\nNe felejtsen el biztonsági másolatot készíteni helyreállítási kulcsáról."),
|
||||
"recoveryKeyVerified": MessageLookupByLibrary.simpleMessage(
|
||||
"A helyreállítási kulcs ellenőrizve"),
|
||||
"recoveryKeyVerifyReason": MessageLookupByLibrary.simpleMessage(
|
||||
"A helyreállítási kulcs az egyetlen módja annak, hogy visszaállítsa fényképeit, ha elfelejti jelszavát. A helyreállítási kulcsot a Beállítások > Fiók menüpontban találhatja meg.\n\nKérjük, írja be ide helyreállítási kulcsát annak ellenőrzéséhez, hogy megfelelően mentette-e el."),
|
||||
"recoverySuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("Sikeres visszaállítás!"),
|
||||
"recreatePasswordBody": MessageLookupByLibrary.simpleMessage(
|
||||
"A jelenlegi eszköz nem elég erős a jelszavának ellenőrzéséhez, de újra tudjuk úgy generálni, hogy az minden eszközzel működjön.\n\nKérjük, jelentkezzen be helyreállítási kulcsával, és állítsa be újra jelszavát (ha szeretné, újra használhatja ugyanazt)."),
|
||||
"recreatePasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Új jelszó létrehozása"),
|
||||
"referralStep1": MessageLookupByLibrary.simpleMessage(
|
||||
"1. Add meg ezt a kódot a barátaidnak"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Fizetős csomagra fizetnek elő"),
|
||||
"referralStep3": m73,
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Az ajánlások jelenleg szünetelnek"),
|
||||
"remindToEmptyDeviceTrash": MessageLookupByLibrary.simpleMessage(
|
||||
"A felszabadult hely igényléséhez ürítsd ki a „Nemrég törölt” részt a „Beállítások” -> „Tárhely” menüpontban."),
|
||||
"remindToEmptyEnteTrash": MessageLookupByLibrary.simpleMessage(
|
||||
"Ürítsd ki a \"Kukát\" is, hogy visszaszerezd a felszabadult helyet."),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Eltávolítás"),
|
||||
"removeDuplicates": MessageLookupByLibrary.simpleMessage(
|
||||
"Távolítsa el a duplikációkat"),
|
||||
"removeDuplicatesDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Tekintse át és távolítsa el a pontos másolatokat tartalmazó fájlokat."),
|
||||
"removeFromAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Eltávolítás az albumból"),
|
||||
"removeFromAlbumTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Eltávolítás az albumból?"),
|
||||
"removeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Hivatkozás eltávolítása"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Résztvevő eltávolítása"),
|
||||
"removeParticipantBody": m74,
|
||||
"removePublicLink": MessageLookupByLibrary.simpleMessage(
|
||||
"Nyilvános hivatkozás eltávolítása"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Néhány eltávolítandó elemet mások adtak hozzá, és elveszíted a hozzáférésedet hozzájuk."),
|
||||
"removeWithQuestionMark":
|
||||
MessageLookupByLibrary.simpleMessage("Eltávolítás?"),
|
||||
"removingFromFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"Eltávolítás a kedvencek közül..."),
|
||||
"resendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("E-mail újraküldése"),
|
||||
"resetPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó visszaállítása"),
|
||||
"retry": MessageLookupByLibrary.simpleMessage("Újrapróbálkozás"),
|
||||
"saveKey": MessageLookupByLibrary.simpleMessage("Mentés"),
|
||||
"saveYourRecoveryKeyIfYouHaventAlready":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Mentse el visszaállítási kulcsát, ha még nem tette"),
|
||||
"scanCode": MessageLookupByLibrary.simpleMessage("Kód beolvasása"),
|
||||
"scanThisBarcodeWithnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Olvassa le ezt a QR kódot az autentikátor alkalmazásával"),
|
||||
"selectAll": MessageLookupByLibrary.simpleMessage("Összes kijelölése"),
|
||||
"selectFoldersForBackup": MessageLookupByLibrary.simpleMessage(
|
||||
"Mappák kiválasztása biztonsági mentéshez"),
|
||||
"selectReason": MessageLookupByLibrary.simpleMessage("Válasszon okot"),
|
||||
"selectedFoldersWillBeEncryptedAndBackedUp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"A kiválasztott mappák titkosítva lesznek, és biztonsági másolat készül róluk."),
|
||||
"selectedPhotos": m80,
|
||||
"selectedPhotosWithYours": m81,
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Email küldése"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Meghívó küldése"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Hivatkozás küldése"),
|
||||
"setAPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Állítson be egy jelszót"),
|
||||
"setPasswordTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó beállítás"),
|
||||
"setupComplete": MessageLookupByLibrary.simpleMessage("Beállítás kész"),
|
||||
"shareALink":
|
||||
MessageLookupByLibrary.simpleMessage("Hivatkozás megosztása"),
|
||||
"shareMyVerificationID": m83,
|
||||
"shareTextConfirmOthersVerificationID": m84,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Töltsd le az Ente-t, hogy könnyen megoszthassunk eredeti minőségű fotókat és videókat\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m85,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Megosztás nem Ente felhasználókkal"),
|
||||
"shareWithPeopleSectionTitle": m86,
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Hozzon létre megosztott és együttműködő albumokat más Ente-felhasználókkal, beleértve az ingyenes csomagokat használó felhasználókat is."),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Megosztás..."),
|
||||
"showMemories":
|
||||
MessageLookupByLibrary.simpleMessage("Emlékek megjelenítése"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Elfogadom az <u-terms>szolgáltatási feltételeket</u-terms> és az <u-policy>adatvédelmi irányelveket</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m88,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Az összes albumból törlésre kerül."),
|
||||
"singleFileInBothLocalAndRemote": m89,
|
||||
"singleFileInRemoteOnly": m90,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Kihagyás"),
|
||||
"someoneSharingAlbumsWithYouShouldSeeTheSameId":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Valaki, aki megoszt Önnel albumokat, ugyanazt az azonosítót fogja látni az eszközén."),
|
||||
"somethingWentWrong":
|
||||
MessageLookupByLibrary.simpleMessage("Valami hiba történt"),
|
||||
"somethingWentWrongPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Valami félre sikerült, próbálja újból"),
|
||||
"sorry": MessageLookupByLibrary.simpleMessage("Sajnálom"),
|
||||
"sorryCouldNotAddToFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnálom, nem sikerült hozzáadni a kedvencekhez!"),
|
||||
"sorryCouldNotRemoveFromFavorites":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnálom, nem sikerült eltávolítani a kedvencek közül!"),
|
||||
"sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnáljuk, nem tudtunk biztonságos kulcsokat generálni ezen az eszközön.\n\nkérjük, regisztráljon egy másik eszközről."),
|
||||
"status": MessageLookupByLibrary.simpleMessage("Állapot"),
|
||||
"storageInGB": m93,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Erős"),
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Előfizetés"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"A megosztás engedélyezéséhez aktív fizetős előfizetésre van szükség."),
|
||||
"success": MessageLookupByLibrary.simpleMessage("Sikeres"),
|
||||
"tapToCopy":
|
||||
MessageLookupByLibrary.simpleMessage("érintse meg másoláshoz"),
|
||||
"tapToEnterCode":
|
||||
MessageLookupByLibrary.simpleMessage("Koppintson a kód beírásához"),
|
||||
"terminate": MessageLookupByLibrary.simpleMessage("Megszakít"),
|
||||
"terminateSession":
|
||||
MessageLookupByLibrary.simpleMessage("Megszakítja bejelentkezést?"),
|
||||
"terms": MessageLookupByLibrary.simpleMessage("Feltételek"),
|
||||
"termsOfServicesTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Használati feltételek"),
|
||||
"theDownloadCouldNotBeCompleted":
|
||||
MessageLookupByLibrary.simpleMessage("A letöltés nem fejezhető be"),
|
||||
"theyAlsoGetXGb": m99,
|
||||
"thisCanBeUsedToRecoverYourAccountIfYou":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ezzel tudja visszaállítani felhasználóját ha elveszítené a kétlépcsős azonosítóját"),
|
||||
"thisDevice": MessageLookupByLibrary.simpleMessage("Ez az eszköz"),
|
||||
"thisIsPersonVerificationId": m100,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Ez az ellenőrző azonosítód"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ezzel kijelentkezik az alábbi eszközről:"),
|
||||
"thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Ezzel kijelentkezik az eszközről!"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"A Jelszó visszaállításához, kérjük először erősítse meg emailcímét."),
|
||||
"total": MessageLookupByLibrary.simpleMessage("összesen"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Kuka"),
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Próbáld újra"),
|
||||
"twofactorAuthenticationPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Kétlépcsős hitelesítés (2FA)"),
|
||||
"twofactorSetup": MessageLookupByLibrary.simpleMessage(
|
||||
"Kétlépcsős azonosító beállítás"),
|
||||
"unavailableReferralCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Sajnáljuk, ez a kód nem érhető el."),
|
||||
"uncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Kategorizálatlan"),
|
||||
"unselectAll":
|
||||
MessageLookupByLibrary.simpleMessage("Összes kijelölés törlése"),
|
||||
"update": MessageLookupByLibrary.simpleMessage("Frissítés"),
|
||||
"updateAvailable":
|
||||
MessageLookupByLibrary.simpleMessage("Elérhető frissítés"),
|
||||
"updatingFolderSelection": MessageLookupByLibrary.simpleMessage(
|
||||
"Mappakijelölés frissítése..."),
|
||||
"usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"A felhasználható tárhelyet a jelenlegi előfizetése korlátozza. A feleslegesen igényelt tárhely automatikusan felhasználhatóvá válik, amikor frissítesz a csomagodra."),
|
||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Helyreállítási kulcs használata"),
|
||||
"verificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Ellenőrző azonosító"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Hitelesítés"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Emailcím megerősítés"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Jelszó megerősítése"),
|
||||
"verifyingRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Helyreállítási kulcs ellenőrzése..."),
|
||||
"videoSmallCase": MessageLookupByLibrary.simpleMessage("videó"),
|
||||
"viewLargeFiles": MessageLookupByLibrary.simpleMessage("Nagy fájlok"),
|
||||
"viewLargeFilesDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Tekintse meg a legtöbb tárhelyet foglaló fájlokat."),
|
||||
"viewRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Helyreállítási kulcs megtekintése"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("Néző"),
|
||||
"waitingForWifi":
|
||||
MessageLookupByLibrary.simpleMessage("Várakozás a WiFi-re..."),
|
||||
"weAreOpenSource":
|
||||
MessageLookupByLibrary.simpleMessage("Nyílt forráskódúak vagyunk!"),
|
||||
"weHaveSendEmailTo": m114,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Gyenge"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Köszöntjük ismét!"),
|
||||
"yearsAgo": m116,
|
||||
"yesConvertToViewer":
|
||||
MessageLookupByLibrary.simpleMessage("Igen, alakítsa nézővé"),
|
||||
"yesDelete": MessageLookupByLibrary.simpleMessage("Igen, törlés"),
|
||||
"yesLogout":
|
||||
MessageLookupByLibrary.simpleMessage("Igen, kijelentkezés"),
|
||||
"yesRemove": MessageLookupByLibrary.simpleMessage("Igen, eltávolítás"),
|
||||
"you": MessageLookupByLibrary.simpleMessage("Te"),
|
||||
"youAreOnTheLatestVersion": MessageLookupByLibrary.simpleMessage(
|
||||
"Ön a legújabb verziót használja"),
|
||||
"youCanAtMaxDoubleYourStorage": MessageLookupByLibrary.simpleMessage(
|
||||
"* Maximum megduplázhatod a tárhelyed"),
|
||||
"youCannotShareWithYourself":
|
||||
MessageLookupByLibrary.simpleMessage("Nem oszthatod meg magaddal"),
|
||||
"youHaveSuccessfullyFreedUp": m118,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("A felhasználód törlődött"),
|
||||
"youveNoDuplicateFilesThatCanBeCleared":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Nincsenek törölhető duplikált fájljaid")
|
||||
};
|
||||
}
|
||||
1535
mobile/apps/photos/lib/generated/intl/messages_id.dart
generated
2282
mobile/apps/photos/lib/generated/intl/messages_it.dart
generated
1866
mobile/apps/photos/lib/generated/intl/messages_ja.dart
generated
@@ -1,25 +0,0 @@
|
||||
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
|
||||
// This is a library that provides messages for a km locale. All the
|
||||
// messages from the main program should be duplicated here with the same
|
||||
// function name.
|
||||
|
||||
// Ignore issues from commonly used lints in this file.
|
||||
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
|
||||
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
|
||||
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
|
||||
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
|
||||
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:intl/message_lookup_by_library.dart';
|
||||
|
||||
final messages = new MessageLookup();
|
||||
|
||||
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
||||
|
||||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'km';
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{};
|
||||
}
|
||||