Compare commits
468 Commits
photos-v0.
...
improvedas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da0832fc7d | ||
|
|
827ac9ddf7 | ||
|
|
2e35b1eeb4 | ||
|
|
65c72f6cf5 | ||
|
|
f11cc82e44 | ||
|
|
206e387834 | ||
|
|
567dfb7e6b | ||
|
|
b7d3e5439a | ||
|
|
ef37a4cad8 | ||
|
|
480a86af0a | ||
|
|
a5b0bc259d | ||
|
|
326e673d12 | ||
|
|
00b68131a8 | ||
|
|
de8d81300f | ||
|
|
e287e80257 | ||
|
|
d716f18c2e | ||
|
|
93bddbe6f1 | ||
|
|
17e48ed83f | ||
|
|
4c7583240f | ||
|
|
a46c8a4579 | ||
|
|
eb1f0a31a8 | ||
|
|
ec67437273 | ||
|
|
c10bce3767 | ||
|
|
6f487f0478 | ||
|
|
27536676f1 | ||
|
|
0b4d479337 | ||
|
|
4893684cf1 | ||
|
|
a036d7c2b0 | ||
|
|
5c175c75df | ||
|
|
389401adc9 | ||
|
|
ae4f1df76c | ||
|
|
03d90515a4 | ||
|
|
e23ac45fb3 | ||
|
|
f5a90abbaf | ||
|
|
99833e287c | ||
|
|
1bf0676034 | ||
|
|
bd9dacfaa9 | ||
|
|
951d797fce | ||
|
|
a30f9b9977 | ||
|
|
6a8cb8d149 | ||
|
|
d814511dae | ||
|
|
055cada5ed | ||
|
|
f40da137cd | ||
|
|
d9e6379020 | ||
|
|
39396a520c | ||
|
|
1c4684596a | ||
|
|
1aea5a9cdd | ||
|
|
6c56ae1bd5 | ||
|
|
a2b7786ed4 | ||
|
|
6137dd923c | ||
|
|
c1aa8f3777 | ||
|
|
55fdf23188 | ||
|
|
9a6e553a53 | ||
|
|
e1f36b8f8c | ||
|
|
858f6c3a8d | ||
|
|
e8ab08f3ca | ||
|
|
dff7a59801 | ||
|
|
2a26cc5afd | ||
|
|
5adf10dcbb | ||
|
|
81e274babd | ||
|
|
b6761bd5b2 | ||
|
|
b37e6cfa12 | ||
|
|
6108a20036 | ||
|
|
ef2039e681 | ||
|
|
ab4939b931 | ||
|
|
7b45d689db | ||
|
|
34d85df2ee | ||
|
|
9e1553aeb6 | ||
|
|
ea0396954d | ||
|
|
e85fb9df0e | ||
|
|
baf9c02bc8 | ||
|
|
36596683f2 | ||
|
|
01925952b2 | ||
|
|
e8d5863c82 | ||
|
|
7abfe633c6 | ||
|
|
2bd538624c | ||
|
|
2dca9f1758 | ||
|
|
cbdca9851c | ||
|
|
8a5c3a3262 | ||
|
|
076d62a22b | ||
|
|
56b1365747 | ||
|
|
9d2441d255 | ||
|
|
ffde4c2bb8 | ||
|
|
06ee928aac | ||
|
|
a4799a2909 | ||
|
|
a0ca3f2c5a | ||
|
|
62297d1fe6 | ||
|
|
f73a044cc9 | ||
|
|
26b8456dee | ||
|
|
b16bce7f04 | ||
|
|
a8834f5d7e | ||
|
|
b07841f972 | ||
|
|
e68a968255 | ||
|
|
9d670db89c | ||
|
|
0da1337921 | ||
|
|
1e8ec0e814 | ||
|
|
242c669de4 | ||
|
|
dd6f36e037 | ||
|
|
6d4e434a8d | ||
|
|
17025a24f4 | ||
|
|
849adb8a0b | ||
|
|
4ca5f80241 | ||
|
|
bde9903b1d | ||
|
|
c9bf449521 | ||
|
|
332168af1a | ||
|
|
73cebcdb54 | ||
|
|
33be371d85 | ||
|
|
897f3d074d | ||
|
|
8f77318e88 | ||
|
|
9660a1c32a | ||
|
|
b43d626653 | ||
|
|
964215bbc9 | ||
|
|
3a97f16435 | ||
|
|
5297156229 | ||
|
|
9bdf316683 | ||
|
|
2ba4177f8a | ||
|
|
7356522c6f | ||
|
|
cafead44d4 | ||
|
|
28ba02a2ef | ||
|
|
8854807f09 | ||
|
|
cb01c6d5ce | ||
|
|
772a9e38dd | ||
|
|
3b2f72459d | ||
|
|
645a7f32e1 | ||
|
|
2afc424f62 | ||
|
|
20b23422e2 | ||
|
|
06d6cd10ba | ||
|
|
9cdd184ee1 | ||
|
|
c983c43ba1 | ||
|
|
0e284752d1 | ||
|
|
e9129473ed | ||
|
|
a1fd652ce0 | ||
|
|
5494b2a20e | ||
|
|
9634c1e291 | ||
|
|
13bc758dde | ||
|
|
7b299c5a42 | ||
|
|
0969ded02a | ||
|
|
655ed91980 | ||
|
|
e398db0c10 | ||
|
|
405e452eee | ||
|
|
09d05b0d04 | ||
|
|
ca42feffe6 | ||
|
|
229f7cc676 | ||
|
|
6f1c52d548 | ||
|
|
633e006b73 | ||
|
|
144ebca203 | ||
|
|
7f08b31771 | ||
|
|
386e2846e7 | ||
|
|
3389acd42b | ||
|
|
57629f26c0 | ||
|
|
aed516988f | ||
|
|
ba20fd4763 | ||
|
|
0d3db76cb0 | ||
|
|
985659ea56 | ||
|
|
54884a7dd2 | ||
|
|
a0393bc2b6 | ||
|
|
76c684b25e | ||
|
|
e96eeb2315 | ||
|
|
4d2e4f0194 | ||
|
|
4bdca0f09f | ||
|
|
c51edddb53 | ||
|
|
71e908c3a2 | ||
|
|
836712c020 | ||
|
|
c035d5cafa | ||
|
|
d247cc6cad | ||
|
|
8e54da8026 | ||
|
|
d5eb850503 | ||
|
|
07a137ea74 | ||
|
|
5f9a466178 | ||
|
|
725478b0da | ||
|
|
ab893bc274 | ||
|
|
ee30dc3e91 | ||
|
|
08340b124b | ||
|
|
f4d44e484d | ||
|
|
015f761866 | ||
|
|
d7926e05bb | ||
|
|
2d621b9879 | ||
|
|
19e1bd51c8 | ||
|
|
afc4a007db | ||
|
|
02e8923e77 | ||
|
|
485614166d | ||
|
|
b49e829cc5 | ||
|
|
d3ddf92849 | ||
|
|
3e09fda76c | ||
|
|
0e028fa9d1 | ||
|
|
263f207995 | ||
|
|
85bfa826b2 | ||
|
|
2a0a7675a3 | ||
|
|
9fef6ae662 | ||
|
|
b602e68c5b | ||
|
|
7a2168a7b7 | ||
|
|
9ee4ab4cc0 | ||
|
|
b987f80ee5 | ||
|
|
ecaba3fb78 | ||
|
|
c83172f552 | ||
|
|
1ff6a53131 | ||
|
|
b0ce1c971b | ||
|
|
33fc86cff7 | ||
|
|
674907cd2a | ||
|
|
50b032654c | ||
|
|
62c413959e | ||
|
|
1d182d4ed6 | ||
|
|
6c4d2e8a9e | ||
|
|
7b3a66a117 | ||
|
|
0f5f488fc7 | ||
|
|
26a0796efe | ||
|
|
a65ebacfbd | ||
|
|
2213b7c39f | ||
|
|
78ce353069 | ||
|
|
b62e5a5f82 | ||
|
|
bad51eaab0 | ||
|
|
c1134c9b0c | ||
|
|
e65ea1a8c5 | ||
|
|
af8c9a686e | ||
|
|
29cd3a69d0 | ||
|
|
88d51c3746 | ||
|
|
0dcec4cb9d | ||
|
|
608a4e00bb | ||
|
|
419a4a78cf | ||
|
|
7281827981 | ||
|
|
ade74be871 | ||
|
|
5c9990e0a6 | ||
|
|
79838bd49d | ||
|
|
35a290f221 | ||
|
|
4d3674f6a5 | ||
|
|
068c01a4d4 | ||
|
|
13584c6137 | ||
|
|
d68da33bb4 | ||
|
|
7d9a28a394 | ||
|
|
010b6e873d | ||
|
|
13665d9ff4 | ||
|
|
7999c6432c | ||
|
|
b96a8ed59e | ||
|
|
df3a37b55e | ||
|
|
c04e6a2eae | ||
|
|
e29908f8b3 | ||
|
|
d0640a094b | ||
|
|
82fbbd427e | ||
|
|
69b1602f9c | ||
|
|
a90275f491 | ||
|
|
1b6995fc78 | ||
|
|
5723654ee0 | ||
|
|
120642850e | ||
|
|
551f4a848e | ||
|
|
cfbba44bc1 | ||
|
|
e490487788 | ||
|
|
93bcb279ef | ||
|
|
598be87e61 | ||
|
|
bd86951d12 | ||
|
|
d6f4eb69d1 | ||
|
|
11304d9093 | ||
|
|
2eb7d4639a | ||
|
|
4e45867994 | ||
|
|
9d156daf3a | ||
|
|
129fd98fcc | ||
|
|
c94bc25811 | ||
|
|
f06b7a4b71 | ||
|
|
a65e2333ae | ||
|
|
9dac3bf51b | ||
|
|
0c29e408f9 | ||
|
|
2a7f2ac292 | ||
|
|
fe6492009b | ||
|
|
447fa5afad | ||
|
|
0a7af5b26d | ||
|
|
6a0126926d | ||
|
|
d14c7cf4c9 | ||
|
|
834660bee4 | ||
|
|
47e2c1bbc7 | ||
|
|
48a03ae0b0 | ||
|
|
3734a50713 | ||
|
|
5b6a1198b1 | ||
|
|
c69fe2a979 | ||
|
|
d582f79f42 | ||
|
|
85449fad70 | ||
|
|
5c35fe785c | ||
|
|
1af5008ed8 | ||
|
|
8841ef9dc1 | ||
|
|
b56a093052 | ||
|
|
75dee19c62 | ||
|
|
465760e329 | ||
|
|
04048b20fe | ||
|
|
6743aa3db4 | ||
|
|
e3bbd7f536 | ||
|
|
e5a71da00a | ||
|
|
f47fc2c27c | ||
|
|
a24d8f94d3 | ||
|
|
f8b933a08f | ||
|
|
943dceb993 | ||
|
|
0f99fa2ba7 | ||
|
|
8a81c0e66c | ||
|
|
9faa75e7aa | ||
|
|
1e420fce74 | ||
|
|
04a41e278d | ||
|
|
3735c0ba4f | ||
|
|
e49a7abe6d | ||
|
|
a9c368fa0c | ||
|
|
1fcb26453a | ||
|
|
d863797f34 | ||
|
|
13c64e0cce | ||
|
|
21d3d55bf5 | ||
|
|
895ab1764e | ||
|
|
d44b951f0d | ||
|
|
515c28530e | ||
|
|
9edbdfdd49 | ||
|
|
efcf36ea4e | ||
|
|
471df817ac | ||
|
|
dcc599d856 | ||
|
|
f2283edb79 | ||
|
|
89b703498c | ||
|
|
72f4ebfe42 | ||
|
|
f876ba627e | ||
|
|
358761f267 | ||
|
|
efcf304194 | ||
|
|
d839be5a76 | ||
|
|
6808bdb9e3 | ||
|
|
e4bc206d6a | ||
|
|
2d9b95f950 | ||
|
|
9a921c314a | ||
|
|
0b626fc781 | ||
|
|
feeebea75b | ||
|
|
e8dcd3d742 | ||
|
|
3d0a810f26 | ||
|
|
1a10e2da4f | ||
|
|
6aabeb3e7e | ||
|
|
8be2746d65 | ||
|
|
9151821f05 | ||
|
|
1ab9c31a51 | ||
|
|
ac3f9f7ea1 | ||
|
|
4133764cb0 | ||
|
|
8f773be4b6 | ||
|
|
aa25174fbe | ||
|
|
1d825f2f89 | ||
|
|
d9f33379f2 | ||
|
|
31a63447d6 | ||
|
|
9db9a18e3e | ||
|
|
e61d9886dc | ||
|
|
11d9529496 | ||
|
|
9916032e23 | ||
|
|
22d468836c | ||
|
|
8b44165b77 | ||
|
|
482239ce8d | ||
|
|
ee602e63d2 | ||
|
|
5367e90ecf | ||
|
|
7204d3471f | ||
|
|
f7e24287ba | ||
|
|
810fd2a51a | ||
|
|
0784dc926b | ||
|
|
ee5448b5c6 | ||
|
|
8367e4d4e1 | ||
|
|
7ee9d8efdd | ||
|
|
88e8f997ef | ||
|
|
4f2dd7ccdf | ||
|
|
b22733692a | ||
|
|
8b83975edf | ||
|
|
a63a6fc1c2 | ||
|
|
08a60d827f | ||
|
|
c9340ed383 | ||
|
|
ea476b9c96 | ||
|
|
c8c19972d9 | ||
|
|
ac32a33358 | ||
|
|
6b6a81b6a8 | ||
|
|
16272dc7b0 | ||
|
|
9a47135209 | ||
|
|
c91b0e4d3e | ||
|
|
ff29bda5ac | ||
|
|
78b82e774d | ||
|
|
2d8b16ca99 | ||
|
|
493153dce1 | ||
|
|
d6b6e691c4 | ||
|
|
6a266d86a6 | ||
|
|
187dc0e280 | ||
|
|
08c8e11924 | ||
|
|
dd7d082ca3 | ||
|
|
6aeb69bdde | ||
|
|
81c2a5c94b | ||
|
|
7cd998ba3e | ||
|
|
ad0069087f | ||
|
|
741018b802 | ||
|
|
b753c47e01 | ||
|
|
0d99d3e037 | ||
|
|
39d50d24f0 | ||
|
|
ebf83b7bba | ||
|
|
555f987511 | ||
|
|
122a84c818 | ||
|
|
0cbf7db745 | ||
|
|
247db36c3b | ||
|
|
79d9eba099 | ||
|
|
19980559f4 | ||
|
|
b365e03acd | ||
|
|
d067673dca | ||
|
|
9deefeb019 | ||
|
|
861b4d9228 | ||
|
|
1d5f936ced | ||
|
|
e8a3b3b299 | ||
|
|
62f3e6d47b | ||
|
|
0e9a4911b5 | ||
|
|
7c3a137723 | ||
|
|
c9c582cbcc | ||
|
|
d924ee636d | ||
|
|
176289d0a8 | ||
|
|
f663c436cb | ||
|
|
3f3a63d8da | ||
|
|
1360378aaa | ||
|
|
14e4c3a133 | ||
|
|
a6b8bfcf90 | ||
|
|
ae6e17c200 | ||
|
|
bf2a97f4a1 | ||
|
|
ebab8568b9 | ||
|
|
55ee9a5d29 | ||
|
|
27b7532ca4 | ||
|
|
d38ea56492 | ||
|
|
37f09c0dc3 | ||
|
|
22b9bc7804 | ||
|
|
aad4d62f05 | ||
|
|
f716f3bed7 | ||
|
|
c2bf99531a | ||
|
|
0d3db30cac | ||
|
|
d9477891bb | ||
|
|
429caf5f6c | ||
|
|
39a17bc0b8 | ||
|
|
2310758810 | ||
|
|
781a99aa42 | ||
|
|
3ff5b2f18f | ||
|
|
38c88c9aa8 | ||
|
|
b6cb264cbb | ||
|
|
74ff0e4abe | ||
|
|
cab8660446 | ||
|
|
e4e47ab3d4 | ||
|
|
b8911d8303 | ||
|
|
1fdbf4f5f5 | ||
|
|
87f53177c0 | ||
|
|
ebc3f53fe3 | ||
|
|
1f33df7147 | ||
|
|
8b35cfd802 | ||
|
|
010ff29b16 | ||
|
|
354762eb72 | ||
|
|
054dd58435 | ||
|
|
ce7451dbb4 | ||
|
|
e99da59699 | ||
|
|
6635f4c9a4 | ||
|
|
f71dd32400 | ||
|
|
3c5ba5b94e | ||
|
|
5a76df7f62 | ||
|
|
12d9bc7bce | ||
|
|
5099dfdd74 | ||
|
|
7f816e80a2 | ||
|
|
b5eae21ae7 | ||
|
|
25d13d531d | ||
|
|
5e50d80547 | ||
|
|
65201d2b57 | ||
|
|
f5093ddf63 | ||
|
|
ac3c6b10a5 | ||
|
|
95bb363aba | ||
|
|
acf7b3a865 | ||
|
|
8f1119525b | ||
|
|
bcf3084d97 | ||
|
|
5e4d530b93 | ||
|
|
22ff318249 | ||
|
|
643b77e81e | ||
|
|
3ce8a09e39 | ||
|
|
ce6160a06a | ||
|
|
c21a0cfdb4 | ||
|
|
241c755446 | ||
|
|
cff695dd02 | ||
|
|
5f9b0d11f2 | ||
|
|
e75be714d9 | ||
|
|
da329c498c | ||
|
|
cc74e08155 |
@@ -1,45 +1,43 @@
|
||||
name: "Deploy (staff)"
|
||||
|
||||
on:
|
||||
# Run on every push to main that changes web/apps/staff/
|
||||
# Run on every push to main that changes infra/staff/
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "web/apps/staff/**"
|
||||
- ".github/workflows/web-deploy-staff.yml"
|
||||
- "infra/staff/**"
|
||||
- ".github/workflows/infra-deploy-staff.yml"
|
||||
# Also allow manually running the workflow
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: web
|
||||
working-directory: infra/staff
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "web/yarn.lock"
|
||||
cache-dependency-path: "infra/staff/yarn.lock"
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
|
||||
- name: Build staff
|
||||
run: yarn build:staff
|
||||
- name: Build
|
||||
run: yarn build
|
||||
|
||||
- name: Publish staff
|
||||
- name: Publish
|
||||
uses: cloudflare/wrangler-action@v3
|
||||
with:
|
||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/staff web/apps/staff/dist
|
||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/staff infra/staff/dist
|
||||
34
.github/workflows/infra-lint-staff.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Lint (staff)"
|
||||
|
||||
on:
|
||||
# Run on every push to a branch other than main that changes infra/staff/
|
||||
push:
|
||||
branches-ignore: [main]
|
||||
paths:
|
||||
- "infra/staff/**"
|
||||
- ".github/workflows/infra-deploy-staff.yml"
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: infra/staff
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "infra/staff/yarn.lock"
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
|
||||
- name: Lint
|
||||
run: yarn lint
|
||||
@@ -4,7 +4,7 @@ on:
|
||||
workflow_dispatch: # Allow manually running the action
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.22.0"
|
||||
FLUTTER_VERSION: "3.22.1"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
2
.github/workflows/mobile-lint.yml
vendored
@@ -10,7 +10,7 @@ on:
|
||||
|
||||
env:
|
||||
|
||||
FLUTTER_VERSION: "3.22.0"
|
||||
FLUTTER_VERSION: "3.22.1"
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
2
.github/workflows/mobile-release.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
- "photos-v*"
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.22.0"
|
||||
FLUTTER_VERSION: "3.22.1"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -70,7 +70,7 @@ want to give back, please check out Ente Photos or spread the word.
|
||||
[<img height="42" src=".github/assets/app-store-badge.svg">](https://apps.apple.com/app/id6444121398)
|
||||
[<img height="42" src=".github/assets/play-store-badge.png">](https://play.google.com/store/apps/details?id=io.ente.auth)
|
||||
[<img height="42" src=".github/assets/f-droid-badge.png">](https://f-droid.org/packages/io.ente.auth/)
|
||||
[<img height="42" src=".github/assets/desktop-badge.png">](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v2)
|
||||
[<img height="42" src=".github/assets/desktop-badge.png">](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v3)
|
||||
[<img height="42" src=".github/assets/web-badge.svg">](https://auth.ente.io)
|
||||
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,7 @@ multi-device sync.
|
||||
### Android
|
||||
|
||||
This repository's [GitHub
|
||||
releases](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v2)
|
||||
releases](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v3)
|
||||
contains APKs, built straight from source. These builds keep themselves updated,
|
||||
without relying on third party stores.
|
||||
|
||||
@@ -33,7 +33,7 @@ You can alternatively install the build from PlayStore or F-Droid.
|
||||
|
||||
### Desktop
|
||||
|
||||
You can [**download**](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v2)
|
||||
You can [**download**](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v3)
|
||||
a native desktop app from this repository's GitHub releases. The desktop app
|
||||
works on Windows, Linux and macOS.
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
"title": "AscendEX"
|
||||
},
|
||||
{
|
||||
"title": "BitMEX"
|
||||
"title": "Bitfinex"
|
||||
},
|
||||
{
|
||||
"title": "Bitfinex"
|
||||
"title": "BitMEX"
|
||||
},
|
||||
{
|
||||
"title": "Bitvavo",
|
||||
@@ -33,15 +33,11 @@
|
||||
{
|
||||
"title": "Bloom Host",
|
||||
"slug": "bloom_host",
|
||||
"altNames": [
|
||||
"Bloom Host Billing"
|
||||
]
|
||||
"altNames": ["Bloom Host Billing"]
|
||||
},
|
||||
{
|
||||
"title": "BorgBase",
|
||||
"altNames": [
|
||||
"borg"
|
||||
],
|
||||
"altNames": ["borg"],
|
||||
"slug": "BorgBase"
|
||||
},
|
||||
{
|
||||
@@ -60,10 +56,10 @@
|
||||
"hex": "D14633"
|
||||
},
|
||||
{
|
||||
"title": "ConfigCat"
|
||||
"title": "Cloudflare"
|
||||
},
|
||||
{
|
||||
"title": "Cloudflare"
|
||||
"title": "ConfigCat"
|
||||
},
|
||||
{
|
||||
"title": "Control D",
|
||||
@@ -75,14 +71,15 @@
|
||||
},
|
||||
{
|
||||
"title": "DCS",
|
||||
"altNames": [
|
||||
"Digital Combat Simulator"
|
||||
],
|
||||
"altNames": ["Digital Combat Simulator"],
|
||||
"slug": "dcs"
|
||||
},
|
||||
{
|
||||
"title": "DEGIRO"
|
||||
},
|
||||
{
|
||||
"title": "DirectAdmin"
|
||||
},
|
||||
{
|
||||
"title": "Discourse"
|
||||
},
|
||||
@@ -123,14 +120,15 @@
|
||||
{
|
||||
"title": "GitLab"
|
||||
},
|
||||
{
|
||||
"title": "GMX"
|
||||
},
|
||||
{
|
||||
"title": "Google"
|
||||
},
|
||||
{
|
||||
"title": "Gosuslugi",
|
||||
"altNames": [
|
||||
"Госуслуги"
|
||||
],
|
||||
"altNames": ["Госуслуги"],
|
||||
"slug": "Gosuslugi"
|
||||
},
|
||||
{
|
||||
@@ -141,21 +139,24 @@
|
||||
"slug": "healthchecks"
|
||||
},
|
||||
{
|
||||
"title": "ING"
|
||||
"title": "Hivelocity"
|
||||
},
|
||||
{
|
||||
"title": "INWX"
|
||||
"title": "IceDrive",
|
||||
"slug": "Icedrive"
|
||||
},
|
||||
{
|
||||
"title": "ING"
|
||||
},
|
||||
{
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"title": "IVPN",
|
||||
"slug": "IVPN"
|
||||
"title": "INWX"
|
||||
},
|
||||
{
|
||||
"title": "IceDrive",
|
||||
"slug": "Icedrive"
|
||||
"title": "IVPN",
|
||||
"slug": "IVPN"
|
||||
},
|
||||
{
|
||||
"title": "Jagex",
|
||||
@@ -164,10 +165,6 @@
|
||||
{
|
||||
"title": "Kagi"
|
||||
},
|
||||
{
|
||||
"title": "KPN",
|
||||
"color": "00CC00"
|
||||
},
|
||||
{
|
||||
"title": "Kick",
|
||||
"hex": "53FC19"
|
||||
@@ -178,6 +175,10 @@
|
||||
{
|
||||
"title": "Koofr"
|
||||
},
|
||||
{
|
||||
"title": "KPN",
|
||||
"color": "00CC00"
|
||||
},
|
||||
{
|
||||
"title": "Kraken",
|
||||
"hex": "5848D5"
|
||||
@@ -199,38 +200,18 @@
|
||||
{
|
||||
"title": "Local",
|
||||
"slug": "local_wp",
|
||||
"altNames": [
|
||||
"LocalWP",
|
||||
"Local WP",
|
||||
"Local Wordpress"
|
||||
]
|
||||
"altNames": ["LocalWP", "Local WP", "Local Wordpress"]
|
||||
},
|
||||
{
|
||||
"title": "Mastodon",
|
||||
"altNames": [
|
||||
"mstdn",
|
||||
"fediscience",
|
||||
"mathstodon",
|
||||
"fosstodon"
|
||||
],
|
||||
"altNames": ["mstdn", "fediscience", "mathstodon", "fosstodon"],
|
||||
"slug": "mastodon",
|
||||
"hex": "6364FF"
|
||||
},
|
||||
{
|
||||
"title": "Mercado Livre",
|
||||
"slug": "mercado_livre",
|
||||
"altNames": [
|
||||
"Mercado Libre",
|
||||
"MercadoLibre",
|
||||
"MercadoLivre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Murena",
|
||||
"altNames": [
|
||||
"eCloud"
|
||||
],
|
||||
"slug": "ecloud"
|
||||
"altNames": ["Mercado Libre", "MercadoLibre", "MercadoLivre"]
|
||||
},
|
||||
{
|
||||
"title": "Microsoft"
|
||||
@@ -241,6 +222,11 @@
|
||||
{
|
||||
"title": "Mozilla"
|
||||
},
|
||||
{
|
||||
"title": "Murena",
|
||||
"altNames": ["eCloud"],
|
||||
"slug": "ecloud"
|
||||
},
|
||||
{
|
||||
"title": "MyFRITZ!Net",
|
||||
"slug": "myfritz"
|
||||
@@ -314,6 +300,14 @@
|
||||
{
|
||||
"title": "Proxmox"
|
||||
},
|
||||
{
|
||||
"title": "Real-Debrid",
|
||||
"slug": "real_debrid"
|
||||
},
|
||||
{
|
||||
"title": "Registro.br",
|
||||
"slug": "registro_br"
|
||||
},
|
||||
{
|
||||
"title": "Revolt",
|
||||
"hex": "858585"
|
||||
@@ -355,6 +349,9 @@
|
||||
"slug": "standardnotes",
|
||||
"hex": "2173E6"
|
||||
},
|
||||
{
|
||||
"title": "Surfshark"
|
||||
},
|
||||
{
|
||||
"title": "Synology DSM",
|
||||
"slug": "synology_dsm"
|
||||
@@ -366,9 +363,7 @@
|
||||
},
|
||||
{
|
||||
"title": "Techlore",
|
||||
"altNames": [
|
||||
"Techlore Courses"
|
||||
]
|
||||
"altNames": ["Techlore Courses", "Techlore Forums"]
|
||||
},
|
||||
{
|
||||
"title": "Termius",
|
||||
@@ -426,27 +421,27 @@
|
||||
"slug": "wyze"
|
||||
},
|
||||
{
|
||||
"title": "X",
|
||||
"title": "WorkOS",
|
||||
"slug": "workos",
|
||||
"altNames": [
|
||||
"twitter"
|
||||
],
|
||||
"Work OS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "X",
|
||||
"altNames": ["twitter"],
|
||||
"slug": "x"
|
||||
},
|
||||
{
|
||||
"title": "Yandex",
|
||||
"altNames": [
|
||||
"Ya",
|
||||
"Яндекс"
|
||||
],
|
||||
"altNames": ["Ya", "Яндекс"],
|
||||
"slug": "Yandex"
|
||||
},
|
||||
{
|
||||
"title": "YNAB",
|
||||
"altNames": [
|
||||
"You Need A Budget"
|
||||
],
|
||||
"altNames": ["You Need A Budget"],
|
||||
"slug": "ynab",
|
||||
"hex": "3B5EDA"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 339 339">
|
||||
<defs />
|
||||
<defs>
|
||||
<linearGradient id="b" x1="193.9" x2="198.7" y1="166.8" y2="223.3" gradientTransform="rotate(5 4448 -4204) scale(2.93671)" gradientUnits="userSpaceOnUse" xlink:href="#a" />
|
||||
<linearGradient id="a">
|
||||
<stop offset="0" />
|
||||
<stop offset="1" stop-color="#fff9f9" stop-opacity="0" />
|
||||
</linearGradient>
|
||||
<linearGradient id="c" x1="167.8" x2="270.6" y1="76.9" y2="64.2" gradientTransform="rotate(5 465 -2050) scale(1.50082)" gradientUnits="userSpaceOnUse" xlink:href="#a" />
|
||||
</defs>
|
||||
<g transform="translate(0 42)">
|
||||
<path fill="url(#b)" d="M160 205l154 42-141 44-155-42z" />
|
||||
<path fill="url(#c)" d="M160-35v240l154 42 1-253z" />
|
||||
<path fill="none" stroke-width="1.2" d="M160 205V-35m0 240L18 249m142-44l154 41" />
|
||||
<path d="M84 109l35 54V98l21-7v91l-27 9-35-54v65l-21 6v-91z" />
|
||||
<rect width="86.1" height="12.6" x="185" y="97" fill="#bebebe" ry="2.3" transform="skewY(15) scale(.9669 1)" />
|
||||
<path fill="#bebebe" d="M181 169l99 26 2 3v8c0 1-1 2-2 1l-99-26-2-3v-7c0-2 1-2 2-2zm0-47l99 27 2 2v8l-2 2-99-27c-1 0-2-1-2-3v-7l2-2z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
8
auth/assets/custom-icons/icons/directadmin.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg width="100" height="100" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="rotate(-45 57.071 32.929)">
|
||||
<path fill="#31B7E9" d="m20 0v20h-20v18h40v-38z"/>
|
||||
<rect fill="#0682B4" y="36" width="40" height="4"/>
|
||||
<path fill="#31B7E9" d="m50 0v50h-50v18h70v-68z"/>
|
||||
<rect fill="#0682B4" y="66" width="70" height="4"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 378 B |
5
auth/assets/custom-icons/icons/gmx.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="512" cy="512" r="512" style="fill:#004788"/>
|
||||
<path d="m736.6 506.6 50.1-83.3h-51.1L709 465.6l-28.6-42.3h-56l59 83.2-59 93.9h56l31.9-53.4 37.8 53.4h50l-63.5-93.8zm-185.1-83.4-38 94.8-36-94.8h-45.4L402 600.6h45.9l14.8-102.2h.5l40.7 102.2h18.4l42.6-102.2h.6l12.9 102.2h46.1l-26.9-177.4h-46.1zm-233.8 78.5v36.1h37.6c-2 20.2-17.3 30.6-37.1 30.6-30.1 0-46.4-27.7-46.4-55.2s15.6-55.6 45.7-55.6c18.5 0 31.7 11.2 38.1 27.9l43.5-18.2c-15.2-32.9-43.2-49.2-79.5-49.2-56.8 0-95.5 37.6-95.5 94.8 0 55.4 38.5 93 93.9 93 29.4 0 55.4-10.5 72.6-34.6 15.4-21.8 17.6-43.9 18-69.7h-90.9z" style="fill:#fff"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 825 B |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 8.0 KiB |
1
auth/assets/custom-icons/icons/hivelocity.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="logosandtypes_com" data-name="logosandtypes com" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150"><defs><style>.cls-1{fill:none;}.cls-2{fill:#e31937;}</style></defs><g id="Layer_2" data-name="Layer 2"><path id="Layer_3" data-name="Layer 3" class="cls-1" d="M0,0H150V150H0Z" transform="translate(0 0)"/></g><rect class="cls-2" x="13.34" y="14.37" width="15.01" height="123.08"/><rect class="cls-2" x="122.92" y="14.37" width="15.01" height="123.08"/><rect class="cls-2" x="43.36" y="54.9" width="64.54" height="15.01"/><rect class="cls-2" x="43.36" y="83.42" width="64.54" height="15.01"/></svg>
|
||||
|
After Width: | Height: | Size: 611 B |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 5.0 KiB |
12
auth/assets/custom-icons/icons/notesnook.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_24_33)">
|
||||
<path d="M1024 0H0V1024H1024V0Z" fill="black"/>
|
||||
<path d="M724.985 682.919C707.73 733.33 673.15 775.984 627.397 803.291C581.645 830.598 527.687 840.787 475.128 832.044C422.568 823.301 374.814 796.194 340.365 755.546C305.916 714.898 287.006 663.347 287 610.064V499.814L366.121 532.867V610.019C366.114 630.798 370.555 651.337 379.145 670.256C387.735 689.176 400.276 706.037 415.925 719.707C418.895 722.294 421.978 724.814 425.161 727.166C448.518 744.554 476.563 754.518 505.655 755.763C506.645 755.763 507.601 755.842 508.58 755.864C509.559 755.887 510.83 755.864 511.955 755.864C513.08 755.864 514.205 755.864 515.33 755.864C516.455 755.864 517.265 755.864 518.255 755.763C547.336 754.515 575.371 744.56 598.726 727.188C601.899 724.837 604.981 722.328 607.963 719.741C628.519 701.761 643.619 678.375 651.545 652.241L724.985 682.919Z" fill="white"/>
|
||||
<path d="M737 414V610.065C737 612.596 737 615.139 736.842 617.67L657.879 584.651V414C657.866 376.316 643.272 340.099 617.154 312.934C591.035 285.77 555.419 269.766 517.765 268.274C480.11 266.782 443.339 279.918 415.154 304.931C386.968 329.944 369.554 364.893 366.56 402.457C366.279 406.26 366.121 410.119 366.121 414V462.712L287 429.637V189H512C571.674 189 628.903 212.705 671.099 254.901C713.295 297.097 737 354.326 737 414Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_24_33">
|
||||
<rect width="1024" height="1024" rx="200" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
auth/assets/custom-icons/icons/real_debrid.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 90 90" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M45.155.025c-.033.034-1.094.1-2.34.167-1.245.05-2.49.134-2.776.168-.27.05-1.077.167-1.767.267-3.282.468-7.49 1.656-10.738 3.043A45.529 45.529 0 0 0 3.787 27.014C1.867 31.28.52 36.462.117 41.027-.1 43.57 0 48.97.304 50.56c.033.167.117.736.168 1.237.084.753.522 2.793 1.027 4.766.05.184.134.585.185.87.05.3.151.552.219.552.067 0 .134.1.134.234 0 .518.943 3.093 1.111 2.993.1-.05.118-.017.067.067-.151.25.286 1.254.472 1.103.067-.083.084-.033.016.084-.084.134.085.72.421 1.421.572 1.238 2.541 4.816 2.844 5.184.101.117.489.686.859 1.271.64 1.003 2.827 3.78 3.787 4.833 6.547 7.04 14.39 11.655 23.293 13.729 1.161.267 2.474.535 2.911.602.455.05.993.133 1.178.184 2.188.418 11.075.418 12.74-.017.136-.05.523-.117.842-.167 2.794-.435 7.204-1.64 9.257-2.525.32-.15.74-.318.926-.385.185-.067 1.094-.485 2.02-.92 7.304-3.444 13.598-8.88 18.193-15.735 1.8-2.659 2.912-4.816 4.207-8.16.556-1.422 1.549-4.633 1.7-5.469.034-.234.135-.685.22-1.003.083-.318.201-.853.252-1.17.05-.318.117-.77.168-1.004.505-2.642.64-8.31.27-11.12-.203-1.555-.809-4.348-1.01-4.732-.068-.117-.455.953-.876 2.458-.404 1.455-.757 2.642-.774 2.625-.017-.016-.084-.485-.135-1.02-.185-1.923-.269-2.525-.673-4.515-.437-2.19-1.313-5.05-2.053-6.772-.572-1.304-1.767-3.512-1.902-3.512-.067 0-.118 1.305-.118 2.876-.05 8.78-1.144 16.455-3.231 22.558-1.094 3.228-3.333 8.01-4.965 10.652-3.905 6.271-9.863 11.187-16.763 13.846-1.464.552-4.746 1.472-5.975 1.656-4.948.769-8.87.685-13.33-.268-12.942-2.76-23.377-13.36-25.868-26.32-.387-1.99-.42-2.174-.555-3.997-.168-2.408-.084-5.802.202-7.124.034-.217.118-.685.168-1.02.05-.334.286-1.354.522-2.257.236-.92.438-1.773.471-1.906.354-1.505 2.44-5.987 3.67-7.943 2.558-4.014 6.479-7.927 10.586-10.552 3.786-2.408 9.054-4.33 13.784-5.017 1.211-.167 6.361-.217 7.657-.05 3.3.385 3.753.452 5.89.836 7.71 1.405 15.4 4.716 24.455 10.569 1.212.802 2.222 1.354 2.222 1.237 0-.334-1.633-3.06-2.66-4.448-1.834-2.508-4.291-5.033-6.832-7.023-.808-.652-1.448-1.187-1.38-1.187.05 0 .387.1.723.234 1.515.568 4.46 1.455 4.612 1.404.1-.033-.522-.769-1.397-1.622-4.208-4.197-9.678-7.441-15.905-9.43C56.465 1.63 53.587.91 52.325.726c-.37-.066-1.28-.2-2.02-.317-.757-.117-2.154-.234-3.113-.268-.976-.017-1.801-.067-1.868-.117-.05-.033-.135-.033-.169 0Z" fill="#B8D995"/><path d="m44.845 89.975.048-.012.296-.031.676-.048 1.32-.076 1.47-.073 1.167-.08.14-.015.195-.033.803-.122.768-.112c3.282-.468 7.49-1.656 10.738-3.043a45.525 45.525 0 0 0 23.747-23.344c1.92-4.265 3.266-9.448 3.67-14.013.023-.276.043-.585.06-.92l.027-.699.019-.751.01-.788c-.01-1.452-.079-2.806-.21-3.8l-.056-.396-.068-.432-.08-.456-.133-.708-.192-.926-.143-.634-.09-.372-.084-.319-.075-.254a1.629 1.629 0 0 0-.089-.236c-.012-.022-.035-.004-.066.05l-.054.104-.066.153-.119.314-.138.404-.154.483-.164.55-.606 2.13-.222.731-.056.16c-.002.003-.003.005-.004.004l-.014-.051-.021-.128-.041-.302-.045-.395-.116-1.16-.065-.567-.069-.521-.079-.516a28.33 28.33 0 0 0-.045-.267l-.106-.579-.207-1.049c-.437-2.19-1.313-5.05-2.053-6.772l-.142-.316-.245-.515-.178-.358-.368-.716-.27-.502-.248-.44-.144-.246-.124-.196c-.092-.141-.157-.223-.183-.223-.01 0-.018.024-.026.07l-.017.12-.015.173-.026.486-.023.822-.01.993v.212c-.051 8.78-1.145 16.455-3.232 22.558a44.95 44.95 0 0 1-1.008 2.655l-.403.954c-1.108 2.57-2.466 5.282-3.554 7.043-3.905 6.271-9.863 11.187-16.763 13.846l-.233.086-.536.184-.297.097-.638.2-.678.201-.346.1-.694.193-.34.091-.657.17-.603.144c-.38.087-.707.153-.953.19-4.767.74-8.58.69-12.841-.167l-.862-.122-.822-.132-.938-.164-.365-.065c-7.708-1.405-15.4-4.716-24.454-10.569l-.505-.327-.466-.29-.412-.244-.346-.191-.186-.095a3.307 3.307 0 0 0-.078-.036l-.125-.051c-.067-.023-.104-.025-.104-.003 0 .048.033.144.094.279l.109.229.145.277.175.318.309.536.35.58.374.6.382.59.25.373.243.35.228.316c1.72 2.351 3.987 4.718 6.358 6.644l.616.493.734.603.336.289.107.098c.055.054.078.083.062.083l-.072-.014-.14-.04-.185-.06-.214-.076-.274-.104-.536-.19-.59-.2-.823-.265-.993-.305-.833-.238-.369-.095-.174-.038-.106-.015a.08.08 0 0 0-.026.002c-.028.009 0 .072.074.178l.11.145.149.18.185.211.218.237.247.257.27.273.144.14c4.067 4.058 9.314 7.225 15.285 9.229l.62.203c.198.065.408.131.625.198l.673.2.702.198.714.191.356.092.696.173.662.155.61.133.538.106c.165.03.316.056.449.076l.584.095 1.436.222.245.035.58.068c.209.022.43.043.656.062l.68.052c.337.023.664.04.952.05l.53.014.745.033.327.025.153.018.092.019.021.009c.05.033.135.033.169 0Z" fill="#9FD3EE"/></g></svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
83
auth/assets/custom-icons/icons/registro_br.svg
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 1.5 KiB |
5
auth/assets/custom-icons/icons/surfshark.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="512" cy="512" r="512" style="fill:#178a9e"/>
|
||||
<path d="M706 356.3v-.3c-.3-4.3-.6-9.3-.9-14.6-.6-10-1.3-20.8-1.9-29-1-5.7-2.4-10.8-4-15.4-10.2-22.6-30.1-33.5-51.1-38.7-9.6-1.7-21.3-2-33.8-2.3H493.7c-77.7 4.2-110.3 49.2-119.1 73.1-34 101.7-55.2 233.5-70.5 328.6-.3 1.9-.6 3.7-.9 5.5l-5 45.2c-.3 7.1.4 14.9 2.3 22.4 9.5 27.6 38.3 50.8 101.7 27.7 59.9-26 130.6-58.4 203.7-94.7 41.6-24 102.6-79.2 105.8-148.9-.5-51.6-2.2-105.8-5.7-158.6zm-96.3 38.2c0 6-4.9 10.9-10.9 10.9-36.3 0-65.6 29.4-65.6 65.6v40.2c0 67.5-54.7 122.1-122.1 122.1-5.9 0-10.6-4.8-10.6-10.6v-33.3c0-6 4.9-10.9 10.9-10.9 36.3 0 65.6-29.4 65.6-65.6v-40.2c0-67.4 54.7-122.1 122.1-122.1 5.9 0 10.6 4.8 10.6 10.6v33.3z" style="fill:#fff"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 934 B |
6
auth/assets/custom-icons/icons/workos.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300px" height="260px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:0.989" fill="#6262f1" d="M 81.5,-0.5 C 112.5,-0.5 143.5,-0.5 174.5,-0.5C 169.154,3.68235 164.654,8.68235 161,14.5C 138.96,52.7486 116.793,90.9152 94.5,129C 111.174,158.016 127.84,187.016 144.5,216C 139.386,225.729 133.886,235.229 128,244.5C 121.475,251.672 113.642,256.672 104.5,259.5C 97.5,259.5 90.5,259.5 83.5,259.5C 73.8126,256.222 65.6459,250.556 59,242.5C 38.6208,208.399 18.7875,174.065 -0.5,139.5C -0.5,132.833 -0.5,126.167 -0.5,119.5C 19.3711,84.4302 39.5378,49.4302 60,14.5C 65.987,7.65895 73.1537,2.65895 81.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:0.989" fill="#6262f1" d="M 193.5,-0.5 C 200.833,-0.5 208.167,-0.5 215.5,-0.5C 225.781,2.8978 234.281,8.8978 241,17.5C 260.794,51.4318 280.294,85.4318 299.5,119.5C 299.5,125.833 299.5,132.167 299.5,138.5C 279.641,173.869 259.475,209.203 239,244.5C 232.912,251.778 225.412,256.778 216.5,259.5C 185.833,259.5 155.167,259.5 124.5,259.5C 129.821,254.339 134.654,248.672 139,242.5C 160.081,205.337 181.414,168.337 203,131.5C 203.635,129.365 203.301,127.365 202,125.5C 185.781,98.2288 169.947,70.7288 154.5,43C 159.614,33.2707 165.114,23.7707 171,14.5C 177.343,7.59119 184.843,2.59119 193.5,-0.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Aussteller",
|
||||
"codeSecretKeyHint": "Geheimer Schlüssel",
|
||||
"codeAccountHint": "Konto (you@domain.com)",
|
||||
"codeTagHint": "Tag",
|
||||
"accountKeyType": "Art des Keys",
|
||||
"sessionExpired": "Sitzung abgelaufen",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -156,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Ungültiger QR-Code",
|
||||
"noRecoveryKeyTitle": "Kein Wiederherstellungsschlüssel?",
|
||||
"enterEmailHint": "Geben Sie Ihre E-Mail Adresse ein",
|
||||
"invalidEmailTitle": "Ungültige E-Mail Adresse",
|
||||
@@ -420,5 +423,18 @@
|
||||
"invalidEndpoint": "Ungültiger Endpunkt",
|
||||
"invalidEndpointMessage": "Der eingegebene Endpunkt ist ungültig. Bitte geben Sie einen gültigen Endpunkt ein und versuchen Sie es erneut.",
|
||||
"endpointUpdatedMessage": "Endpunkt erfolgreich aktualisiert",
|
||||
"customEndpoint": "Mit {endpoint} verbunden"
|
||||
"customEndpoint": "Mit {endpoint} verbunden",
|
||||
"pinText": "Anpinnen",
|
||||
"unpinText": "Lösen",
|
||||
"pinnedCodeMessage": "{code} wurde angepinnt",
|
||||
"unpinnedCodeMessage": "{code} wurde Losgelöst",
|
||||
"tags": "Tags",
|
||||
"createNewTag": "Neuen Tag erstellen",
|
||||
"tag": "Tag",
|
||||
"create": "Erstellen",
|
||||
"editTag": "Tag bearbeiten",
|
||||
"deleteTagTitle": "Tag löschen?",
|
||||
"deleteTagMessage": "Sind Sie sicher, dass Sie diesen Code löschen wollen? Diese Aktion ist unumkehrbar.",
|
||||
"somethingWentWrongParsingCode": "Wir konnten {x} Codes nicht parsen.",
|
||||
"updateNotAvailable": "Update ist nicht verfügbar"
|
||||
}
|
||||
39
auth/lib/l10n/arb/app_id.arb
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"setupFirstAccount": "Siapkan akun pertama kamu",
|
||||
"importScanQrCode": "Pindai Kode QR",
|
||||
"reportABug": "Laporkan bug",
|
||||
"rateUsOnStore": "Nilai kami di {storeName}",
|
||||
"blog": "Blog",
|
||||
"welcomeBack": "Selamat datang kembali!",
|
||||
"supportDiscount": "Gunakan kode kupon \"AUTH\" untuk mendapatkan potongan 10% pada tahun pertamamu",
|
||||
"data": "Data",
|
||||
"ok": "Oke",
|
||||
"cancel": "Batal",
|
||||
"email": "Email",
|
||||
"support": "Dukungan",
|
||||
"general": "Umum",
|
||||
"settings": "Pengaturan",
|
||||
"suggestFeatures": "Sarankan fitur",
|
||||
"faq": "Tanya Jawab Umum",
|
||||
"scan": "Pindai",
|
||||
"scanACode": "Pindai kode",
|
||||
"createNewAccount": "Buat akun baru",
|
||||
"confirmPassword": "Konfirmasi sandi",
|
||||
"selectLanguage": "Pilih bahasa",
|
||||
"language": "Bahasa",
|
||||
"social": "Sosial",
|
||||
"security": "Keamanan",
|
||||
"searchHint": "Cari...",
|
||||
"scanAQrCode": "Pindai kode QR",
|
||||
"createAccount": "Buat akun",
|
||||
"password": "Sandi",
|
||||
"signUpTerms": "Saya menyetujui <u-terms>ketentuan layanan</u-terms> dan <u-policy>kebijakan privasi</u-policy> Ente",
|
||||
"ackPasswordLostWarning": "Saya mengerti bahwa jika saya lupa sandi saya, data saya bisa hilang karena <underline>dienkripsi secara end-to-end</underline>.",
|
||||
"loginTerms": "Dengan mengklik masuk akun, saya menyetujui <u-terms>ketentuan layanan</u-terms> dan <u-policy>kebijakan privasi</u-policy> Ente",
|
||||
"warning": "Peringatan",
|
||||
"androidCancelButton": "Batal",
|
||||
"@androidCancelButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on Android side. Maximum 30 characters."
|
||||
},
|
||||
"hearUsWhereTitle": "Dari mana Anda menemukan Ente? (opsional)"
|
||||
}
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Uitgever",
|
||||
"codeSecretKeyHint": "Geheime sleutel",
|
||||
"codeAccountHint": "Account (jij@domein.nl)",
|
||||
"codeTagHint": "Label",
|
||||
"accountKeyType": "Type sleutel",
|
||||
"sessionExpired": "Sessie verlopen",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -156,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Ongeldige QR-code",
|
||||
"noRecoveryKeyTitle": "Geen herstelsleutel?",
|
||||
"enterEmailHint": "Voer je e-mailadres in",
|
||||
"invalidEmailTitle": "Ongeldig e-mailadres",
|
||||
@@ -420,5 +423,18 @@
|
||||
"invalidEndpoint": "Ongeldig eindpunt",
|
||||
"invalidEndpointMessage": "Sorry, het eindpunt dat u hebt ingevoerd is ongeldig. Voer een geldig eindpunt in en probeer het opnieuw.",
|
||||
"endpointUpdatedMessage": "Eindpunt met succes bijgewerkt",
|
||||
"customEndpoint": "Verbonden met {endpoint}"
|
||||
"customEndpoint": "Verbonden met {endpoint}",
|
||||
"pinText": "Vastzetten",
|
||||
"unpinText": "Losmaken",
|
||||
"pinnedCodeMessage": "{code} is vastgezet",
|
||||
"unpinnedCodeMessage": "{code} is losgemaakt",
|
||||
"tags": "Labels",
|
||||
"createNewTag": "Nieuw label maken",
|
||||
"tag": "Label",
|
||||
"create": "Creëren",
|
||||
"editTag": "Bewerk label",
|
||||
"deleteTagTitle": "Label verwijderen?",
|
||||
"deleteTagMessage": "Weet je zeker dat je deze label wilt verwijderen? Deze actie is onomkeerbaar.",
|
||||
"somethingWentWrongParsingCode": "We konden {x} codes niet verwerken.",
|
||||
"updateNotAvailable": "Update niet beschikbaar"
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import 'dart:typed_data';
|
||||
import 'package:convert/convert.dart';
|
||||
import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/models/code.dart';
|
||||
import 'package:ente_auth/models/code_display.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';
|
||||
@@ -76,7 +77,7 @@ Future<void> _pickAegisJsonFile(BuildContext context) async {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.sorry,
|
||||
context.l10n.importFailureDesc,
|
||||
"${context.l10n.importFailureDesc}\n Error: ${e.toString()}",
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -126,8 +127,19 @@ Future<int?> _processAegisExportFile(
|
||||
} else {
|
||||
aegisDB = decodedJson['db'];
|
||||
}
|
||||
final Map<String, String> groupIDToName = {};
|
||||
try {
|
||||
for (var item in aegisDB?['groups']) {
|
||||
groupIDToName[item['uuid']] = item['name'];
|
||||
}
|
||||
} catch (e) {
|
||||
Logger("AegisImport").warning("Failed to parse groups", e);
|
||||
}
|
||||
|
||||
final parsedCodes = [];
|
||||
for (var item in aegisDB?['entries']) {
|
||||
bool isFavorite = item['favorite'] ?? false;
|
||||
List<String> tags = [];
|
||||
var kind = item['type'];
|
||||
var account = item['name'];
|
||||
var issuer = item['issuer'];
|
||||
@@ -137,20 +149,27 @@ Future<int?> _processAegisExportFile(
|
||||
var digits = item['info']['digits'];
|
||||
|
||||
var counter = item['info']['counter'];
|
||||
|
||||
for (var group in item['groups']) {
|
||||
if (groupIDToName.containsKey(group)) {
|
||||
tags.add(groupIDToName[group]!);
|
||||
}
|
||||
}
|
||||
// Build the OTP URL
|
||||
String otpUrl;
|
||||
|
||||
if (kind.toLowerCase() == 'totp') {
|
||||
if (kind.toLowerCase() == 'totp' || kind.toLowerCase() == 'steam') {
|
||||
otpUrl =
|
||||
'otpauth://$kind/$issuer:$account?secret=$secret&issuer=$issuer&algorithm=$algorithm&digits=$digits&period=$timer';
|
||||
} else if (kind.toLowerCase() == 'hotp') {
|
||||
otpUrl =
|
||||
'otpauth://$kind/$issuer:$account?secret=$secret&issuer=$issuer&algorithm=$algorithm&digits=$digits&counter=$counter';
|
||||
} else {
|
||||
throw Exception('Invalid OTP type');
|
||||
throw Exception('Invalid OTP type: $kind');
|
||||
}
|
||||
parsedCodes.add(Code.fromOTPAuthUrl(otpUrl));
|
||||
|
||||
Code code = Code.fromOTPAuthUrl(otpUrl);
|
||||
code = code.copyWith(display: CodeDisplay(pinned: isFavorite, tags: tags));
|
||||
parsedCodes.add(code);
|
||||
}
|
||||
|
||||
for (final code in parsedCodes) {
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'dart:io';
|
||||
|
||||
import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/models/code.dart';
|
||||
import 'package:ente_auth/models/code_display.dart';
|
||||
import 'package:ente_auth/services/authenticator_service.dart';
|
||||
import 'package:ente_auth/store/code_store.dart';
|
||||
import 'package:ente_auth/ui/components/buttons/button_widget.dart';
|
||||
@@ -14,6 +15,7 @@ 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> showBitwardenImportInstruction(BuildContext context) async {
|
||||
final l10n = context.l10n;
|
||||
@@ -60,12 +62,13 @@ Future<void> _pickBitwardenJsonFile(BuildContext context) async {
|
||||
if (count != null) {
|
||||
await importSuccessDialog(context, count);
|
||||
}
|
||||
} catch (e) {
|
||||
} catch (e, s) {
|
||||
Logger("BitwardenImport").severe('Failed to import', e, s);
|
||||
await progressDialog.hide();
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.sorry,
|
||||
context.l10n.importFailureDesc,
|
||||
"${context.l10n.importFailureDesc}\n Error: ${e.toString()}",
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -78,19 +81,36 @@ Future<int?> _processBitwardenExportFile(
|
||||
final jsonString = await file.readAsString();
|
||||
final data = jsonDecode(jsonString);
|
||||
List<dynamic> jsonArray = data['items'];
|
||||
final Map<String, String> folderIdToName = {};
|
||||
try {
|
||||
for (var item in data['folders']) {
|
||||
folderIdToName[item['id']] = item['name'];
|
||||
}
|
||||
} catch (e) {
|
||||
debugPrint("Failed to get folder details $e");
|
||||
}
|
||||
final parsedCodes = [];
|
||||
for (var item in jsonArray) {
|
||||
if (item['login'] != null && item['login']['totp'] != null) {
|
||||
var totp = item['login']['totp'];
|
||||
String? folderID = item['folderId'];
|
||||
|
||||
Code code;
|
||||
|
||||
if (totp.contains("otpauth://")) {
|
||||
code = Code.fromOTPAuthUrl(totp);
|
||||
} else if (totp.contains("steam://")) {
|
||||
var secret = totp.split("steam://")[1];
|
||||
code = Code.fromAccountAndSecret(
|
||||
Type.steam,
|
||||
item['login']['username'],
|
||||
item['name'],
|
||||
secret,
|
||||
null,
|
||||
Code.steamDigits,
|
||||
);
|
||||
} else {
|
||||
var issuer = item['name'];
|
||||
var account = item['login']['username'];
|
||||
|
||||
var issuer = item['name'] ?? '';
|
||||
var account = item['login']['username'] ?? '';
|
||||
code = Code.fromAccountAndSecret(
|
||||
Type.totp,
|
||||
account,
|
||||
@@ -100,6 +120,11 @@ Future<int?> _processBitwardenExportFile(
|
||||
Code.defaultDigits,
|
||||
);
|
||||
}
|
||||
if (folderID != null && folderIdToName.containsKey(folderID)) {
|
||||
code = code.copyWith(
|
||||
display: CodeDisplay(tags: [folderIdToName[folderID]!]),
|
||||
);
|
||||
}
|
||||
|
||||
parsedCodes.add(code);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ 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> showLastpassImportInstruction(BuildContext context) async {
|
||||
final l10n = context.l10n;
|
||||
@@ -60,12 +61,13 @@ Future<void> _pickLastpassJsonFile(BuildContext context) async {
|
||||
if (count != null) {
|
||||
await importSuccessDialog(context, count);
|
||||
}
|
||||
} catch (e) {
|
||||
} catch (e, s) {
|
||||
Logger('LastPassImport').severe('exception while processing import', e, s);
|
||||
await progressDialog.hide();
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.sorry,
|
||||
context.l10n.importFailureDesc,
|
||||
"${context.l10n.importFailureDesc}\n Error: ${e.toString()}",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ 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> showRaivoImportInstruction(BuildContext context) async {
|
||||
final l10n = context.l10n;
|
||||
@@ -60,12 +61,13 @@ Future<void> _pickRaivoJsonFile(BuildContext context) async {
|
||||
if (count != null) {
|
||||
await importSuccessDialog(context, count);
|
||||
}
|
||||
} catch (e) {
|
||||
} catch (e, s) {
|
||||
Logger("RaivoImport").severe('Failed to import', e, s);
|
||||
await progressDialog.hide();
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.sorry,
|
||||
context.l10n.importFailureDesc,
|
||||
"${context.l10n.importFailureDesc}\n Error: ${e.toString()}",
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -103,7 +105,7 @@ Future<int?> _processRaivoExportFile(BuildContext context, String path) async {
|
||||
otpUrl =
|
||||
'otpauth://$kind/$issuer:$account?secret=$secret&issuer=$issuer&algorithm=$algorithm&digits=$digits&counter=$counter';
|
||||
} else {
|
||||
throw Exception('Invalid OTP type');
|
||||
throw Exception('Invalid OTP type $kind');
|
||||
}
|
||||
parsedCodes.add(Code.fromOTPAuthUrl(otpUrl));
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ Future<void> _pick2FasFile(BuildContext context) async {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
context.l10n.sorry,
|
||||
context.l10n.importFailureDesc,
|
||||
"${context.l10n.importFailureDesc}\n Error: ${e.toString()}",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:otp/otp.dart' as otp;
|
||||
import 'package:steam_totp/steam_totp.dart';
|
||||
|
||||
String getOTP(Code code) {
|
||||
if (code.type == Type.steam) {
|
||||
if (code.type == Type.steam || code.issuer.toLowerCase() == 'steam') {
|
||||
return _getSteamCode(code);
|
||||
}
|
||||
if (code.type == Type.hotp) {
|
||||
@@ -39,7 +39,7 @@ String _getSteamCode(Code code, [bool isNext = false]) {
|
||||
}
|
||||
|
||||
String getNextTotp(Code code) {
|
||||
if (code.type == Type.steam) {
|
||||
if (code.type == Type.steam || code.issuer.toLowerCase() == 'steam') {
|
||||
return _getSteamCode(code, true);
|
||||
}
|
||||
return otp.OTP.generateTOTPCodeString(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: ente_auth
|
||||
description: ente two-factor authenticator
|
||||
version: 3.0.4+304
|
||||
version: 3.0.8+308
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
|
||||
@@ -107,11 +107,7 @@ docker-compose up -d
|
||||
|
||||
`exec` into the container
|
||||
```shell
|
||||
docker-compose exec ente /bin/sh
|
||||
docker-compose exec ente-cli /bin/sh -c "./ente-cli version"
|
||||
docker-compose exec ente-cli /bin/sh -c "./ente-cli account add"
|
||||
```
|
||||
|
||||
#### Directly executing commands
|
||||
|
||||
```shell
|
||||
docker run -it --rm ente:latest ls
|
||||
```
|
||||
|
||||
@@ -4,8 +4,11 @@ services:
|
||||
image: ente-cli:latest
|
||||
command: /bin/sh
|
||||
volumes:
|
||||
# Replace /Volumes/Data/ with a folder path on your system, typically $HOME/.ente-cli/
|
||||
- ~/.ente-cli/:/cli-data:rw
|
||||
# - ~/Downloads/export-data:/data:rw
|
||||
# This is mandatory to mount the local directory to the container at /cli-data
|
||||
# CLI will use this directory to store the data required for syncing export
|
||||
- /path/to/local/directory/cli/:/cli-data:rw
|
||||
# You can add additional volumes to mount the export directory to the container
|
||||
# While adding account for export, you can use /data as the export directory.
|
||||
- /path/to/local/directory/export:/data:rw
|
||||
stdin_open: true
|
||||
tty: true
|
||||
|
||||
@@ -23,7 +23,7 @@ func main() {
|
||||
cliDBPath = constants.CliDataPath
|
||||
_, err := internal.ValidateDirForWrite(cliDBPath)
|
||||
if err != nil {
|
||||
log.Fatalf("Please mount a volume to %s to persist cli data\n%v\n", cliDBPath, err)
|
||||
log.Fatalf("Please mount a volume to %s\n%v\n", cliDBPath, err)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# CHANGELOG
|
||||
|
||||
## v1.7.1 (Unreleased)
|
||||
|
||||
- Remember the window size across app restarts.
|
||||
- Revert changes to the Linux icon.
|
||||
|
||||
## v1.7.0
|
||||
|
||||
v1.7 is a major rewrite to improve the security of our app. In particular, the
|
||||
|
||||
BIN
desktop/build/window-icon.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
@@ -23,6 +23,7 @@ linux:
|
||||
- target: pacman
|
||||
arch: [x64, arm64]
|
||||
category: Photography
|
||||
icon: ./build/icon.icns
|
||||
mac:
|
||||
target:
|
||||
target: default
|
||||
|
||||
43
desktop/eslint.config.mjs
Normal file
@@ -0,0 +1,43 @@
|
||||
// @ts-check
|
||||
|
||||
import js from "@eslint/js";
|
||||
import ts from "typescript-eslint";
|
||||
|
||||
export default ts.config(
|
||||
js.configs.recommended,
|
||||
...ts.configs.strictTypeChecked,
|
||||
...ts.configs.stylisticTypeChecked,
|
||||
{
|
||||
// typescript-eslint needs this enabling type checked rules.
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
project: true,
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
// The list of (minimatch) globs to ignore. This needs to be the only
|
||||
// key in this configuration object.
|
||||
ignores: ["eslint.config.mjs", "app/", "out/", "dist/"],
|
||||
},
|
||||
{
|
||||
// Rule customizations.
|
||||
rules: {
|
||||
// Allow numbers to be used in template literals.
|
||||
"@typescript-eslint/restrict-template-expressions": [
|
||||
"error",
|
||||
{
|
||||
allowNumber: true,
|
||||
},
|
||||
],
|
||||
// Allow void expressions as the entire body of an arrow function.
|
||||
"@typescript-eslint/no-confusing-void-expression": [
|
||||
"error",
|
||||
{
|
||||
ignoreArrowShorthand: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
);
|
||||
@@ -17,8 +17,8 @@
|
||||
"dev-main": "tsc && electron .",
|
||||
"dev-renderer": "cd ../web && yarn install && yarn dev:photos",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"lint": "yarn prettier --check --log-level warn . && eslint --ext .ts src && yarn tsc",
|
||||
"lint-fix": "yarn prettier --write --log-level warn . && eslint --fix --ext .ts src && yarn tsc"
|
||||
"lint": "yarn prettier --check --log-level warn . && yarn eslint && yarn tsc",
|
||||
"lint-fix": "yarn prettier --write --log-level warn . && yarn eslint && yarn tsc"
|
||||
},
|
||||
"resolutions": {
|
||||
"jackspeak": "2.1.1"
|
||||
@@ -36,23 +36,24 @@
|
||||
"jpeg-js": "^0.4",
|
||||
"next-electron-server": "^1",
|
||||
"node-stream-zip": "^1.15",
|
||||
"onnxruntime-node": "^1.17"
|
||||
"onnxruntime-node": "^1.18"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.4.0",
|
||||
"@tsconfig/node20": "^20.1.4",
|
||||
"@types/auto-launch": "^5.0",
|
||||
"@types/eslint__js": "^8.42.3",
|
||||
"@types/ffmpeg-static": "^3.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7",
|
||||
"@typescript-eslint/parser": "^7",
|
||||
"concurrently": "^8",
|
||||
"electron": "^30",
|
||||
"electron-builder": "25.0.0-alpha.6",
|
||||
"eslint": "^8",
|
||||
"electron-builder": "25.0.0-alpha.8",
|
||||
"eslint": "^9.4.0",
|
||||
"prettier": "^3",
|
||||
"prettier-plugin-organize-imports": "^3",
|
||||
"prettier-plugin-packagejson": "^2",
|
||||
"shx": "^0.3",
|
||||
"typescript": "^5"
|
||||
"typescript": "^5",
|
||||
"typescript-eslint": "8.0.0-alpha.10"
|
||||
},
|
||||
"packageManager": "yarn@1.22.21",
|
||||
"productName": "ente"
|
||||
|
||||
@@ -143,12 +143,22 @@ const registerPrivilegedSchemes = () => {
|
||||
* This window will show the HTML served from {@link rendererURL}.
|
||||
*/
|
||||
const createMainWindow = () => {
|
||||
const icon = nativeImage.createFromPath(
|
||||
path.join(isDev ? "build" : process.resourcesPath, "window-icon.png"),
|
||||
);
|
||||
const bounds = windowBounds();
|
||||
|
||||
// Create the main window. This'll show our web content.
|
||||
const window = new BrowserWindow({
|
||||
webPreferences: {
|
||||
preload: path.join(__dirname, "preload.js"),
|
||||
sandbox: true,
|
||||
},
|
||||
icon,
|
||||
// Set the window's position and size (if we have one saved).
|
||||
...(bounds ?? {}),
|
||||
// Enforce a minimum size
|
||||
...minimumWindowSize(),
|
||||
// The color to show in the window until the web content gets loaded.
|
||||
// See: https://www.electronjs.org/docs/latest/api/browser-window#setting-the-backgroundcolor-property
|
||||
backgroundColor: "black",
|
||||
@@ -162,8 +172,10 @@ const createMainWindow = () => {
|
||||
// On macOS, also hide the dock icon on macOS.
|
||||
if (process.platform == "darwin") app.dock.hide();
|
||||
} else {
|
||||
// Show our window (maximizing it) otherwise.
|
||||
window.maximize();
|
||||
// Show our window otherwise.
|
||||
//
|
||||
// If we did not give it an explicit size, maximize it
|
||||
bounds ? window.show() : window.maximize();
|
||||
}
|
||||
|
||||
// Open the DevTools automatically when running in dev mode
|
||||
@@ -209,11 +221,64 @@ const createMainWindow = () => {
|
||||
return window;
|
||||
};
|
||||
|
||||
/**
|
||||
* The position and size to use when showing the main window.
|
||||
*
|
||||
* The return value is `undefined` if the app's window was maximized the last
|
||||
* time around, and so if we should restore it to the maximized state.
|
||||
*
|
||||
* Otherwise it returns the position and size of the window the last time the
|
||||
* app quit.
|
||||
*
|
||||
* If there is no such saved value (or if it is the first time the user is
|
||||
* running the app), return a default size.
|
||||
*/
|
||||
const windowBounds = () => {
|
||||
if (userPreferences.get("isWindowMaximized")) return undefined;
|
||||
|
||||
const bounds = userPreferences.get("windowBounds");
|
||||
if (bounds) return bounds;
|
||||
|
||||
// Default size. Picked arbitrarily as something that should look good on
|
||||
// first launch. We don't provide a position to let Electron center the app.
|
||||
return { width: 1170, height: 710 };
|
||||
};
|
||||
|
||||
/**
|
||||
* If for some reason {@link windowBounds} is outside the screen's bounds (e.g.
|
||||
* if the user's screen resolution has changed), then the previously saved
|
||||
* bounds might not be appropriate.
|
||||
*
|
||||
* Luckily, if we try to set an x/y position that is outside the screen's
|
||||
* bounds, then Electron automatically clamps x + width and y + height to lie
|
||||
* within the screen's available space, and we do not need to tackle such out of
|
||||
* bounds cases specifically.
|
||||
*
|
||||
* However there is no minimum window size the Electron enforces by default. As
|
||||
* a safety valve, provide an (arbitrary) minimum size so that the user can
|
||||
* resize it back to sanity if something I cannot currently anticipate happens.
|
||||
*/
|
||||
const minimumWindowSize = () => ({ minWidth: 200, minHeight: 200 });
|
||||
|
||||
/**
|
||||
* Sibling of {@link windowBounds}, see that function's documentation for more
|
||||
* details.
|
||||
*/
|
||||
const saveWindowBounds = (window: BrowserWindow) => {
|
||||
if (window.isMaximized()) {
|
||||
userPreferences.set("isWindowMaximized", true);
|
||||
userPreferences.delete("windowBounds");
|
||||
} else {
|
||||
userPreferences.delete("isWindowMaximized");
|
||||
userPreferences.set("windowBounds", window.getBounds());
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Automatically set the save path for user initiated downloads to the system's
|
||||
* "downloads" directory instead of asking the user to select a save location.
|
||||
*/
|
||||
export const setDownloadPath = (webContents: WebContents) => {
|
||||
const setDownloadPath = (webContents: WebContents) => {
|
||||
webContents.session.on("will-download", (_, item) => {
|
||||
item.setSavePath(
|
||||
uniqueSavePath(app.getPath("downloads"), item.getFilename()),
|
||||
@@ -241,7 +306,7 @@ const uniqueSavePath = (dirPath: string, fileName: string) => {
|
||||
*
|
||||
* @param webContents The renderer to configure.
|
||||
*/
|
||||
export const allowExternalLinks = (webContents: WebContents) =>
|
||||
const allowExternalLinks = (webContents: WebContents) =>
|
||||
// By default, if the user were open a link, say
|
||||
// https://github.com/ente-io/ente/discussions, then it would open a _new_
|
||||
// BrowserWindow within our app.
|
||||
@@ -273,7 +338,7 @@ export const allowExternalLinks = (webContents: WebContents) =>
|
||||
* "Access-Control-Allow-Origin: *" or do a echo-back of `Origin`, we add a
|
||||
* workaround here instead, intercepting the ACAO header and allowing `*`.
|
||||
*/
|
||||
export const allowAllCORSOrigins = (webContents: WebContents) =>
|
||||
const allowAllCORSOrigins = (webContents: WebContents) =>
|
||||
webContents.session.webRequest.onHeadersReceived(
|
||||
({ responseHeaders }, callback) => {
|
||||
const headers: NonNullable<typeof responseHeaders> = {};
|
||||
@@ -444,7 +509,10 @@ const main = () => {
|
||||
// app, e.g. by clicking on its dock icon.
|
||||
app.on("activate", () => mainWindow?.show());
|
||||
|
||||
app.on("before-quit", allowWindowClose);
|
||||
app.on("before-quit", () => {
|
||||
if (mainWindow) saveWindowBounds(mainWindow);
|
||||
allowWindowClose();
|
||||
});
|
||||
};
|
||||
|
||||
main();
|
||||
|
||||
@@ -1,21 +1,47 @@
|
||||
import Store, { Schema } from "electron-store";
|
||||
|
||||
interface UserPreferences {
|
||||
/**
|
||||
* If true, then the user has set a preference to also hide the dock icon on
|
||||
* macOS whenever the app is hidden. The tray icon is always visible and can
|
||||
* then be used to reopen the app when needed.
|
||||
*/
|
||||
hideDockIcon?: boolean;
|
||||
skipAppVersion?: string;
|
||||
muteUpdateNotificationVersion?: string;
|
||||
/**
|
||||
* The last position and size of our app's window.
|
||||
*
|
||||
* This value is saved when the app is about to quit, and is used to restore
|
||||
* the window to the previous state when it restarts. It is only saved if
|
||||
* the app is not maximized (when the app was maximized when it was being
|
||||
* quit then {@link isWindowMaximized} will be set instead).
|
||||
*/
|
||||
windowBounds?: {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
/**
|
||||
* `true` if the app's main window is maximized the last time it was closed.
|
||||
*/
|
||||
isWindowMaximized?: boolean;
|
||||
}
|
||||
|
||||
const userPreferencesSchema: Schema<UserPreferences> = {
|
||||
hideDockIcon: {
|
||||
type: "boolean",
|
||||
},
|
||||
skipAppVersion: {
|
||||
type: "string",
|
||||
},
|
||||
muteUpdateNotificationVersion: {
|
||||
type: "string",
|
||||
hideDockIcon: { type: "boolean" },
|
||||
skipAppVersion: { type: "string" },
|
||||
muteUpdateNotificationVersion: { type: "string" },
|
||||
windowBounds: {
|
||||
properties: {
|
||||
x: { type: "number" },
|
||||
y: { type: "number" },
|
||||
width: { type: "number" },
|
||||
height: { type: "number" },
|
||||
},
|
||||
},
|
||||
isWindowMaximized: { type: "boolean" },
|
||||
};
|
||||
|
||||
export const userPreferences = new Store({
|
||||
|
||||
1
desktop/src/main/types/any-shell-escape.d.ts
vendored
@@ -19,7 +19,6 @@
|
||||
* curl -v -H "Location;" -H "User-Agent: FooBar's so-called ""Browser""" "http://www.daveeddy.com/?name=dave&age=24"
|
||||
Which is suitable for being executed by the shell.
|
||||
*/
|
||||
/* eslint-disable no-unused-vars */
|
||||
declare module "any-shell-escape" {
|
||||
declare const shellescape: (args: readonly string | string[]) => string;
|
||||
export default shellescape;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
/**
|
||||
* @file The preload script
|
||||
*
|
||||
|
||||
1
desktop/src/thirdparty/clip-bpe-ts/mod.ts
vendored
@@ -373,7 +373,6 @@ export default class {
|
||||
return token + "</w>";
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-constant-condition
|
||||
while (1) {
|
||||
let bigram: [string, string] | null = null;
|
||||
let minRank = Infinity;
|
||||
|
||||
@@ -32,6 +32,6 @@
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"exactOptionalPropertyTypes": true
|
||||
},
|
||||
/* Transpile all `.ts` files in `src/` */
|
||||
"include": ["src/**/*.ts"]
|
||||
/* Include all `.ts` files in `src/` */
|
||||
"include": ["src"]
|
||||
}
|
||||
|
||||
@@ -65,10 +65,10 @@
|
||||
fs-extra "^9.0.1"
|
||||
promise-retry "^2.0.1"
|
||||
|
||||
"@electron/osx-sign@1.0.5":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.0.5.tgz#0af7149f2fce44d1a8215660fd25a9fb610454d8"
|
||||
integrity sha512-k9ZzUQtamSoweGQDV2jILiRIHUu7lYlJ3c6IEmjv1hC17rclE+eb9U+f6UFlOOETo0JzY1HNlXy4YOlCvl+Lww==
|
||||
"@electron/osx-sign@1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.3.0.tgz#bd6fb60c519b76ca8a000e5801f5685690e8adad"
|
||||
integrity sha512-TEXhxlYSDRr9JWK5nWdOv5MtuUdaZ412uxIIEQ0hLt80o0HYWtQJBlW5QmrQDMtebzATaOjKG9UfCzLyA90zWQ==
|
||||
dependencies:
|
||||
compare-version "^0.1.2"
|
||||
debug "^4.3.4"
|
||||
@@ -122,49 +122,54 @@
|
||||
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
|
||||
integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
|
||||
|
||||
"@eslint/eslintrc@^2.1.4":
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
|
||||
integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
|
||||
"@eslint/config-array@^0.15.1":
|
||||
version "0.15.1"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.15.1.tgz#1fa78b422d98f4e7979f2211a1fde137e26c7d61"
|
||||
integrity sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==
|
||||
dependencies:
|
||||
"@eslint/object-schema" "^2.1.3"
|
||||
debug "^4.3.1"
|
||||
minimatch "^3.0.5"
|
||||
|
||||
"@eslint/eslintrc@^3.1.0":
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6"
|
||||
integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==
|
||||
dependencies:
|
||||
ajv "^6.12.4"
|
||||
debug "^4.3.2"
|
||||
espree "^9.6.0"
|
||||
globals "^13.19.0"
|
||||
espree "^10.0.1"
|
||||
globals "^14.0.0"
|
||||
ignore "^5.2.0"
|
||||
import-fresh "^3.2.1"
|
||||
js-yaml "^4.1.0"
|
||||
minimatch "^3.1.2"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@eslint/js@8.57.0":
|
||||
version "8.57.0"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f"
|
||||
integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==
|
||||
"@eslint/js@9.4.0", "@eslint/js@^9.4.0":
|
||||
version "9.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.4.0.tgz#96a2edd37ec0551ce5f9540705be23951c008a0c"
|
||||
integrity sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==
|
||||
|
||||
"@eslint/object-schema@^2.1.3":
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.3.tgz#e65ae80ee2927b4fd8c5c26b15ecacc2b2a6cc2a"
|
||||
integrity sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==
|
||||
|
||||
"@gar/promisify@^1.1.3":
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
|
||||
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
|
||||
|
||||
"@humanwhocodes/config-array@^0.11.14":
|
||||
version "0.11.14"
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
|
||||
integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==
|
||||
dependencies:
|
||||
"@humanwhocodes/object-schema" "^2.0.2"
|
||||
debug "^4.3.1"
|
||||
minimatch "^3.0.5"
|
||||
|
||||
"@humanwhocodes/module-importer@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
|
||||
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
|
||||
|
||||
"@humanwhocodes/object-schema@^2.0.2":
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
|
||||
integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
|
||||
"@humanwhocodes/retry@^0.3.0":
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570"
|
||||
integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==
|
||||
|
||||
"@isaacs/fs-minipass@^4.0.0":
|
||||
version "4.0.1"
|
||||
@@ -281,6 +286,26 @@
|
||||
dependencies:
|
||||
"@types/ms" "*"
|
||||
|
||||
"@types/eslint@*":
|
||||
version "8.56.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d"
|
||||
integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==
|
||||
dependencies:
|
||||
"@types/estree" "*"
|
||||
"@types/json-schema" "*"
|
||||
|
||||
"@types/eslint__js@^8.42.3":
|
||||
version "8.42.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/eslint__js/-/eslint__js-8.42.3.tgz#d1fa13e5c1be63a10b4e3afe992779f81c1179a0"
|
||||
integrity sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==
|
||||
dependencies:
|
||||
"@types/eslint" "*"
|
||||
|
||||
"@types/estree@*":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
|
||||
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
|
||||
|
||||
"@types/ffmpeg-static@^3.0":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/ffmpeg-static/-/ffmpeg-static-3.0.3.tgz#605358ac6304507a75c2fd5fd861534837b19e2f"
|
||||
@@ -298,7 +323,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4"
|
||||
integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==
|
||||
|
||||
"@types/json-schema@^7.0.15":
|
||||
"@types/json-schema@*", "@types/json-schema@^7.0.15":
|
||||
version "7.0.15"
|
||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
|
||||
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
|
||||
@@ -316,9 +341,9 @@
|
||||
integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==
|
||||
|
||||
"@types/node@*", "@types/node@^20.9.0":
|
||||
version "20.12.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050"
|
||||
integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==
|
||||
version "20.13.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.13.0.tgz#011a76bc1e71ae9a026dddcfd7039084f752c4b6"
|
||||
integrity sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
|
||||
@@ -359,16 +384,16 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^7":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz#c78e309fe967cb4de05b85cdc876fb95f8e01b6f"
|
||||
integrity sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==
|
||||
"@typescript-eslint/eslint-plugin@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.0-alpha.10.tgz#a102e40da7b72a2981cb2da43064d9b3c865ca58"
|
||||
integrity sha512-jsNKqn41nIS8jz5Li5xsueGEBBmRYLaflUKlclEkj8cWrO1tMK1/7xITeiVz7ZlNFZF2nop2NlXrbLtRpLEzhg==
|
||||
dependencies:
|
||||
"@eslint-community/regexpp" "^4.10.0"
|
||||
"@typescript-eslint/scope-manager" "7.8.0"
|
||||
"@typescript-eslint/type-utils" "7.8.0"
|
||||
"@typescript-eslint/utils" "7.8.0"
|
||||
"@typescript-eslint/visitor-keys" "7.8.0"
|
||||
"@typescript-eslint/scope-manager" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/type-utils" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/utils" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/visitor-keys" "8.0.0-alpha.10"
|
||||
debug "^4.3.4"
|
||||
graphemer "^1.4.0"
|
||||
ignore "^5.3.1"
|
||||
@@ -376,47 +401,47 @@
|
||||
semver "^7.6.0"
|
||||
ts-api-utils "^1.3.0"
|
||||
|
||||
"@typescript-eslint/parser@^7":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.8.0.tgz#1e1db30c8ab832caffee5f37e677dbcb9357ddc8"
|
||||
integrity sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==
|
||||
"@typescript-eslint/parser@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.0.0-alpha.10.tgz#fbefd39da010d65407b985f2b5c6e0a79bc8a6f4"
|
||||
integrity sha512-4EerPviLfBKgExHARehJgWrCtX2a7+PXBc0LBPlH93ypSgj0LU1ejMgjrB0gcfd6bJ7LN/UGNAAy3B7/Y785sA==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "7.8.0"
|
||||
"@typescript-eslint/types" "7.8.0"
|
||||
"@typescript-eslint/typescript-estree" "7.8.0"
|
||||
"@typescript-eslint/visitor-keys" "7.8.0"
|
||||
"@typescript-eslint/scope-manager" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/types" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/typescript-estree" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/visitor-keys" "8.0.0-alpha.10"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@7.8.0":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz#bb19096d11ec6b87fb6640d921df19b813e02047"
|
||||
integrity sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==
|
||||
"@typescript-eslint/scope-manager@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.10.tgz#25506ce51ab64e99f2bc0b7d3f0f82656e14a794"
|
||||
integrity sha512-SUU0yhqehjuWilWRJWfhcxf6eMKVrZ3bpV2w6NF6GmBHR3FJo6oWZYLVXP04s6//INxpC2ynvKSglo4LRzWVTw==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "7.8.0"
|
||||
"@typescript-eslint/visitor-keys" "7.8.0"
|
||||
"@typescript-eslint/types" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/visitor-keys" "8.0.0-alpha.10"
|
||||
|
||||
"@typescript-eslint/type-utils@7.8.0":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.8.0.tgz#9de166f182a6e4d1c5da76e94880e91831e3e26f"
|
||||
integrity sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==
|
||||
"@typescript-eslint/type-utils@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.0.0-alpha.10.tgz#d27f0fdd81450380887b3a07297440ba3588a70e"
|
||||
integrity sha512-6aTcbnDZWKgKr3gquECJSFyvXWLSKtUHrk2ZXDP4DEzmzTDjrkY7tIQpqv4SczPQJ+3/aky3ArPhtnQYJbAMzg==
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree" "7.8.0"
|
||||
"@typescript-eslint/utils" "7.8.0"
|
||||
"@typescript-eslint/typescript-estree" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/utils" "8.0.0-alpha.10"
|
||||
debug "^4.3.4"
|
||||
ts-api-utils "^1.3.0"
|
||||
|
||||
"@typescript-eslint/types@7.8.0":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.8.0.tgz#1fd2577b3ad883b769546e2d1ef379f929a7091d"
|
||||
integrity sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==
|
||||
"@typescript-eslint/types@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.0.0-alpha.10.tgz#89be400c6a1751fe86f5917ed8087ec100e002da"
|
||||
integrity sha512-prbN+b/I4yH6H43WmyenMz8K5e34Hs73BQuWXR4wwij3Cg2xNGLPcpjr2cKWKlH4dZQPTz6R6oBeC+LfaoKi8g==
|
||||
|
||||
"@typescript-eslint/typescript-estree@7.8.0":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz#b028a9226860b66e623c1ee55cc2464b95d2987c"
|
||||
integrity sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==
|
||||
"@typescript-eslint/typescript-estree@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.10.tgz#e850056d2a5029688269a60206dec3bbd7beb953"
|
||||
integrity sha512-8wBUIhu6IRa440hv5/0ZEnb5JLp/UsfzIXYKRwICUOMTVj2ss1n+w3m1CtT5ghVWy5Z05qkscsbhlKFmZguU8w==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "7.8.0"
|
||||
"@typescript-eslint/visitor-keys" "7.8.0"
|
||||
"@typescript-eslint/types" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/visitor-keys" "8.0.0-alpha.10"
|
||||
debug "^4.3.4"
|
||||
globby "^11.1.0"
|
||||
is-glob "^4.0.3"
|
||||
@@ -424,32 +449,27 @@
|
||||
semver "^7.6.0"
|
||||
ts-api-utils "^1.3.0"
|
||||
|
||||
"@typescript-eslint/utils@7.8.0":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.8.0.tgz#57a79f9c0c0740ead2f622e444cfaeeb9fd047cd"
|
||||
integrity sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==
|
||||
"@typescript-eslint/utils@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.0.0-alpha.10.tgz#b77f743227353bfa493e95409c0e079044c9258e"
|
||||
integrity sha512-WZyNf49CuvaW/whz/B8XjYwXE/wm/EQAXq+Vqgp6BrJb8SC3bMCwGuUxReNDN1o+dNdOC96ofVSvqa8NUQ65Jg==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
"@types/json-schema" "^7.0.15"
|
||||
"@types/semver" "^7.5.8"
|
||||
"@typescript-eslint/scope-manager" "7.8.0"
|
||||
"@typescript-eslint/types" "7.8.0"
|
||||
"@typescript-eslint/typescript-estree" "7.8.0"
|
||||
"@typescript-eslint/scope-manager" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/types" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/typescript-estree" "8.0.0-alpha.10"
|
||||
semver "^7.6.0"
|
||||
|
||||
"@typescript-eslint/visitor-keys@7.8.0":
|
||||
version "7.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz#7285aab991da8bee411a42edbd5db760d22fdd91"
|
||||
integrity sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==
|
||||
"@typescript-eslint/visitor-keys@8.0.0-alpha.10":
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.10.tgz#d0a9250c69cc2f73c7f423c36183d222a329e260"
|
||||
integrity sha512-UohTNnT7S29uQgXsGZY489nWmoBBSJucNdRvog62R1QX9pQQb2pKVV1kHepUxoY2vd+M4tb9SQwZQ3gPNgqQ6w==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "7.8.0"
|
||||
"@typescript-eslint/types" "8.0.0-alpha.10"
|
||||
eslint-visitor-keys "^3.4.3"
|
||||
|
||||
"@ungap/structured-clone@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
|
||||
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
|
||||
|
||||
"@xmldom/xmldom@^0.8.8":
|
||||
version "0.8.10"
|
||||
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
|
||||
@@ -465,7 +485,7 @@ acorn-jsx@^5.3.2:
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||
|
||||
acorn@^8.9.0:
|
||||
acorn@^8.11.3:
|
||||
version "8.11.3"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
|
||||
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
|
||||
@@ -554,14 +574,14 @@ app-builder-bin@4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0"
|
||||
integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==
|
||||
|
||||
app-builder-lib@25.0.0-alpha.6:
|
||||
version "25.0.0-alpha.6"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-25.0.0-alpha.6.tgz#3edb49843b249a1dd52b32a80f9787677bc5a32b"
|
||||
integrity sha512-kXveR7MFTJXBwb2xB2geKWeWP+YGcJ3IzWRgTEV96zwyo4IxzE5xRXcndSQQglmlzw/VoM5Mx322E9ErYbMCVg==
|
||||
app-builder-lib@25.0.0-alpha.8:
|
||||
version "25.0.0-alpha.8"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-25.0.0-alpha.8.tgz#e8065005b0b5d43f22153ac72101f71bf4e1022b"
|
||||
integrity sha512-d/pcaTcDv3gfdl9AGGP/DKvc+A+TdJmG15f+vqPeEGKOoqLE0ukReaEevXAtH3wOOs5CqgX6QgNPdszeeqFn3Q==
|
||||
dependencies:
|
||||
"@develar/schema-utils" "~2.6.5"
|
||||
"@electron/notarize" "2.3.0"
|
||||
"@electron/osx-sign" "1.0.5"
|
||||
"@electron/osx-sign" "1.3.0"
|
||||
"@electron/rebuild" "3.6.0"
|
||||
"@electron/universal" "2.0.1"
|
||||
"@malept/flatpak-bundler" "^0.4.0"
|
||||
@@ -573,7 +593,7 @@ app-builder-lib@25.0.0-alpha.6:
|
||||
chromium-pickle-js "^0.2.0"
|
||||
debug "^4.3.4"
|
||||
ejs "^3.1.8"
|
||||
electron-publish "25.0.0-alpha.6"
|
||||
electron-publish "25.0.0-alpha.7"
|
||||
form-data "^4.0.0"
|
||||
fs-extra "^10.1.0"
|
||||
hosted-git-info "^4.1.0"
|
||||
@@ -582,7 +602,7 @@ app-builder-lib@25.0.0-alpha.6:
|
||||
js-yaml "^4.1.0"
|
||||
lazy-val "^1.0.5"
|
||||
minimatch "^5.1.1"
|
||||
read-config-file "6.3.2"
|
||||
read-config-file "6.4.0"
|
||||
sanitize-filename "^1.6.3"
|
||||
semver "^7.3.8"
|
||||
tar "^6.1.12"
|
||||
@@ -718,7 +738,14 @@ brace-expansion@^2.0.1:
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
braces@^3.0.2, braces@~3.0.2:
|
||||
braces@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
|
||||
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
|
||||
dependencies:
|
||||
fill-range "^7.1.1"
|
||||
|
||||
braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
||||
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
||||
@@ -1007,6 +1034,14 @@ conf@^10.2.0:
|
||||
pkg-up "^3.1.0"
|
||||
semver "^7.3.5"
|
||||
|
||||
config-file-ts@0.2.8-rc1:
|
||||
version "0.2.8-rc1"
|
||||
resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz#fb7fc6ccb2e313f69dbeb78f1db0b00038049de0"
|
||||
integrity sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==
|
||||
dependencies:
|
||||
glob "^10.3.12"
|
||||
typescript "^5.4.3"
|
||||
|
||||
config-file-ts@^0.2.4:
|
||||
version "0.2.6"
|
||||
resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.6.tgz#b424ff74612fb37f626d6528f08f92ddf5d22027"
|
||||
@@ -1055,13 +1090,20 @@ debounce-fn@^4.0.0:
|
||||
dependencies:
|
||||
mimic-fn "^3.0.0"
|
||||
|
||||
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
|
||||
debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debug@^4.1.0, debug@^4.1.1, debug@^4.3.4:
|
||||
version "4.3.5"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e"
|
||||
integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
decompress-response@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
|
||||
@@ -1149,12 +1191,12 @@ dir-glob@^3.0.1:
|
||||
dependencies:
|
||||
path-type "^4.0.0"
|
||||
|
||||
dmg-builder@25.0.0-alpha.6:
|
||||
version "25.0.0-alpha.6"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-25.0.0-alpha.6.tgz#1a13008de0543c3080595534ab294cde2a5e57e8"
|
||||
integrity sha512-GStVExwsuumGN6rPGJksA5bLN5n5QEQd5iQrGKyBSxuwR1+LWidFkM+anroXnANIyTwbppk2S7+808vHjT/Eyw==
|
||||
dmg-builder@25.0.0-alpha.8:
|
||||
version "25.0.0-alpha.8"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-25.0.0-alpha.8.tgz#fe887023ffc9ce72dfd2472303a76ec008a156d2"
|
||||
integrity sha512-1/Sfl1sQugHkHEobFafyx1HcmgkFj8pV7HFEK0NQ8bH5K2qsGvknjAeHjtYhV2sBoSNGod4P0SfbScS6p6h4eg==
|
||||
dependencies:
|
||||
app-builder-lib "25.0.0-alpha.6"
|
||||
app-builder-lib "25.0.0-alpha.8"
|
||||
builder-util "25.0.0-alpha.6"
|
||||
builder-util-runtime "9.2.5-alpha.2"
|
||||
fs-extra "^10.1.0"
|
||||
@@ -1177,13 +1219,6 @@ dmg-license@^1.0.11:
|
||||
smart-buffer "^4.0.2"
|
||||
verror "^1.10.0"
|
||||
|
||||
doctrine@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
|
||||
integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
|
||||
dot-prop@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
|
||||
@@ -1191,11 +1226,23 @@ dot-prop@^6.0.1:
|
||||
dependencies:
|
||||
is-obj "^2.0.0"
|
||||
|
||||
dotenv-expand@^11.0.6:
|
||||
version "11.0.6"
|
||||
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.6.tgz#f2c840fd924d7c77a94eff98f153331d876882d3"
|
||||
integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==
|
||||
dependencies:
|
||||
dotenv "^16.4.4"
|
||||
|
||||
dotenv-expand@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
|
||||
integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
|
||||
|
||||
dotenv@^16.4.4, dotenv@^16.4.5:
|
||||
version "16.4.5"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f"
|
||||
integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==
|
||||
|
||||
dotenv@^9.0.2:
|
||||
version "9.0.2"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05"
|
||||
@@ -1208,16 +1255,16 @@ ejs@^3.1.8:
|
||||
dependencies:
|
||||
jake "^10.8.5"
|
||||
|
||||
electron-builder@25.0.0-alpha.6:
|
||||
version "25.0.0-alpha.6"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-25.0.0-alpha.6.tgz#a72f96f7029539ac28f92ce5c83f872ba3b6e7c1"
|
||||
integrity sha512-qXzzdID2W9hhx3TXddwXv1C5HsqjF6bKnftUtywAB/gtDwu+neifPZvnXDNHI4ZamRrZpJJH59esfkqkc2KNSQ==
|
||||
electron-builder@25.0.0-alpha.8:
|
||||
version "25.0.0-alpha.8"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-25.0.0-alpha.8.tgz#7238623cf7a753d0da31f16daea8767d0ef6d572"
|
||||
integrity sha512-nfrtTljEZackbhJE1BcK+RFXrPvrkrBo0TgR0gH2GxNhPiRTwj/S24K3zHbYj6vBaDVtnqlS6Mqm8tMUrRU4tA==
|
||||
dependencies:
|
||||
app-builder-lib "25.0.0-alpha.6"
|
||||
app-builder-lib "25.0.0-alpha.8"
|
||||
builder-util "25.0.0-alpha.6"
|
||||
builder-util-runtime "9.2.5-alpha.2"
|
||||
chalk "^4.1.2"
|
||||
dmg-builder "25.0.0-alpha.6"
|
||||
dmg-builder "25.0.0-alpha.8"
|
||||
fs-extra "^10.1.0"
|
||||
is-ci "^3.0.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -1226,14 +1273,14 @@ electron-builder@25.0.0-alpha.6:
|
||||
yargs "^17.6.2"
|
||||
|
||||
electron-log@^5.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-5.1.2.tgz#fb40ad7f4ae694dd0e4c02c662d1a65c03e1243e"
|
||||
integrity sha512-Cpg4hAZ27yM9wzE77c4TvgzxzavZ+dVltCczParXN+Vb3jocojCSAuSMCVOI9fhFuuOR+iuu3tZLX1cu0y0kgQ==
|
||||
version "5.1.5"
|
||||
resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-5.1.5.tgz#70d5051fc5ab7669b2592f53f72034867269c96e"
|
||||
integrity sha512-vuq10faUAxRbILgQx7yHoMObKZDEfj7hMSZrJPsVrDNeCpV/HN11dU7QuY4UDUe055pzBxhSCB3m0+6D3Aktjw==
|
||||
|
||||
electron-publish@25.0.0-alpha.6:
|
||||
version "25.0.0-alpha.6"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-25.0.0-alpha.6.tgz#8af3cb6e2435c00b8c71de43c330483808df5924"
|
||||
integrity sha512-Hin+6j+jiXBc5g6Wlv9JB5Xu7MADBHxZAndt4WE7luCw7b3+OJdQeDvD/uYiCLpiG8cc2NLxu4MyBSVu86MrJA==
|
||||
electron-publish@25.0.0-alpha.7:
|
||||
version "25.0.0-alpha.7"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-25.0.0-alpha.7.tgz#3c1944c8890b22d5f674772bf16c5382da248861"
|
||||
integrity sha512-d9R6Jnds3PjzBM4Wt3nRn9ramkbM3kBzt9a6WHQL4/09ByyZGZ1Cu9GS9atRCkH3tBJlOIotUYVhVO36lk3sAA==
|
||||
dependencies:
|
||||
"@types/fs-extra" "^9.0.11"
|
||||
builder-util "25.0.0-alpha.6"
|
||||
@@ -1266,9 +1313,9 @@ electron-updater@^6.2:
|
||||
tiny-typed-emitter "^2.1.0"
|
||||
|
||||
electron@^30:
|
||||
version "30.0.6"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-30.0.6.tgz#9ddea5f68396ecca88ad7c2c466a30fc9c16144b"
|
||||
integrity sha512-PkhEPFdpYcTzjAO3gMHZ+map7g2+xCrMDedo/L1i0ir2BRXvAB93IkTJX497U6Srb/09r2cFt+k20VPNVCdw3Q==
|
||||
version "30.0.9"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-30.0.9.tgz#b11400e4642a4b635e79244ba365f1d401ee60b5"
|
||||
integrity sha512-ArxgdGHVu3o5uaP+Tqj8cJDvU03R6vrGrOqiMs7JXLnvQHMqXJIIxmFKQAIdJW8VoT3ac3hD21tA7cPO10RLow==
|
||||
dependencies:
|
||||
"@electron/get" "^2.0.0"
|
||||
"@types/node" "^20.9.0"
|
||||
@@ -1330,54 +1377,55 @@ escape-string-regexp@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||
|
||||
eslint-scope@^7.2.2:
|
||||
version "7.2.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
|
||||
integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
|
||||
eslint-scope@^8.0.1:
|
||||
version "8.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc"
|
||||
integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==
|
||||
dependencies:
|
||||
esrecurse "^4.3.0"
|
||||
estraverse "^5.2.0"
|
||||
|
||||
eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
|
||||
eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3:
|
||||
version "3.4.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
||||
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
||||
|
||||
eslint@^8:
|
||||
version "8.57.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668"
|
||||
integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
|
||||
eslint-visitor-keys@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb"
|
||||
integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==
|
||||
|
||||
eslint@^9.4.0:
|
||||
version "9.4.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.4.0.tgz#79150c3610ae606eb131f1d648d5f43b3d45f3cd"
|
||||
integrity sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.2.0"
|
||||
"@eslint-community/regexpp" "^4.6.1"
|
||||
"@eslint/eslintrc" "^2.1.4"
|
||||
"@eslint/js" "8.57.0"
|
||||
"@humanwhocodes/config-array" "^0.11.14"
|
||||
"@eslint/config-array" "^0.15.1"
|
||||
"@eslint/eslintrc" "^3.1.0"
|
||||
"@eslint/js" "9.4.0"
|
||||
"@humanwhocodes/module-importer" "^1.0.1"
|
||||
"@humanwhocodes/retry" "^0.3.0"
|
||||
"@nodelib/fs.walk" "^1.2.8"
|
||||
"@ungap/structured-clone" "^1.2.0"
|
||||
ajv "^6.12.4"
|
||||
chalk "^4.0.0"
|
||||
cross-spawn "^7.0.2"
|
||||
debug "^4.3.2"
|
||||
doctrine "^3.0.0"
|
||||
escape-string-regexp "^4.0.0"
|
||||
eslint-scope "^7.2.2"
|
||||
eslint-visitor-keys "^3.4.3"
|
||||
espree "^9.6.1"
|
||||
eslint-scope "^8.0.1"
|
||||
eslint-visitor-keys "^4.0.0"
|
||||
espree "^10.0.1"
|
||||
esquery "^1.4.2"
|
||||
esutils "^2.0.2"
|
||||
fast-deep-equal "^3.1.3"
|
||||
file-entry-cache "^6.0.1"
|
||||
file-entry-cache "^8.0.0"
|
||||
find-up "^5.0.0"
|
||||
glob-parent "^6.0.2"
|
||||
globals "^13.19.0"
|
||||
graphemer "^1.4.0"
|
||||
ignore "^5.2.0"
|
||||
imurmurhash "^0.1.4"
|
||||
is-glob "^4.0.0"
|
||||
is-path-inside "^3.0.3"
|
||||
js-yaml "^4.1.0"
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
levn "^0.4.1"
|
||||
lodash.merge "^4.6.2"
|
||||
@@ -1387,14 +1435,14 @@ eslint@^8:
|
||||
strip-ansi "^6.0.1"
|
||||
text-table "^0.2.0"
|
||||
|
||||
espree@^9.6.0, espree@^9.6.1:
|
||||
version "9.6.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
|
||||
integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
|
||||
espree@^10.0.1:
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f"
|
||||
integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==
|
||||
dependencies:
|
||||
acorn "^8.9.0"
|
||||
acorn "^8.11.3"
|
||||
acorn-jsx "^5.3.2"
|
||||
eslint-visitor-keys "^3.4.1"
|
||||
eslint-visitor-keys "^4.0.0"
|
||||
|
||||
esquery@^1.4.2:
|
||||
version "1.5.0"
|
||||
@@ -1491,12 +1539,12 @@ ffmpeg-static@^5.2:
|
||||
https-proxy-agent "^5.0.0"
|
||||
progress "^2.0.3"
|
||||
|
||||
file-entry-cache@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
|
||||
integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
|
||||
file-entry-cache@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
|
||||
integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
|
||||
dependencies:
|
||||
flat-cache "^3.0.4"
|
||||
flat-cache "^4.0.0"
|
||||
|
||||
filelist@^1.0.4:
|
||||
version "1.0.4"
|
||||
@@ -1505,10 +1553,10 @@ filelist@^1.0.4:
|
||||
dependencies:
|
||||
minimatch "^5.0.1"
|
||||
|
||||
fill-range@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
|
||||
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
|
||||
fill-range@^7.0.1, fill-range@^7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
|
||||
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
@@ -1527,14 +1575,13 @@ find-up@^5.0.0:
|
||||
locate-path "^6.0.0"
|
||||
path-exists "^4.0.0"
|
||||
|
||||
flat-cache@^3.0.4:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
|
||||
integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
|
||||
flat-cache@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
|
||||
integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
|
||||
dependencies:
|
||||
flatted "^3.2.9"
|
||||
keyv "^4.5.3"
|
||||
rimraf "^3.0.2"
|
||||
keyv "^4.5.4"
|
||||
|
||||
flatted@^3.2.9:
|
||||
version "3.3.1"
|
||||
@@ -1678,7 +1725,7 @@ glob-parent@^6.0.2:
|
||||
dependencies:
|
||||
is-glob "^4.0.3"
|
||||
|
||||
glob@^10.3.10, glob@^10.3.7:
|
||||
glob@^10.3.10:
|
||||
version "10.3.12"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b"
|
||||
integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==
|
||||
@@ -1689,6 +1736,17 @@ glob@^10.3.10, glob@^10.3.7:
|
||||
minipass "^7.0.4"
|
||||
path-scurry "^1.10.2"
|
||||
|
||||
glob@^10.3.12, glob@^10.3.7:
|
||||
version "10.4.1"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2"
|
||||
integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==
|
||||
dependencies:
|
||||
foreground-child "^3.1.0"
|
||||
jackspeak "^3.1.2"
|
||||
minimatch "^9.0.4"
|
||||
minipass "^7.1.2"
|
||||
path-scurry "^1.11.1"
|
||||
|
||||
glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
||||
@@ -1724,12 +1782,10 @@ global-agent@^3.0.0:
|
||||
semver "^7.3.2"
|
||||
serialize-error "^7.0.1"
|
||||
|
||||
globals@^13.19.0:
|
||||
version "13.24.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
|
||||
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
|
||||
dependencies:
|
||||
type-fest "^0.20.2"
|
||||
globals@^14.0.0:
|
||||
version "14.0.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
|
||||
integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
|
||||
|
||||
globalthis@^1.0.1:
|
||||
version "1.0.4"
|
||||
@@ -2048,7 +2104,7 @@ isexe@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
|
||||
|
||||
jackspeak@2.1.1, jackspeak@^2.3.6:
|
||||
jackspeak@2.1.1, jackspeak@^2.3.6, jackspeak@^3.1.2:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.1.1.tgz#2a42db4cfbb7e55433c28b6f75d8b796af9669cd"
|
||||
integrity sha512-juf9stUEwUaILepraGOWIJTLwg48bUnBmRqd2ln2Os1sW987zeoj/hzhbvRB95oMuS2ZTpjULmdwHNX4rzZIZw==
|
||||
@@ -2114,7 +2170,7 @@ json-stringify-safe@^5.0.1:
|
||||
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
||||
integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
|
||||
|
||||
json5@^2.2.0:
|
||||
json5@^2.2.0, json5@^2.2.3:
|
||||
version "2.2.3"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
|
||||
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
|
||||
@@ -2135,7 +2191,7 @@ jsonfile@^6.0.1:
|
||||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
||||
keyv@^4.0.0, keyv@^4.5.3:
|
||||
keyv@^4.0.0, keyv@^4.5.4:
|
||||
version "4.5.4"
|
||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
|
||||
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
|
||||
@@ -2255,11 +2311,11 @@ merge2@^1.3.0, merge2@^1.4.1:
|
||||
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
||||
|
||||
micromatch@^4.0.4:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
|
||||
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
|
||||
version "4.0.7"
|
||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5"
|
||||
integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==
|
||||
dependencies:
|
||||
braces "^3.0.2"
|
||||
braces "^3.0.3"
|
||||
picomatch "^2.3.1"
|
||||
|
||||
mime-db@1.52.0:
|
||||
@@ -2376,10 +2432,10 @@ minipass@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
|
||||
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
|
||||
|
||||
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4:
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c"
|
||||
integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
|
||||
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4, minipass@^7.1.0, minipass@^7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707"
|
||||
integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
|
||||
|
||||
minizlib@^2.1.1, minizlib@^2.1.2:
|
||||
version "2.1.2"
|
||||
@@ -2526,17 +2582,17 @@ onetime@^5.1.0, onetime@^5.1.2:
|
||||
dependencies:
|
||||
mimic-fn "^2.1.0"
|
||||
|
||||
onnxruntime-common@1.17.3:
|
||||
version "1.17.3"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-common/-/onnxruntime-common-1.17.3.tgz#aadc456477873a540ee3d611ae9cd4f3de7c43e5"
|
||||
integrity sha512-IkbaDelNVX8cBfHFgsNADRIq2TlXMFWW+nG55mwWvQT4i0NZb32Jf35Pf6h9yjrnK78RjcnlNYaI37w394ovMw==
|
||||
onnxruntime-common@1.18.0:
|
||||
version "1.18.0"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-common/-/onnxruntime-common-1.18.0.tgz#b904dc6ff134e7f21a3eab702fac17538f59e116"
|
||||
integrity sha512-lufrSzX6QdKrktAELG5x5VkBpapbCeS3dQwrXbN0eD9rHvU0yAWl7Ztju9FvgAKWvwd/teEKJNj3OwM6eTZh3Q==
|
||||
|
||||
onnxruntime-node@^1.17:
|
||||
version "1.17.3"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-node/-/onnxruntime-node-1.17.3.tgz#53b8b7ef68bf3834bba9d7be592e4c2d718d2018"
|
||||
integrity sha512-NtbN1pfApTSEjVq46LrJ396aPP2Gjhy+oYZi5Bu1leDXAEvVap/BQ8CZELiLs7z0UnXy3xjJW23HiB4P3//FIw==
|
||||
onnxruntime-node@^1.18:
|
||||
version "1.18.0"
|
||||
resolved "https://registry.yarnpkg.com/onnxruntime-node/-/onnxruntime-node-1.18.0.tgz#ad3947365ca038ec3a16fa4c48972708ccd294e9"
|
||||
integrity sha512-iTnFcxKpmywCatx8ov4GTbECe3tJk2Bp1OA2mWRJde78q+7tpPYBhKMnwhlaoKy9oKQcy4UoEuuhoy2PSD13ww==
|
||||
dependencies:
|
||||
onnxruntime-common "1.17.3"
|
||||
onnxruntime-common "1.18.0"
|
||||
tar "^7.0.1"
|
||||
|
||||
optionator@^0.9.3:
|
||||
@@ -2648,10 +2704,10 @@ path-parse@^1.0.7:
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
|
||||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
||||
|
||||
path-scurry@^1.10.2:
|
||||
version "1.10.2"
|
||||
resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7"
|
||||
integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==
|
||||
path-scurry@^1.10.2, path-scurry@^1.11.1:
|
||||
version "1.11.1"
|
||||
resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2"
|
||||
integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==
|
||||
dependencies:
|
||||
lru-cache "^10.2.0"
|
||||
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
|
||||
@@ -2706,9 +2762,9 @@ prettier-plugin-packagejson@^2:
|
||||
synckit "0.9.0"
|
||||
|
||||
prettier@^3:
|
||||
version "3.2.5"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368"
|
||||
integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.0.tgz#d173ea0524a691d4c0b1181752f2b46724328cdf"
|
||||
integrity sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==
|
||||
|
||||
progress@^2.0.3:
|
||||
version "2.0.3"
|
||||
@@ -2770,6 +2826,18 @@ read-config-file@6.3.2:
|
||||
json5 "^2.2.0"
|
||||
lazy-val "^1.0.4"
|
||||
|
||||
read-config-file@6.4.0:
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.4.0.tgz#970542833216cccff6b1d83320495003dcf85a45"
|
||||
integrity sha512-uB5QOBeF84PT61GlV11OTV4jUGHAO3iDEOP6v9ygxhG6Bs9PLg7WsjNT6mtIX2G+x8lJTr4ZWNeG6LDTKkNf2Q==
|
||||
dependencies:
|
||||
config-file-ts "0.2.8-rc1"
|
||||
dotenv "^16.4.5"
|
||||
dotenv-expand "^11.0.6"
|
||||
js-yaml "^4.1.0"
|
||||
json5 "^2.2.3"
|
||||
lazy-val "^1.0.5"
|
||||
|
||||
readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
|
||||
@@ -2860,9 +2928,9 @@ rimraf@^3.0.2:
|
||||
glob "^7.1.3"
|
||||
|
||||
rimraf@^5.0.5:
|
||||
version "5.0.5"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf"
|
||||
integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==
|
||||
version "5.0.7"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.7.tgz#27bddf202e7d89cb2e0381656380d1734a854a74"
|
||||
integrity sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==
|
||||
dependencies:
|
||||
glob "^10.3.7"
|
||||
|
||||
@@ -2924,12 +2992,12 @@ semver@^6.2.0:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||
|
||||
semver@^7.3.2:
|
||||
semver@^7.3.2, semver@^7.6.0:
|
||||
version "7.6.2"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
|
||||
integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
|
||||
|
||||
semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.6.0:
|
||||
semver@^7.3.5, semver@^7.3.8, semver@^7.5.3:
|
||||
version "7.6.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
|
||||
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
|
||||
@@ -3169,13 +3237,13 @@ tar@^6.0.5, tar@^6.1.11, tar@^6.1.12, tar@^6.1.2:
|
||||
yallist "^4.0.0"
|
||||
|
||||
tar@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-7.0.1.tgz#8f6ccebcd91b69e9767a6fc4892799e8b0e606d5"
|
||||
integrity sha512-IjMhdQMZFpKsHEQT3woZVxBtCQY+0wk3CVxdRkGXEgyGa0dNS/ehPvOMr2nmfC7x5Zj2N+l6yZUpmICjLGS35w==
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-7.2.0.tgz#f03ae6ecd2e2bab880f2ef33450f502e761d7548"
|
||||
integrity sha512-hctwP0Nb4AB60bj8WQgRYaMOuJYRAPMGiQUAotms5igN8ppfQM+IvjQ5HcKu1MaZh2Wy2KWVTe563Yj8dfc14w==
|
||||
dependencies:
|
||||
"@isaacs/fs-minipass" "^4.0.0"
|
||||
chownr "^3.0.0"
|
||||
minipass "^5.0.0"
|
||||
minipass "^7.1.0"
|
||||
minizlib "^3.0.1"
|
||||
mkdirp "^3.0.1"
|
||||
yallist "^5.0.0"
|
||||
@@ -3251,11 +3319,6 @@ type-fest@^0.13.1:
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
|
||||
integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
|
||||
|
||||
type-fest@^0.20.2:
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
|
||||
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
|
||||
|
||||
type-fest@^2.17.0:
|
||||
version "2.19.0"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
|
||||
@@ -3266,7 +3329,16 @@ typedarray@^0.0.6:
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
|
||||
|
||||
typescript@^5, typescript@^5.3.3:
|
||||
typescript-eslint@8.0.0-alpha.10:
|
||||
version "8.0.0-alpha.10"
|
||||
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.0.0-alpha.10.tgz#2172d41ab30c8447927c3823c5a549b9c09be89f"
|
||||
integrity sha512-iMbN7boDtUmcSDor/J022+H4G018W3r3RSUUr7yoghMTmFuKVIkI89xJHDg82DBGYkA0xOoDNPBr7XfRFbEXKQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/eslint-plugin" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/parser" "8.0.0-alpha.10"
|
||||
"@typescript-eslint/utils" "8.0.0-alpha.10"
|
||||
|
||||
typescript@^5, typescript@^5.3.3, typescript@^5.4.3:
|
||||
version "5.4.5"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611"
|
||||
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
|
||||
|
||||
@@ -167,6 +167,10 @@ export const sidebar = [
|
||||
text: "From Steam",
|
||||
link: "/auth/migration-guides/steam/",
|
||||
},
|
||||
{
|
||||
text: "From others",
|
||||
link: "/auth/migration-guides/import",
|
||||
},
|
||||
{
|
||||
text: "Exporting your data",
|
||||
link: "/auth/migration-guides/export",
|
||||
|
||||
39
docs/docs/auth/migration-guides/import.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Migrating from other providers
|
||||
description:
|
||||
Guide for importing your existing 2FA tokens into Ente Auth from other
|
||||
providers
|
||||
---
|
||||
|
||||
# Migrating from other providers
|
||||
|
||||
---
|
||||
|
||||
Ente Auth natively supports imports from many 2FA providers. In addition to the
|
||||
providers specifically listed in the documentation, the supported providers are:
|
||||
|
||||
- 2FAS Authenticator
|
||||
- Aegis Authenticator
|
||||
- Bitwarden
|
||||
- Google Authenticator
|
||||
- Ravio OTP
|
||||
- LastPass
|
||||
|
||||
Details as to how codes may be imported from these providers may be found within
|
||||
the app.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Please note that this list may be out of sync, please see the app for the
|
||||
> latest set of supported providers.
|
||||
|
||||
Ente Auth also supports imports from Auth's own encrypted exports and plain text
|
||||
files. Plain text files must be in the following format:
|
||||
|
||||
`otpauth://totp/provider.com:you@email.com?secret=YOUR_SECRET`
|
||||
|
||||
The codes can be seperated by a comma or a new line.
|
||||
|
||||
So if your provider is not specifically listed, you might be still able to
|
||||
import from them by first converting the data from your old provider into these
|
||||
plaintext files and then importing those into Ente.
|
||||
@@ -8,4 +8,5 @@ description:
|
||||
|
||||
- [Migrating from Authy](authy/)
|
||||
- [Importing codes from Steam](steam/)
|
||||
- [Migrating from other apps](import)
|
||||
- [Exporting your data out of Ente Auth](export)
|
||||
|
||||
@@ -5,8 +5,6 @@ description: Guide for importing from Steam Authenticator to Ente Auth
|
||||
|
||||
# Migrating from Steam Authenticator
|
||||
|
||||
A guide written by an ente.io lover
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> Steam Authenticator code is only supported after auth-v3.0.3, check the app's
|
||||
|
||||
@@ -87,3 +87,13 @@ Yes, Ente Photos has undergone a thorough security audit conducted by Cure53, in
|
||||
collaboration with Symbolic Software. Cure53 is a prominent German cybersecurity
|
||||
firm, while Symbolic Software specializes in applied cryptography. Please find
|
||||
the full report here: https://ente.io/blog/cryptography-audit/
|
||||
|
||||
## How can I delete my account?
|
||||
|
||||
You can delete your account at any time by using the "Delete account" option in
|
||||
the settings. For security reasons, we request you to delete your account on
|
||||
your own instead of contacting support to ask them to delete your account.
|
||||
|
||||
Note that both Ente photos and Ente auth data will be deleted when you delete
|
||||
your account (irrespective of which app you delete it from) since both photos
|
||||
and auth use the same underlying account.
|
||||
|
||||
@@ -57,3 +57,48 @@ apps:
|
||||
(For more details, see
|
||||
[local.yaml](https://github.com/ente-io/ente/blob/main/server/configurations/local.yaml)
|
||||
in the server's source code).
|
||||
|
||||
## Dockerfile example
|
||||
|
||||
Here is an example of a Dockerfile by @Dylanger on our community Discord. This
|
||||
runs a standalone self-hosted version of the public albums app in production
|
||||
mode.
|
||||
|
||||
```Dockerfile
|
||||
FROM node:20-alpine as builder
|
||||
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
|
||||
ARG NEXT_PUBLIC_ENTE_ENDPOINT=https://your.ente.example.org
|
||||
ARG NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=https://your.albums.example.org
|
||||
|
||||
RUN yarn install && yarn build
|
||||
|
||||
FROM node:20-alpine
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/apps/photos/out .
|
||||
|
||||
RUN npm install -g serve
|
||||
|
||||
ENV PORT=3000
|
||||
EXPOSE ${PORT}
|
||||
|
||||
CMD serve -s . -l tcp://0.0.0.0:${PORT}
|
||||
```
|
||||
|
||||
Note that this only runs the public albums app, but the same principle can be
|
||||
used to run both the normal Ente photos app and the public albums app. There is
|
||||
a slightly more involved example showing how to do this also provided by in a
|
||||
community contributed guide about
|
||||
[configuring external S3](/self-hosting/guides/external-s3).
|
||||
|
||||
You will also want to tell museum about your custom shared albums endpoint so
|
||||
that it uses that instead of the default URL when creating share links. You can
|
||||
configure that in museum's `config.yaml`:
|
||||
|
||||
```
|
||||
apps:
|
||||
public-albums: https://your.albums.example.org
|
||||
```
|
||||
|
||||
@@ -213,6 +213,8 @@ ENTE_INTERNAL_HARDCODED-OTT_LOCAL-DOMAIN-VALUE=123456
|
||||
# it can be changed later
|
||||
ENDPOINT=http://localhost:8080
|
||||
ALBUMS_ENDPOINT=http://localhost:8082
|
||||
# This is used to generate sharable URLs
|
||||
ENTE_APPS_PUBLIC-ALBUMS=http://localhost:8082
|
||||
```
|
||||
|
||||
## 3. Run `docker-compose up`
|
||||
|
||||
@@ -41,7 +41,7 @@ NEXT_PUBLIC_ENTE_ENDPOINT=http://localhost:8080 yarn dev
|
||||
That's about it. If you open http://localhost:3000, you will be able to create
|
||||
an account on a Ente Photos web app running on your machine, and this web app
|
||||
will be connecting to the server running on your local machine at
|
||||
localhost:8080.
|
||||
`localhost:8080`.
|
||||
|
||||
For the mobile apps, you don't even need to build, and can install normal Ente
|
||||
apps and configure them to use your
|
||||
|
||||
9
infra/staff/.env
Normal file
@@ -0,0 +1,9 @@
|
||||
# This is a sample .env file. The env vars defined here can be used to configure
|
||||
# the app.
|
||||
#
|
||||
# For local development, create a new file named `.env.local` and add the
|
||||
# variables you need there instead of uncommenting them below.
|
||||
#
|
||||
# For documentation about the variables, see `src/vite-env.d.ts`.
|
||||
|
||||
# VITE_ENTE_API_ORIGIN = http://localhost:8080
|
||||
@@ -3,20 +3,17 @@ module.exports = {
|
||||
root: true,
|
||||
extends: [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/strict-type-checked",
|
||||
"plugin:@typescript-eslint/stylistic-type-checked",
|
||||
"plugin:react/recommended",
|
||||
"plugin:react-hooks/recommended",
|
||||
"plugin:react/jsx-runtime",
|
||||
],
|
||||
plugins: ["@typescript-eslint"],
|
||||
plugins: ["@typescript-eslint", "react-refresh"],
|
||||
parserOptions: { project: true },
|
||||
parser: "@typescript-eslint/parser",
|
||||
parserOptions: {
|
||||
project: true,
|
||||
},
|
||||
ignorePatterns: [".eslintrc.js", "app", "out", "dist"],
|
||||
env: {
|
||||
es2022: true,
|
||||
node: true,
|
||||
},
|
||||
ignorePatterns: [".eslintrc.cjs", "vite.config.ts", "dist"],
|
||||
settings: { react: { version: "18.2" } },
|
||||
rules: {
|
||||
/* Allow numbers to be used in template literals */
|
||||
"@typescript-eslint/restrict-template-expressions": [
|
||||
@@ -32,5 +29,9 @@ module.exports = {
|
||||
ignoreArrowShorthand: true,
|
||||
},
|
||||
],
|
||||
"react-refresh/only-export-components": [
|
||||
"warn",
|
||||
{ allowConstantExport: true },
|
||||
],
|
||||
},
|
||||
};
|
||||
17
infra/staff/.gitignore
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# Node
|
||||
node_modules/
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
# Editors
|
||||
.vscode/
|
||||
|
||||
# Local env files
|
||||
.env*.local
|
||||
|
||||
# tsc
|
||||
*.tsbuildinfo
|
||||
|
||||
# Vite
|
||||
dist
|
||||
8
infra/staff/.prettierrc.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"tabWidth": 4,
|
||||
"proseWrap": "always",
|
||||
"plugins": [
|
||||
"prettier-plugin-organize-imports",
|
||||
"prettier-plugin-packagejson"
|
||||
]
|
||||
}
|
||||
19
infra/staff/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
## Staff dashboard
|
||||
|
||||
Web app for staff members to help with support and other administration.
|
||||
|
||||
### Development
|
||||
|
||||
Use `yarn dev` to run a local dev server with hot reload.
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> See [web/docs/new.md](../../web/docs/new.md) for help in setting up your
|
||||
> editor to do the formatting and linting. You can also run the formatter and
|
||||
> linter manually using `yarn lint`, and `yarn lint-fix` to fix them. These
|
||||
> commands automatically run on every PR.
|
||||
|
||||
### Deployment
|
||||
|
||||
The app gets redeployed whenever a PR is merged into main. See
|
||||
[web/docs/deploy.md](../../web/docs/deploy.md) for more details.
|
||||
5623
infra/staff/package-lock.json
generated
Normal file
47
infra/staff/package.json
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "staff",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "tsc && vite build",
|
||||
"dev": "vite",
|
||||
"lint": "yarn prettier --check --log-level warn . && yarn eslint . && yarn tsc",
|
||||
"lint-fix": "yarn prettier --write --log-level warn . && yarn eslint --fix . && yarn tsc",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@date-io/date-fns": "^3.0.0",
|
||||
"@emotion/react": "^11.11.4",
|
||||
"@emotion/styled": "^11.11.5",
|
||||
"@mui/icons-material": "^5.16.0",
|
||||
"@mui/lab": "^5.0.0-alpha.171",
|
||||
"@mui/material": "^5.16.0",
|
||||
"@mui/x-date-pickers": "^7.9.0",
|
||||
"@types/react-datepicker": "^6.2.0",
|
||||
"date-fns": "^3.6.0",
|
||||
"react": "^18",
|
||||
"react-datepicker": "^7.3.0",
|
||||
"react-dom": "^18",
|
||||
"react-toastify": "^10.0.5",
|
||||
"zod": "^3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@types/react": "^18",
|
||||
"@types/react-dom": "^18",
|
||||
"@typescript-eslint/eslint-plugin": "^7",
|
||||
"@typescript-eslint/parser": "^7",
|
||||
"@vitejs/plugin-react": "^4.2",
|
||||
"eslint": "^8",
|
||||
"eslint-plugin-react": "^7.34",
|
||||
"eslint-plugin-react-hooks": "^4.6",
|
||||
"eslint-plugin-react-refresh": "^0.4.7",
|
||||
"prettier": "^3",
|
||||
"prettier-plugin-organize-imports": "^3.2",
|
||||
"prettier-plugin-packagejson": "^2.5",
|
||||
"typescript": "^5",
|
||||
"vite": "^5.2"
|
||||
},
|
||||
"packageManager": "yarn@1.22.21"
|
||||
}
|
||||
306
infra/staff/src/App.css
Normal file
@@ -0,0 +1,306 @@
|
||||
.container {
|
||||
position: relative; /* Ensure the parent is relatively positioned */
|
||||
height: 100vh; /* Full viewport height */
|
||||
width: 100vw; /* Full viewport width */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.center-table {
|
||||
display: table;
|
||||
}
|
||||
|
||||
.input-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.horizontal-group {
|
||||
position: absolute; /* Use absolute positioning */
|
||||
top: 32px; /* 32px below the top of the page */
|
||||
left: 32px; /* 32px from the leftmost edge of the page */
|
||||
right: 32px;
|
||||
display: flex;
|
||||
align-items: center; /* Align items vertically centered */
|
||||
gap: 20px; /* Adjust the gap between elements as needed */
|
||||
background-color: #fafafa;
|
||||
height: 104px;
|
||||
width: 1375px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.fetch-button-container button {
|
||||
background-color: #00b33c;
|
||||
color: white;
|
||||
border: none;
|
||||
width: 199px;
|
||||
height: 56px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.fetch-button-container button:hover {
|
||||
background-color: #007c6c;
|
||||
}
|
||||
|
||||
.link-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 16px; /* Add padding for better appearance */
|
||||
text-decoration: none; /* Remove underline */
|
||||
color: inherit; /* Inherit color from parent */
|
||||
font-weight: bold; /* Make the text bold */
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.text-field-token {
|
||||
margin-left: 70px !important; /* Adjust margin for Token field */
|
||||
}
|
||||
|
||||
.text-field-email {
|
||||
margin-left: 20px !important; /* Adjust margin for Email field */
|
||||
}
|
||||
.duckie-container {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
.center-content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh; /* Adjust as necessary */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.error-message {
|
||||
color: red;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
.duckie-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.container {
|
||||
position: relative; /* Ensure the parent is relatively positioned */
|
||||
height: 100vh; /* Full viewport height */
|
||||
width: 100vw; /* Full viewport width */
|
||||
display: flex;
|
||||
flex-direction: column; /* Add this */
|
||||
justify-content: center; /* Center vertically */
|
||||
align-items: center; /* Center horizontally */
|
||||
}
|
||||
|
||||
.input-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
z-index: 1; /* Ensure form is on top */
|
||||
}
|
||||
|
||||
.horizontal-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 20px; /* Adjust the gap between elements as needed */
|
||||
background-color: #fafafa;
|
||||
padding: 20px; /* Add padding around content */
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.fetch-button-container button {
|
||||
background-color: #00b33c;
|
||||
color: white;
|
||||
border: none;
|
||||
width: 199px;
|
||||
height: 56px;
|
||||
}
|
||||
|
||||
.fetch-button-container button:hover {
|
||||
background-color: #007c6c;
|
||||
}
|
||||
|
||||
.link-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 16px; /* Add padding for better appearance */
|
||||
text-decoration: none; /* Remove underline */
|
||||
color: inherit; /* Inherit color from parent */
|
||||
font-weight: bold; /* Make the text bold */
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.text-field-token {
|
||||
margin-left: 70px !important; /* Adjust margin for Token field */
|
||||
}
|
||||
|
||||
.text-field-email {
|
||||
margin-left: 50px !important; /* Adjust margin for Email field */
|
||||
}
|
||||
|
||||
.center-content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.duckie-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* Example CSS to maintain tabs fixed position */
|
||||
.tabs-container {
|
||||
position: sticky;
|
||||
top: 20px; /* Adjust as needed */
|
||||
z-index: 1000; /* Ensure tabs are above other content */
|
||||
}
|
||||
.container {
|
||||
position: relative; /* Ensure the parent is relatively positioned */
|
||||
height: 100vh; /* Full viewport height */
|
||||
width: 100vw; /* Full viewport width */
|
||||
display: flex;
|
||||
flex-direction: column; /* Ensure children stack vertically */
|
||||
justify-content: center; /* Center vertically */
|
||||
align-items: center; /* Center horizontally */
|
||||
}
|
||||
|
||||
.input-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
z-index: 1; /* Ensure form is on top */
|
||||
margin-bottom: 20px; /* Add space between form and tabs */
|
||||
}
|
||||
|
||||
.horizontal-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 20px; /* Adjust the gap between elements as needed */
|
||||
background-color: #fafafa;
|
||||
padding: 20px; /* Add padding around content */
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.fetch-button-container button {
|
||||
background-color: #00b33c;
|
||||
color: white;
|
||||
border: none;
|
||||
width: 199px;
|
||||
height: 56px;
|
||||
}
|
||||
|
||||
.fetch-button-container button:hover {
|
||||
background-color: #007c6c;
|
||||
}
|
||||
|
||||
.link-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 16px; /* Add padding for better appearance */
|
||||
text-decoration: none; /* Remove underline */
|
||||
color: inherit; /* Inherit color from parent */
|
||||
font-weight: bold; /* Make the text bold */
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.text-field-token {
|
||||
margin-left: 70px !important; /* Adjust margin for Token field */
|
||||
}
|
||||
|
||||
.text-field-email {
|
||||
margin-left: 50px !important; /* Adjust margin for Email field */
|
||||
}
|
||||
|
||||
.center-content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.duckie-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.tabs-container {
|
||||
position: sticky; /* Make the tabs sticky */
|
||||
top: 0; /* Stick to the top of the viewport */
|
||||
z-index: 1000; /* Ensure tabs are above other content */
|
||||
background-color: #fafafa; /* Optional: Add background color to tabs */
|
||||
padding: 10px 20px; /* Optional: Add padding for better appearance */
|
||||
border-bottom: 1px solid #ccc; /* Optional: Add bottom border */
|
||||
}
|
||||
.dialog-popup-container {
|
||||
/* Styles for the overlay/background */
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.dialog-popup {
|
||||
background-color: white;
|
||||
padding: 20px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.dialog-popup-header h2 {
|
||||
margin-bottom: 20px; /* Add space between heading and fields */
|
||||
}
|
||||
|
||||
.dialog-popup-field {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.dialog-popup-field label {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.dialog-popup-field input {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.submit-button {
|
||||
background-color: #4caf50; /* Green */
|
||||
color: white;
|
||||
padding: 10px 15px;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Specific styles for each field to match the image */
|
||||
.name-field input,
|
||||
.shortname-field input,
|
||||
.code-field input {
|
||||
width: calc(100% - 100px); /* Adjust as needed */
|
||||
}
|
||||
|
||||
.active-field input {
|
||||
width: 50px;
|
||||
}
|
||||
323
infra/staff/src/App.tsx
Normal file
@@ -0,0 +1,323 @@
|
||||
import Box from "@mui/material/Box";
|
||||
import Button from "@mui/material/Button";
|
||||
import CircularProgress from "@mui/material/CircularProgress";
|
||||
import Tab from "@mui/material/Tab";
|
||||
import Tabs from "@mui/material/Tabs";
|
||||
import TextField from "@mui/material/TextField";
|
||||
import * as React from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
import "./App.css";
|
||||
import type { UserData } from "./components/UserComponent";
|
||||
import UserComponent from "./components/UserComponent";
|
||||
import duckieimage from "./components/duckie.png";
|
||||
import { apiOrigin } from "./services/support";
|
||||
|
||||
// Define and export email and token variables and their setter functions
|
||||
export let email = "";
|
||||
export let token = "";
|
||||
|
||||
export const setEmail = (newEmail: string) => {
|
||||
email = newEmail;
|
||||
};
|
||||
|
||||
export const setToken = (newToken: string) => {
|
||||
token = newToken;
|
||||
};
|
||||
|
||||
export const getEmail = () => email;
|
||||
export const getToken = () => token;
|
||||
|
||||
interface User {
|
||||
ID: string;
|
||||
email: string;
|
||||
creationTime: number;
|
||||
}
|
||||
|
||||
interface Subscription {
|
||||
productID: string;
|
||||
paymentProvider: string;
|
||||
expiryTime: number;
|
||||
storage: number;
|
||||
}
|
||||
|
||||
interface Security {
|
||||
isEmailMFAEnabled: boolean;
|
||||
isTwoFactorEnabled: boolean;
|
||||
passkeys: string; // Replace with actual passkey value if available
|
||||
}
|
||||
|
||||
interface UserResponse {
|
||||
user: User;
|
||||
subscription: Subscription;
|
||||
details?: {
|
||||
usage?: number;
|
||||
storageBonus?: number;
|
||||
profileData: Security;
|
||||
};
|
||||
}
|
||||
|
||||
const App: React.FC = () => {
|
||||
const [localEmail, setLocalEmail] = useState<string>(getEmail());
|
||||
const [localToken, setLocalToken] = useState<string>(getToken());
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const [error, setError] = useState<string>("");
|
||||
const [fetchSuccess, setFetchSuccess] = useState<boolean>(false);
|
||||
const [tabValue, setTabValue] = useState<number>(0);
|
||||
const [userData, setUserData] = useState<UserData | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const storedToken = localStorage.getItem("token");
|
||||
if (storedToken) {
|
||||
setToken(storedToken);
|
||||
setLocalToken(storedToken);
|
||||
}
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (localToken) {
|
||||
setToken(localToken);
|
||||
localStorage.setItem("token", localToken);
|
||||
} else {
|
||||
localStorage.removeItem("token");
|
||||
}
|
||||
}, [localToken]);
|
||||
|
||||
useEffect(() => {
|
||||
if (localEmail) {
|
||||
setEmail(localEmail);
|
||||
localStorage.setItem("email", localEmail);
|
||||
} else {
|
||||
localStorage.removeItem("email");
|
||||
}
|
||||
}, [localEmail]);
|
||||
|
||||
const fetchData = async () => {
|
||||
setLoading(true);
|
||||
setError("");
|
||||
setFetchSuccess(false);
|
||||
const startTime = Date.now();
|
||||
try {
|
||||
const encodedEmail = encodeURIComponent(localEmail);
|
||||
const encodedToken = encodeURIComponent(localToken);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
console.log(`Fetching data from URL: ${url}`);
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
const userDataResponse: UserResponse =
|
||||
(await response.json()) as UserResponse;
|
||||
console.log("API Response:", userDataResponse);
|
||||
|
||||
const extractedUserData: UserData = {
|
||||
User: {
|
||||
"User ID": userDataResponse.user.ID || "None",
|
||||
Email: userDataResponse.user.email || "None",
|
||||
"Creation time":
|
||||
new Date(
|
||||
userDataResponse.user.creationTime / 1000,
|
||||
).toLocaleString() || "None",
|
||||
},
|
||||
Storage: {
|
||||
Total: userDataResponse.subscription.storage
|
||||
? userDataResponse.subscription.storage >= 1024 ** 3
|
||||
? `${(userDataResponse.subscription.storage / 1024 ** 3).toFixed(2)} GB`
|
||||
: `${(userDataResponse.subscription.storage / 1024 ** 2).toFixed(2)} MB`
|
||||
: "None",
|
||||
Consumed:
|
||||
userDataResponse.details?.usage !== undefined
|
||||
? userDataResponse.details.usage >= 1024 ** 3
|
||||
? `${(userDataResponse.details.usage / 1024 ** 3).toFixed(2)} GB`
|
||||
: `${(userDataResponse.details.usage / 1024 ** 2).toFixed(2)} MB`
|
||||
: "None",
|
||||
Bonus:
|
||||
userDataResponse.details?.storageBonus !== undefined
|
||||
? userDataResponse.details.storageBonus >= 1024 ** 3
|
||||
? `${(userDataResponse.details.storageBonus / 1024 ** 3).toFixed(2)} GB`
|
||||
: `${(userDataResponse.details.storageBonus / 1024 ** 2).toFixed(2)} MB`
|
||||
: "None",
|
||||
},
|
||||
Subscription: {
|
||||
"Product ID":
|
||||
userDataResponse.subscription.productID || "None",
|
||||
Provider:
|
||||
userDataResponse.subscription.paymentProvider || "None",
|
||||
"Expiry time":
|
||||
new Date(
|
||||
userDataResponse.subscription.expiryTime / 1000,
|
||||
).toLocaleString() || "None",
|
||||
},
|
||||
Security: {
|
||||
"Email MFA": userDataResponse.details?.profileData
|
||||
.isEmailMFAEnabled
|
||||
? "Enabled"
|
||||
: "Disabled",
|
||||
"Two factor 2FA": userDataResponse.details?.profileData
|
||||
.isTwoFactorEnabled
|
||||
? "Enabled"
|
||||
: "Disabled",
|
||||
Passkeys: "None", // Replace with actual passkey value if available
|
||||
},
|
||||
};
|
||||
|
||||
const elapsedTime = Date.now() - startTime;
|
||||
const delay = Math.max(3000 - elapsedTime, 0);
|
||||
setTimeout(() => {
|
||||
setLoading(false);
|
||||
setFetchSuccess(true);
|
||||
setUserData(extractedUserData);
|
||||
}, delay);
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
const elapsedTime = Date.now() - startTime;
|
||||
const delay = Math.max(3000 - elapsedTime, 0);
|
||||
setTimeout(() => {
|
||||
setLoading(false);
|
||||
setError("Invalid token or email id");
|
||||
}, delay);
|
||||
}
|
||||
};
|
||||
|
||||
const handleKeyPress = (event: React.KeyboardEvent<HTMLFormElement>) => {
|
||||
if (event.key === "Enter") {
|
||||
event.preventDefault();
|
||||
fetchData().catch((error: unknown) =>
|
||||
console.error("Fetch data error:", error),
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
const handleTabChange = (
|
||||
_event: React.SyntheticEvent,
|
||||
newValue: number,
|
||||
) => {
|
||||
setTabValue(newValue);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="container center-table">
|
||||
<form className="input-form" onKeyPress={handleKeyPress}>
|
||||
<div className="horizontal-group">
|
||||
<a
|
||||
href="https://staff.ente.sh"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="link-text"
|
||||
>
|
||||
staff.ente.sh
|
||||
</a>
|
||||
|
||||
<TextField
|
||||
label="Token"
|
||||
value={localToken}
|
||||
onChange={(e) => {
|
||||
setLocalToken(e.target.value);
|
||||
setToken(e.target.value);
|
||||
}}
|
||||
size="medium"
|
||||
className="text-field-token"
|
||||
style={{ width: "350px" }}
|
||||
/>
|
||||
<TextField
|
||||
label="Email"
|
||||
value={localEmail}
|
||||
onChange={(e) => {
|
||||
setLocalEmail(e.target.value);
|
||||
setEmail(e.target.value);
|
||||
}}
|
||||
size="medium"
|
||||
className="text-field-email"
|
||||
style={{ width: "350px" }}
|
||||
/>
|
||||
<div className="fetch-button-container">
|
||||
<Button
|
||||
variant="contained"
|
||||
onClick={() => {
|
||||
fetchData().catch((error: unknown) =>
|
||||
console.error("Fetch data error:", error),
|
||||
);
|
||||
}}
|
||||
className="fetch-button"
|
||||
style={{
|
||||
padding: "0 16px",
|
||||
}}
|
||||
>
|
||||
FETCH
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div className="content-container">
|
||||
{loading ? (
|
||||
<CircularProgress sx={{ color: "black" }} />
|
||||
) : error ? (
|
||||
<div className="error-message">{error}</div>
|
||||
) : fetchSuccess ? (
|
||||
<>
|
||||
<Box
|
||||
sx={{
|
||||
width: "100%",
|
||||
maxWidth: "600px",
|
||||
bgcolor: "#FAFAFA",
|
||||
marginTop: "300px",
|
||||
borderRadius: "7px",
|
||||
position: "relative",
|
||||
zIndex: 1000,
|
||||
}}
|
||||
>
|
||||
<Tabs
|
||||
value={tabValue}
|
||||
onChange={handleTabChange}
|
||||
centered
|
||||
sx={{
|
||||
"& .MuiTabs-indicator": {
|
||||
backgroundColor: "#00B33C",
|
||||
height: "5px",
|
||||
borderRadius: "20px",
|
||||
},
|
||||
"& .MuiTab-root": {
|
||||
textTransform: "none",
|
||||
},
|
||||
"& .Mui-selected": {
|
||||
color: "black !important",
|
||||
},
|
||||
"& .MuiTab-root.Mui-selected": {
|
||||
color: "black !important",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Tab label="User" />
|
||||
<Tab label="Family" />
|
||||
<Tab label="Bonuses" />
|
||||
</Tabs>
|
||||
</Box>
|
||||
<Box
|
||||
sx={{
|
||||
width: "100%",
|
||||
maxWidth: "600px",
|
||||
mt: 4,
|
||||
minHeight: "400px",
|
||||
}}
|
||||
>
|
||||
{tabValue === 0 && (
|
||||
<UserComponent userData={userData} />
|
||||
)}
|
||||
{tabValue === 1 && <div>Family tab content</div>}
|
||||
{tabValue === 2 && <div>Bonuses tab content</div>}
|
||||
</Box>
|
||||
</>
|
||||
) : (
|
||||
<div className="duckie-container">
|
||||
<img
|
||||
src={duckieimage}
|
||||
alt="Duckie"
|
||||
className="duckie-image"
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default App;
|
||||
192
infra/staff/src/components/ChangeEmail.tsx
Normal file
@@ -0,0 +1,192 @@
|
||||
import CloseIcon from "@mui/icons-material/Close";
|
||||
import {
|
||||
Button,
|
||||
Dialog,
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
DialogTitle,
|
||||
TextField,
|
||||
} from "@mui/material";
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { getEmail, getToken } from "../App";
|
||||
import { apiOrigin } from "../services/support";
|
||||
interface ErrorResponse {
|
||||
message: string;
|
||||
}
|
||||
|
||||
interface ChangeEmailProps {
|
||||
open: boolean;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
interface UserDataResponse {
|
||||
subscription: {
|
||||
userID: string;
|
||||
} | null;
|
||||
}
|
||||
|
||||
const ChangeEmail: React.FC<ChangeEmailProps> = ({ open, onClose }) => {
|
||||
const [newEmail, setNewEmail] = useState<string>("");
|
||||
const [userID, setUserID] = useState<string>("");
|
||||
|
||||
useEffect(() => {
|
||||
const fetchUserID = async () => {
|
||||
const token = getToken();
|
||||
const email = getEmail();
|
||||
setNewEmail(email); // Set initial email state
|
||||
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-AUTH-TOKEN": token,
|
||||
},
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
|
||||
const data = (await response.json()) as UserDataResponse;
|
||||
if (data.subscription) {
|
||||
setUserID(data.subscription.userID); // Update userID state
|
||||
} else {
|
||||
throw new Error("Subscription data not found");
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error fetching user ID:", error);
|
||||
}
|
||||
};
|
||||
|
||||
if (open) {
|
||||
fetchUserID().catch((error: unknown) =>
|
||||
console.error("Error in fetchUserID:", error),
|
||||
);
|
||||
}
|
||||
}, [open]);
|
||||
|
||||
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setNewEmail(event.target.value); // Update newEmail state on input change
|
||||
};
|
||||
|
||||
const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {
|
||||
event.preventDefault();
|
||||
|
||||
const token = getToken();
|
||||
const url = `${apiOrigin}/admin/user/change-email?token=${token}`;
|
||||
|
||||
const body = {
|
||||
userID,
|
||||
email: newEmail,
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "PUT",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-AUTH-TOKEN": token,
|
||||
},
|
||||
body: JSON.stringify(body),
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
let errorData;
|
||||
try {
|
||||
errorData = (await response.json()) as ErrorResponse;
|
||||
} catch (error) {
|
||||
console.error("Error parsing error response:", error);
|
||||
}
|
||||
throw new Error(
|
||||
errorData?.message ?? "Network response was not ok",
|
||||
);
|
||||
}
|
||||
|
||||
console.log("Email updated successfully");
|
||||
onClose();
|
||||
} catch (error) {
|
||||
console.error("Error updating email:", error);
|
||||
}
|
||||
};
|
||||
const handleSubmitSync: React.FormEventHandler<HTMLFormElement> = (
|
||||
event,
|
||||
) => {
|
||||
handleSubmit(event).catch((error: unknown) => {
|
||||
console.error("Error in handleSubmit:", error);
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
open={open}
|
||||
onClose={onClose}
|
||||
BackdropProps={{
|
||||
style: {
|
||||
backdropFilter: "blur(5px)",
|
||||
backgroundColor: "rgba(255, 255, 255, 0.8)",
|
||||
},
|
||||
}}
|
||||
PaperProps={{
|
||||
style: {
|
||||
width: "444px",
|
||||
height: "300px",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<DialogTitle style={{ marginBottom: "20px", marginTop: "20px" }}>
|
||||
Change Email
|
||||
<Button
|
||||
onClick={onClose}
|
||||
style={{ position: "absolute", right: 10, top: 10 }}
|
||||
>
|
||||
<CloseIcon style={{ color: "black" }} />
|
||||
</Button>
|
||||
</DialogTitle>
|
||||
<DialogContent>
|
||||
<form onSubmit={handleSubmitSync}>
|
||||
<div style={{ marginBottom: "16px" }}>
|
||||
<label
|
||||
htmlFor="newEmail"
|
||||
style={{
|
||||
textAlign: "left",
|
||||
display: "block",
|
||||
marginBottom: "4px",
|
||||
}}
|
||||
>
|
||||
Email
|
||||
</label>
|
||||
<TextField
|
||||
id="newEmail"
|
||||
name="newEmail"
|
||||
value={newEmail}
|
||||
onChange={handleChange}
|
||||
fullWidth
|
||||
/>
|
||||
</div>
|
||||
|
||||
<DialogActions
|
||||
style={{ justifyContent: "center", marginTop: "40px" }}
|
||||
>
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
style={{
|
||||
backgroundColor: "#00B33C",
|
||||
color: "white",
|
||||
}}
|
||||
>
|
||||
Change Email
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</form>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
);
|
||||
};
|
||||
|
||||
export default ChangeEmail;
|
||||
100
infra/staff/src/components/DeleteAccont.tsx
Normal file
@@ -0,0 +1,100 @@
|
||||
import {
|
||||
Button,
|
||||
Dialog,
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
DialogContentText,
|
||||
DialogTitle,
|
||||
Paper,
|
||||
} from "@mui/material";
|
||||
import React from "react";
|
||||
import { getEmail, getToken } from "../App"; // Import getEmail and getToken functions
|
||||
import { apiOrigin } from "../services/support";
|
||||
|
||||
interface DeleteAccountProps {
|
||||
open: boolean;
|
||||
handleClose: () => void;
|
||||
}
|
||||
|
||||
const DeleteAccount: React.FC<DeleteAccountProps> = ({ open, handleClose }) => {
|
||||
const handleDelete = async () => {
|
||||
try {
|
||||
const encodedEmail = encodeURIComponent(getEmail());
|
||||
console.log(encodedEmail);
|
||||
const encodedToken = encodeURIComponent(getToken());
|
||||
console.log(encodedToken);
|
||||
const deleteUrl = `${apiOrigin}/admin/user/delete?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const response = await fetch(deleteUrl, { method: "DELETE" });
|
||||
if (!response.ok) {
|
||||
throw new Error("Failed to delete user account");
|
||||
}
|
||||
handleClose(); // Close dialog on successful delete
|
||||
console.log("Account deleted successfully");
|
||||
} catch (error) {
|
||||
console.error("Error deleting user account:", error);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Dialog
|
||||
open={open}
|
||||
onClose={handleClose}
|
||||
aria-labelledby="alert-dialog-title"
|
||||
aria-describedby="alert-dialog-description"
|
||||
PaperComponent={Paper}
|
||||
sx={{
|
||||
width: "499px",
|
||||
height: "286px",
|
||||
margin: "auto",
|
||||
display: "flex",
|
||||
flexDirection: "column",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
BackdropProps={{
|
||||
style: {
|
||||
backgroundColor: "rgba(255, 255, 255, 0.9)", // Semi-transparent backdrop
|
||||
},
|
||||
}}
|
||||
>
|
||||
<DialogTitle id="alert-dialog-title">
|
||||
{"Delete Account?"}
|
||||
</DialogTitle>
|
||||
<DialogContent>
|
||||
<DialogContentText id="alert-dialog-description">
|
||||
Are you sure you want to delete the account?
|
||||
</DialogContentText>
|
||||
</DialogContent>
|
||||
<DialogActions sx={{ justifyContent: "center" }}>
|
||||
<Button
|
||||
onClick={handleClose}
|
||||
sx={{
|
||||
bgcolor: "white",
|
||||
color: "black",
|
||||
"&:hover": { bgcolor: "#FAFAFA" },
|
||||
}}
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button
|
||||
onClick={() => {
|
||||
handleDelete().catch((error: unknown) =>
|
||||
console.error("Fetch data error:", error),
|
||||
);
|
||||
}}
|
||||
sx={{
|
||||
bgcolor: "#F4473D",
|
||||
color: "white",
|
||||
"&:hover": { bgcolor: "#E53935" },
|
||||
}}
|
||||
>
|
||||
Delete{" "}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DeleteAccount;
|
||||
156
infra/staff/src/components/Disable2FA.tsx
Normal file
@@ -0,0 +1,156 @@
|
||||
import {
|
||||
Button,
|
||||
Dialog,
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
DialogContentText,
|
||||
DialogTitle,
|
||||
Paper,
|
||||
} from "@mui/material";
|
||||
import React, { useState } from "react";
|
||||
import { getEmail, getToken } from "../App"; // Import getEmail and getToken functions
|
||||
import { apiOrigin } from "../services/support";
|
||||
|
||||
interface UserData {
|
||||
subscription?: {
|
||||
userID: string;
|
||||
// Add other properties as per your API response structure
|
||||
};
|
||||
// Add other properties as per your API response structure
|
||||
}
|
||||
|
||||
interface Disable2FAProps {
|
||||
open: boolean;
|
||||
handleClose: () => void;
|
||||
handleDisable2FA: () => void; // Callback to handle 2FA disablement
|
||||
}
|
||||
|
||||
const Disable2FA: React.FC<Disable2FAProps> = ({
|
||||
open,
|
||||
handleClose,
|
||||
handleDisable2FA,
|
||||
}) => {
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
const handleDisable = async () => {
|
||||
try {
|
||||
setLoading(true);
|
||||
const email = getEmail();
|
||||
const token = getToken();
|
||||
|
||||
if (!email) {
|
||||
throw new Error("Email not found");
|
||||
}
|
||||
|
||||
if (!token) {
|
||||
throw new Error("Token not found");
|
||||
}
|
||||
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
|
||||
// Fetch user data
|
||||
const userUrl = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
const userResponse = await fetch(userUrl);
|
||||
if (!userResponse.ok) {
|
||||
throw new Error("Failed to fetch user data");
|
||||
}
|
||||
const userData = (await userResponse.json()) as UserData;
|
||||
const userId = userData.subscription?.userID;
|
||||
|
||||
if (!userId) {
|
||||
throw new Error("User ID not found");
|
||||
}
|
||||
|
||||
// Disable 2FA
|
||||
const disableUrl = `${apiOrigin}/admin/user/disable-2fa?token=${encodedToken}`;
|
||||
const body = JSON.stringify({ userId });
|
||||
const disableResponse = await fetch(disableUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: body,
|
||||
});
|
||||
|
||||
if (!disableResponse.ok) {
|
||||
const errorResponse = await disableResponse.text();
|
||||
throw new Error(`Failed to disable 2FA: ${errorResponse}`);
|
||||
}
|
||||
|
||||
handleDisable2FA(); // Notify parent component of successful disable
|
||||
handleClose(); // Close dialog on successful disable
|
||||
console.log("2FA disabled successfully");
|
||||
} catch (error) {
|
||||
console.error("Error disabling 2FA:", error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
const handleCancel = () => {
|
||||
handleClose(); // Close dialog
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Dialog
|
||||
open={open}
|
||||
onClose={handleClose}
|
||||
aria-labelledby="alert-dialog-title"
|
||||
aria-describedby="alert-dialog-description"
|
||||
PaperComponent={Paper}
|
||||
sx={{
|
||||
width: "499px",
|
||||
height: "286px",
|
||||
margin: "auto",
|
||||
display: "flex",
|
||||
flexDirection: "column",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
BackdropProps={{
|
||||
style: {
|
||||
backgroundColor: "rgba(255, 255, 255, 0.9)", // Semi-transparent backdrop
|
||||
},
|
||||
}}
|
||||
>
|
||||
<DialogTitle id="alert-dialog-title">
|
||||
{"Disable 2FA?"}
|
||||
</DialogTitle>
|
||||
<DialogContent>
|
||||
<DialogContentText id="alert-dialog-description">
|
||||
Are you sure you want to disable 2FA for this account?
|
||||
</DialogContentText>
|
||||
</DialogContent>
|
||||
<DialogActions sx={{ justifyContent: "center" }}>
|
||||
<Button
|
||||
onClick={handleCancel}
|
||||
sx={{
|
||||
bgcolor: "white",
|
||||
color: "black",
|
||||
"&:hover": { bgcolor: "#FAFAFA" },
|
||||
}}
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button
|
||||
onClick={() => {
|
||||
handleDisable().catch((error: unknown) =>
|
||||
console.error(error),
|
||||
);
|
||||
}}
|
||||
sx={{
|
||||
bgcolor: "#F4473D",
|
||||
color: "white",
|
||||
"&:hover": { bgcolor: "#E53935" },
|
||||
}}
|
||||
disabled={loading}
|
||||
>
|
||||
{loading ? "Disabling..." : "Disable"}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Disable2FA;
|
||||
367
infra/staff/src/components/UpdateSubscription.tsx
Normal file
@@ -0,0 +1,367 @@
|
||||
import CalendarTodayIcon from "@mui/icons-material/CalendarToday";
|
||||
import CloseIcon from "@mui/icons-material/Close";
|
||||
import Button from "@mui/material/Button";
|
||||
import Dialog from "@mui/material/Dialog";
|
||||
import DialogActions from "@mui/material/DialogActions";
|
||||
import DialogContent from "@mui/material/DialogContent";
|
||||
import DialogTitle from "@mui/material/DialogTitle";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import InputAdornment from "@mui/material/InputAdornment";
|
||||
import MenuItem from "@mui/material/MenuItem";
|
||||
import Select, { type SelectChangeEvent } from "@mui/material/Select";
|
||||
import TextField from "@mui/material/TextField";
|
||||
import React, { useEffect, useState } from "react";
|
||||
import DatePicker from "react-datepicker";
|
||||
import "react-datepicker/dist/react-datepicker.css";
|
||||
import { getEmail, getToken } from "../App";
|
||||
import { apiOrigin } from "../services/support";
|
||||
interface Subscription {
|
||||
productID: string;
|
||||
paymentProvider: string;
|
||||
storage: number;
|
||||
originalTransactionID: string;
|
||||
expiryTime: number;
|
||||
userID: string;
|
||||
}
|
||||
|
||||
interface UserDataResponse {
|
||||
subscription: Subscription | null;
|
||||
}
|
||||
|
||||
interface UpdateSubscriptionProps {
|
||||
open: boolean;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
interface FormValues {
|
||||
productId: string;
|
||||
provider: string;
|
||||
storage: number;
|
||||
transactionId: string;
|
||||
expiryTime: string | Date | null;
|
||||
userId: string;
|
||||
}
|
||||
|
||||
const UpdateSubscription: React.FC<UpdateSubscriptionProps> = ({
|
||||
open,
|
||||
onClose,
|
||||
}) => {
|
||||
const [values, setValues] = useState<FormValues>({
|
||||
productId: "",
|
||||
provider: "",
|
||||
storage: 0,
|
||||
transactionId: "",
|
||||
expiryTime: "",
|
||||
userId: "",
|
||||
});
|
||||
|
||||
const [isDatePickerOpen, setIsDatePickerOpen] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
try {
|
||||
const email = getEmail();
|
||||
const token = getToken();
|
||||
const encodedEmail = encodeURIComponent(email);
|
||||
const encodedToken = encodeURIComponent(token);
|
||||
const url = `${apiOrigin}/admin/user?email=${encodedEmail}&token=${encodedToken}`;
|
||||
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
const userDataResponse =
|
||||
(await response.json()) as UserDataResponse;
|
||||
|
||||
if (!userDataResponse.subscription) {
|
||||
throw new Error("Subscription data not found");
|
||||
}
|
||||
|
||||
const expiryTime = new Date(
|
||||
userDataResponse.subscription.expiryTime / 1000,
|
||||
);
|
||||
|
||||
setValues({
|
||||
productId: userDataResponse.subscription.productID || "",
|
||||
provider:
|
||||
userDataResponse.subscription.paymentProvider || "",
|
||||
storage:
|
||||
userDataResponse.subscription.storage /
|
||||
(1024 * 1024 * 1024) || 0,
|
||||
transactionId:
|
||||
userDataResponse.subscription.originalTransactionID ||
|
||||
"",
|
||||
expiryTime: expiryTime,
|
||||
userId: userDataResponse.subscription.userID || "",
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
}
|
||||
};
|
||||
|
||||
fetchData().catch((error: unknown) => {
|
||||
console.error("Unhandled promise rejection:", error);
|
||||
});
|
||||
}, []);
|
||||
|
||||
const handleCalendarClick = () => {
|
||||
setIsDatePickerOpen(true);
|
||||
};
|
||||
|
||||
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
const { name, value } = event.target;
|
||||
setValues({
|
||||
...values,
|
||||
[name]: name === "storage" ? parseInt(value, 10) : value,
|
||||
});
|
||||
};
|
||||
|
||||
const handleChangeProvider = (event: SelectChangeEvent) => {
|
||||
const { name, value } = event.target;
|
||||
|
||||
if (name) {
|
||||
setValues({
|
||||
...values,
|
||||
[name]: value,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const handleDatePickerChange = (date: Date | null) => {
|
||||
setValues({
|
||||
...values,
|
||||
expiryTime: date,
|
||||
});
|
||||
setIsDatePickerOpen(false);
|
||||
};
|
||||
|
||||
const handleSubmit = (event: React.FormEvent<HTMLFormElement>) => {
|
||||
event.preventDefault();
|
||||
(async () => {
|
||||
const token = getToken();
|
||||
const url = `${apiOrigin}/admin/user/subscription`;
|
||||
|
||||
let expiryTime = null;
|
||||
if (values.expiryTime instanceof Date) {
|
||||
const utcExpiryTime = new Date(values.expiryTime);
|
||||
expiryTime = utcExpiryTime.getTime() * 1000;
|
||||
}
|
||||
|
||||
const body = {
|
||||
userId: values.userId,
|
||||
storage: values.storage * (1024 * 1024 * 1024),
|
||||
expiryTime: expiryTime,
|
||||
productId: values.productId,
|
||||
paymentProvider: values.provider,
|
||||
transactionId: values.transactionId,
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "PUT",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-AUTH-TOKEN": token,
|
||||
},
|
||||
body: JSON.stringify(body),
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
console.log("Subscription updated successfully");
|
||||
onClose();
|
||||
} catch (error) {
|
||||
console.error("Error updating subscription:", error);
|
||||
}
|
||||
})().catch((error: unknown) => {
|
||||
console.error("Unhandled promise rejection:", error);
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
open={open}
|
||||
onClose={onClose}
|
||||
BackdropProps={{
|
||||
style: {
|
||||
backdropFilter: "blur(5px)",
|
||||
backgroundColor: "rgba(255, 255, 255, 0.8)",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<DialogTitle style={{ marginBottom: "20px", marginTop: "20px" }}>
|
||||
Update Subscription
|
||||
<Button
|
||||
onClick={onClose}
|
||||
style={{ position: "absolute", right: 10, top: 10 }}
|
||||
>
|
||||
<CloseIcon style={{ color: "black" }} />
|
||||
</Button>
|
||||
</DialogTitle>
|
||||
<DialogContent>
|
||||
<form onSubmit={handleSubmit}>
|
||||
<Grid container spacing={4}>
|
||||
<Grid item xs={6}>
|
||||
<div style={{ marginBottom: "8px" }}>
|
||||
<label
|
||||
htmlFor="productId"
|
||||
style={{
|
||||
textAlign: "left",
|
||||
display: "block",
|
||||
marginBottom: "4px",
|
||||
}}
|
||||
>
|
||||
Product ID
|
||||
</label>
|
||||
<TextField
|
||||
id="productId"
|
||||
name="productId"
|
||||
value={values.productId}
|
||||
onChange={handleChange}
|
||||
fullWidth
|
||||
/>
|
||||
</div>
|
||||
</Grid>
|
||||
<Grid item xs={6}>
|
||||
<div style={{ marginBottom: "8px" }}>
|
||||
<label
|
||||
htmlFor="provider"
|
||||
style={{
|
||||
textAlign: "left",
|
||||
display: "block",
|
||||
marginBottom: "4px",
|
||||
}}
|
||||
>
|
||||
Provider
|
||||
</label>
|
||||
<Select
|
||||
id="provider"
|
||||
name="provider"
|
||||
value={values.provider}
|
||||
onChange={handleChangeProvider}
|
||||
fullWidth
|
||||
style={{ textAlign: "left" }}
|
||||
>
|
||||
<MenuItem value="stripe">Stripe</MenuItem>
|
||||
<MenuItem value="paypal">PayPal</MenuItem>
|
||||
<MenuItem value="bitpay">BitPay</MenuItem>
|
||||
</Select>
|
||||
</div>
|
||||
</Grid>
|
||||
<Grid item xs={6}>
|
||||
<div style={{ marginBottom: "8px" }}>
|
||||
<label
|
||||
htmlFor="storage"
|
||||
style={{
|
||||
textAlign: "left",
|
||||
display: "block",
|
||||
marginBottom: "4px",
|
||||
}}
|
||||
>
|
||||
Storage (GB)
|
||||
</label>
|
||||
<TextField
|
||||
id="storage"
|
||||
name="storage"
|
||||
type="number"
|
||||
value={values.storage}
|
||||
onChange={handleChange}
|
||||
fullWidth
|
||||
/>
|
||||
</div>
|
||||
</Grid>
|
||||
<Grid item xs={6}>
|
||||
<div style={{ marginBottom: "8px" }}>
|
||||
<label
|
||||
htmlFor="transactionId"
|
||||
style={{
|
||||
textAlign: "left",
|
||||
display: "block",
|
||||
marginBottom: "4px",
|
||||
}}
|
||||
>
|
||||
Transaction ID
|
||||
</label>
|
||||
<TextField
|
||||
id="transactionId"
|
||||
name="transactionId"
|
||||
value={values.transactionId}
|
||||
onChange={handleChange}
|
||||
fullWidth
|
||||
/>
|
||||
</div>
|
||||
</Grid>
|
||||
<Grid item xs={6}>
|
||||
<div style={{ marginBottom: "8px" }}>
|
||||
<label
|
||||
htmlFor="expiryTime"
|
||||
style={{
|
||||
textAlign: "left",
|
||||
display: "block",
|
||||
marginBottom: "4px",
|
||||
}}
|
||||
>
|
||||
Expiry Time
|
||||
</label>
|
||||
<TextField
|
||||
id="expiryTime"
|
||||
name="expiryTime"
|
||||
value={
|
||||
values.expiryTime instanceof Date
|
||||
? values.expiryTime.toLocaleDateString(
|
||||
"en-GB",
|
||||
)
|
||||
: ""
|
||||
}
|
||||
onClick={handleCalendarClick}
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<CalendarTodayIcon />
|
||||
</InputAdornment>
|
||||
),
|
||||
readOnly: true,
|
||||
}}
|
||||
fullWidth
|
||||
/>
|
||||
{isDatePickerOpen && (
|
||||
<DatePicker
|
||||
showYearDropdown
|
||||
scrollableYearDropdown
|
||||
yearDropdownItemNumber={15}
|
||||
selected={
|
||||
values.expiryTime instanceof Date
|
||||
? values.expiryTime
|
||||
: null
|
||||
}
|
||||
onChange={handleDatePickerChange}
|
||||
onClickOutside={() =>
|
||||
setIsDatePickerOpen(false)
|
||||
}
|
||||
withPortal
|
||||
inline
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<DialogActions style={{ justifyContent: "center" }}>
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
style={{
|
||||
backgroundColor: "#00B33C",
|
||||
color: "white",
|
||||
}}
|
||||
>
|
||||
Update
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</form>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
);
|
||||
};
|
||||
|
||||
export default UpdateSubscription;
|
||||
335
infra/staff/src/components/UserComponent.tsx
Normal file
@@ -0,0 +1,335 @@
|
||||
import DeleteIcon from "@mui/icons-material/Delete";
|
||||
import EditIcon from "@mui/icons-material/Edit";
|
||||
import Box from "@mui/material/Box";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import IconButton from "@mui/material/IconButton";
|
||||
import Paper from "@mui/material/Paper";
|
||||
import Switch from "@mui/material/Switch";
|
||||
import Table from "@mui/material/Table";
|
||||
import TableBody from "@mui/material/TableBody";
|
||||
import TableCell from "@mui/material/TableCell";
|
||||
import TableContainer from "@mui/material/TableContainer";
|
||||
import TableRow from "@mui/material/TableRow";
|
||||
import Typography from "@mui/material/Typography";
|
||||
import * as React from "react";
|
||||
import ChangeEmail from "./ChangeEmail";
|
||||
import DeleteAccount from "./DeleteAccont";
|
||||
import Disable2FA from "./Disable2FA";
|
||||
import UpdateSubscription from "./UpdateSubscription";
|
||||
|
||||
export interface UserData {
|
||||
User: Record<string, string>;
|
||||
Storage: Record<string, string>;
|
||||
Subscription: Record<string, string>;
|
||||
Security: Record<string, string>;
|
||||
}
|
||||
|
||||
interface UserComponentProps {
|
||||
userData: UserData | null;
|
||||
}
|
||||
|
||||
const UserComponent: React.FC<UserComponentProps> = ({ userData }) => {
|
||||
const [deleteAccountOpen, setDeleteAccountOpen] = React.useState(false);
|
||||
const [disable2FAOpen, setDisable2FAOpen] = React.useState(false);
|
||||
const [twoFactorEnabled, setTwoFactorEnabled] = React.useState(false);
|
||||
const [is2FADisabled, setIs2FADisabled] = React.useState(false);
|
||||
const [updateSubscriptionOpen, setUpdateSubscriptionOpen] =
|
||||
React.useState(false);
|
||||
const [changeEmailOpen, setChangeEmailOpen] = React.useState(false); // State for ChangeEmail dialog
|
||||
|
||||
React.useEffect(() => {
|
||||
if (userData?.Security["Two factor 2FA"] === "Enabled") {
|
||||
setTwoFactorEnabled(true);
|
||||
} else {
|
||||
setTwoFactorEnabled(false);
|
||||
}
|
||||
}, [userData]);
|
||||
|
||||
const handleEditEmail = () => {
|
||||
console.log("Edit Email clicked");
|
||||
setChangeEmailOpen(true);
|
||||
};
|
||||
|
||||
const handleCloseChangeEmail = () => {
|
||||
setChangeEmailOpen(false); // Close ChangeEmail dialog
|
||||
};
|
||||
|
||||
const handleDeleteAccountClick = () => {
|
||||
setDeleteAccountOpen(true);
|
||||
};
|
||||
|
||||
const handleCloseDeleteAccount = () => {
|
||||
setDeleteAccountOpen(false);
|
||||
};
|
||||
|
||||
const handleOpenDisable2FA = () => {
|
||||
setDisable2FAOpen(true);
|
||||
};
|
||||
|
||||
const handleCloseDisable2FA = () => {
|
||||
setDisable2FAOpen(false);
|
||||
};
|
||||
|
||||
const handleDisable2FA = () => {
|
||||
setIs2FADisabled(true);
|
||||
};
|
||||
|
||||
const handleCancelDisable2FA = () => {
|
||||
setTwoFactorEnabled(true);
|
||||
handleCloseDisable2FA();
|
||||
};
|
||||
|
||||
const handleEditSubscription = () => {
|
||||
setUpdateSubscriptionOpen(true);
|
||||
};
|
||||
|
||||
const handleCloseUpdateSubscription = () => {
|
||||
setUpdateSubscriptionOpen(false);
|
||||
};
|
||||
|
||||
if (!userData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<Grid container spacing={6} justifyContent="center">
|
||||
{Object.entries(userData).map(([title, data]) => (
|
||||
<Grid item xs={12} sm={10} md={6} key={title}>
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
variant="outlined"
|
||||
sx={{
|
||||
minHeight: 300,
|
||||
display: "flex",
|
||||
flexDirection: "column",
|
||||
marginBottom: "20px",
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
padding: "13px",
|
||||
"&:not(:last-child)": {
|
||||
marginBottom: "40px",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center",
|
||||
padding: "16px",
|
||||
width: "100%",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
variant="h6"
|
||||
component="div"
|
||||
sx={{
|
||||
fontWeight: "bold",
|
||||
textAlign: "center",
|
||||
width: "100%",
|
||||
}}
|
||||
>
|
||||
{title}
|
||||
</Typography>
|
||||
{title === "User" && (
|
||||
<IconButton
|
||||
edge="start"
|
||||
aria-label="delete"
|
||||
onClick={handleDeleteAccountClick}
|
||||
>
|
||||
<DeleteIcon style={{ color: "" }} />
|
||||
</IconButton>
|
||||
)}
|
||||
{title === "Subscription" && (
|
||||
<IconButton
|
||||
edge="end"
|
||||
aria-label="edit"
|
||||
onClick={handleEditSubscription}
|
||||
>
|
||||
<EditIcon style={{ color: "black" }} />
|
||||
</IconButton>
|
||||
)}
|
||||
</Box>
|
||||
|
||||
<Table
|
||||
sx={{
|
||||
width: "100%",
|
||||
tableLayout: "fixed",
|
||||
height: "100%",
|
||||
borderBottom: "none",
|
||||
}}
|
||||
aria-label={title}
|
||||
>
|
||||
<TableBody>
|
||||
{Object.entries(
|
||||
data as Record<string, string>,
|
||||
).map(([label, value], index) => (
|
||||
<TableRow key={label}>
|
||||
<TableCell
|
||||
component="th"
|
||||
scope="row"
|
||||
style={{
|
||||
padding: "16px",
|
||||
borderBottom:
|
||||
index === 1 || index === 0
|
||||
? "1px solid rgba(224, 224, 224, 1)"
|
||||
: "none",
|
||||
}}
|
||||
>
|
||||
{label}
|
||||
</TableCell>
|
||||
<TableCell
|
||||
align="right"
|
||||
style={{
|
||||
padding: "10px",
|
||||
borderBottom:
|
||||
index === 1 || index === 0
|
||||
? "1px solid rgba(224, 224, 224, 1)"
|
||||
: "none",
|
||||
}}
|
||||
>
|
||||
{label === "Email" ? (
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent:
|
||||
"flex-end",
|
||||
}}
|
||||
>
|
||||
<Typography>
|
||||
{value}
|
||||
</Typography>
|
||||
<IconButton
|
||||
edge="end"
|
||||
aria-label="edit-email"
|
||||
onClick={
|
||||
handleEditEmail
|
||||
}
|
||||
>
|
||||
<EditIcon
|
||||
style={{
|
||||
color: "black",
|
||||
}}
|
||||
/>
|
||||
</IconButton>
|
||||
</Box>
|
||||
) : typeof value === "string" ? (
|
||||
label === "Two factor 2FA" ? (
|
||||
is2FADisabled ||
|
||||
value === "Disabled" ? (
|
||||
<Typography
|
||||
sx={{
|
||||
textAlign:
|
||||
"center",
|
||||
width: "100%",
|
||||
paddingLeft:
|
||||
"30px",
|
||||
}}
|
||||
>
|
||||
{value}
|
||||
</Typography>
|
||||
) : (
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems:
|
||||
"center",
|
||||
justifyContent:
|
||||
"center",
|
||||
width: "100%",
|
||||
}}
|
||||
>
|
||||
<Typography>
|
||||
{value}
|
||||
</Typography>
|
||||
{value ===
|
||||
"Enabled" && (
|
||||
<Switch
|
||||
checked={
|
||||
twoFactorEnabled
|
||||
}
|
||||
onChange={(
|
||||
e,
|
||||
) => {
|
||||
const isChecked =
|
||||
e
|
||||
.target
|
||||
.checked;
|
||||
setTwoFactorEnabled(
|
||||
isChecked,
|
||||
);
|
||||
if (
|
||||
!isChecked
|
||||
) {
|
||||
handleOpenDisable2FA();
|
||||
}
|
||||
}}
|
||||
sx={{
|
||||
"& .MuiSwitch-switchBase.Mui-checked":
|
||||
{
|
||||
color: "#00B33C",
|
||||
"&:hover":
|
||||
{
|
||||
backgroundColor:
|
||||
"rgba(0, 179, 60, 0.08)",
|
||||
},
|
||||
},
|
||||
"& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track":
|
||||
{
|
||||
backgroundColor:
|
||||
"#00B33C",
|
||||
},
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</Box>
|
||||
)
|
||||
) : (
|
||||
<Typography>
|
||||
{value}
|
||||
</Typography>
|
||||
)
|
||||
) : (
|
||||
<Typography>
|
||||
{String(value)}
|
||||
</Typography>
|
||||
)}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
</Grid>
|
||||
))}
|
||||
|
||||
{/* Render DeleteAccount dialog */}
|
||||
<DeleteAccount
|
||||
open={deleteAccountOpen}
|
||||
handleClose={handleCloseDeleteAccount}
|
||||
/>
|
||||
|
||||
{/* Render Disable2FA dialog */}
|
||||
<Disable2FA
|
||||
open={disable2FAOpen}
|
||||
handleClose={handleCancelDisable2FA}
|
||||
handleDisable2FA={handleDisable2FA}
|
||||
/>
|
||||
|
||||
{/* Render UpdateSubscription dialog */}
|
||||
<UpdateSubscription
|
||||
open={updateSubscriptionOpen}
|
||||
onClose={handleCloseUpdateSubscription}
|
||||
/>
|
||||
|
||||
{/* Render ChangeEmail dialog */}
|
||||
<ChangeEmail
|
||||
open={changeEmailOpen}
|
||||
onClose={handleCloseChangeEmail}
|
||||
/>
|
||||
</Grid>
|
||||
);
|
||||
};
|
||||
|
||||
export default UserComponent;
|
||||
BIN
infra/staff/src/components/duckie.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
@@ -1,10 +1,10 @@
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom/client";
|
||||
import { App } from "./App";
|
||||
import App from "./App";
|
||||
import "./styles/globals.css";
|
||||
|
||||
const root = document.getElementById("root");
|
||||
if (!root) throw new Error("Could not load root element to render onto");
|
||||
if (!root) throw new Error("Could not load root element to qrender onto");
|
||||
|
||||
ReactDOM.createRoot(root).render(
|
||||
<React.StrictMode>
|
||||
@@ -1,10 +1,11 @@
|
||||
import { object, type InferType } from "yup";
|
||||
import { z } from "zod";
|
||||
|
||||
const apiOrigin = import.meta.env.VITE_ENTE_ENDPOINT ?? "https://api.ente.io";
|
||||
export const apiOrigin =
|
||||
import.meta.env.VITE_ENTE_API_ORIGIN ?? "https://api.ente.io";
|
||||
|
||||
const userDetailsSchema = object({});
|
||||
const UserDetails = z.object({}).passthrough();
|
||||
|
||||
export type UserDetails = InferType<typeof userDetailsSchema>;
|
||||
export type UserDetails = z.infer<typeof UserDetails>;
|
||||
|
||||
/** Fetch details of the user associated with the given {@link authToken}. */
|
||||
export const getUserDetails = async (
|
||||
@@ -17,5 +18,5 @@ export const getUserDetails = async (
|
||||
},
|
||||
});
|
||||
if (!res.ok) throw new Error(`Failed to fetch ${url}: HTTP ${res.status}`);
|
||||
return await userDetailsSchema.validate(await res.json());
|
||||
return UserDetails.parse(await res.json());
|
||||
};
|
||||
@@ -8,9 +8,11 @@ interface ImportMetaEnv {
|
||||
/**
|
||||
* Override the origin (scheme://host:port) of Ente's API to connect to.
|
||||
*
|
||||
* This is useful when testing or connecting to alternative installations.
|
||||
*/
|
||||
readonly VITE_ENTE_ENDPOINT: string | undefined;
|
||||
* Default is "https://api.ente.io".
|
||||
|
||||
*/
|
||||
|
||||
readonly VITE_ENTE_API_ORIGIN: string | undefined;
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
48
infra/staff/tsconfig.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
/* TSConfig file used for typechecking the files in src/.
|
||||
*
|
||||
* The base configuration was generated using `yarn create vite`. This was
|
||||
* already almost the same as the `tsconfig-typecheck.json` we use
|
||||
* elsewhere, with one or two differences.
|
||||
*
|
||||
* For more details about the flags vite cares about, see
|
||||
* https://vitejs.dev/guide/features.html#typescript-compiler-options
|
||||
*/
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||
"module": "esnext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode. */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting. */
|
||||
"strict": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
|
||||
/*
|
||||
* On top of the generated configuration, we've mostly added additional
|
||||
* strictness checks.
|
||||
*/
|
||||
|
||||
/* Require the `type` modifier when importing types. */
|
||||
"verbatimModuleSyntax": true,
|
||||
|
||||
/* Stricter than strict. */
|
||||
"noImplicitReturns": true,
|
||||
/* e.g. makes array indexing returns undefined. */
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"exactOptionalPropertyTypes": true
|
||||
},
|
||||
"include": ["src"],
|
||||
"references": [{ "path": "./tsconfig.node.json" }]
|
||||
}
|
||||
15
infra/staff/tsconfig.node.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
/* TSConfig file used for typechecking vite's config file itself.
|
||||
*
|
||||
* These are vite defaults, generated using `yarn create vite`.
|
||||
*/
|
||||
"compilerOptions": {
|
||||
"composite": true,
|
||||
"skipLibCheck": true,
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"strict": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
||||
2790
infra/staff/yarn.lock
Normal file
@@ -0,0 +1 @@
|
||||
ente adalah app penyimpanan foto dengan enkripsi ujung ke ujung
|
||||
1
mobile/fastlane/metadata/android/id/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
ente - penyimpanan foto terenkripsi
|
||||
1
mobile/fastlane/metadata/ios/id/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
foto,fotografi,keluarga,privasi,cloud,pencadangan,video,enkripsi,penyimpanan,album,alternatif
|
||||
1
mobile/fastlane/metadata/ios/id/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
ente Photos
|
||||
1
mobile/fastlane/metadata/ios/id/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
Penyimpanan foto terenkripsi
|
||||
@@ -0,0 +1 @@
|
||||
Penyimpanan foto terenkripsi - cadangkan, rapikan, dan bagikan foto dan videomu
|
||||
1
mobile/fastlane/metadata/playstore/id/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
ente Photos
|
||||
@@ -456,7 +456,7 @@ SPEC CHECKSUMS:
|
||||
Sentry: ebc12276bd17613a114ab359074096b6b3725203
|
||||
sentry_flutter: 88ebea3f595b0bc16acc5bedacafe6d60c12dcd5
|
||||
SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe
|
||||
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
|
||||
share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad
|
||||
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
|
||||
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
|
||||
sqlite3: 02d1f07eaaa01f80a1c16b4b31dfcbb3345ee01a
|
||||
|
||||
@@ -841,6 +841,18 @@ class FaceMLDataDB {
|
||||
await db.executeBatch(sql, parameterSets);
|
||||
}
|
||||
|
||||
Future<void> removeNotPersonFeedback({
|
||||
required String personID,
|
||||
required int clusterID,
|
||||
}) async {
|
||||
final db = await instance.asyncDB;
|
||||
|
||||
const String sql = '''
|
||||
DELETE FROM $notPersonFeedback WHERE $personIdColumn = ? AND $clusterIDColumn = ?
|
||||
''';
|
||||
await db.execute(sql, [personID, clusterID]);
|
||||
}
|
||||
|
||||
Future<void> removeClusterToPerson({
|
||||
required String personID,
|
||||
required int clusterID,
|
||||
|
||||
393
mobile/lib/generated/intl/messages_de.dart
generated
@@ -21,7 +21,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'de';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
"${Intl.plural(count, one: 'Teilnehmer', other: 'Teilnehmer')} hinzufügen";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Element hinzufügen', other: 'Elemente hinzufügen')}";
|
||||
@@ -30,7 +30,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Dein ${storageAmount} Add-on ist gültig bis ${endDate}";
|
||||
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
"${Intl.plural(count, one: 'Betrachter', other: 'Betrachter')} hinzufügen";
|
||||
|
||||
static String m4(emailOrName) => "Von ${emailOrName} hinzugefügt";
|
||||
|
||||
@@ -41,13 +41,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Version: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} frei";
|
||||
|
||||
static String m9(paymentProvider) =>
|
||||
"Bitte kündigen Sie Ihr aktuelles Abo über ${paymentProvider} zuerst";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"Der Nutzer \"${user}\" wird keine weiteren Fotos zum Album hinzufügen können.\n\nJedoch kann er weiterhin vorhandene Bilder, welche durch ihn hinzugefügt worden sind, wieder entfernen";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Deine Familiengruppe hat bereits ${storageAmountInGb} GB erhalten',
|
||||
@@ -55,169 +58,167 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
'other': 'Du hast bereits ${storageAmountInGb} GB erhalten!',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) =>
|
||||
static String m12(albumName) =>
|
||||
"Kollaborativer Link für ${albumName} erstellt";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Bitte kontaktiere <green>${familyAdminEmail}</green> um dein Abo zu verwalten";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Bitte kontaktieren Sie uns über support@ente.io, um Ihr ${provider} Abo zu verwalten.";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m15(endpoint) => "Verbunden mit ${endpoint}";
|
||||
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: 'Lösche ${count} Element', other: 'Lösche ${count} Elemente')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Lösche ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"Der öffentliche Link zum Zugriff auf \"${albumName}\" wird entfernt.";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Bitte sende eine E-Mail an ${supportEmail} von deiner registrierten E-Mail-Adresse";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"Du hast ${Intl.plural(count, one: '${count} duplizierte Datei', other: '${count} dupliziere Dateien')} gelöscht und (${storageSaved}!) freigegeben";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} Dateien, ${formattedSize} jede";
|
||||
|
||||
static String m20(newEmail) => "E-Mail-Adresse geändert zu ${newEmail}";
|
||||
static String m22(newEmail) => "E-Mail-Adresse geändert zu ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
"${email} hat kein Ente-Konto.\n\nSenden Sie eine Einladung, um Fotos zu teilen.";
|
||||
static String m23(email) =>
|
||||
"${email} hat kein Ente-Konto.\n\nSende eine Einladung, um Fotos zu teilen.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 Datei', other: '${formattedNumber} Dateien')} auf diesem Gerät wurde(n) sicher gespeichert";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 Datei', other: '${formattedNumber} Dateien')} in diesem Album wurde(n) sicher gespeichert";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB jedes Mal, wenn sich jemand mit deinem Code für einen bezahlten Tarif anmeldet";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} kostenlos";
|
||||
static String m27(endDate) => "Kostenlose Demo verfügbar bis zum ${endDate}";
|
||||
|
||||
static String m26(endDate) => "Kostenlose Demo verfügbar bis zum ${endDate}";
|
||||
static String m28(count) =>
|
||||
"Du kannst immernoch über Ente ${Intl.plural(count, one: 'darauf', other: 'auf sie')} zugreifen, solange du ein aktives Abo hast";
|
||||
|
||||
static String m27(count) =>
|
||||
"Sie können immer noch ${Intl.plural(count, one: 'darauf', other: 'auf sie')} auf ente zugreifen, solange Sie ein aktives Abonnement haben";
|
||||
static String m29(sizeInMBorGB) => "${sizeInMBorGB} freigeben";
|
||||
|
||||
static String m28(sizeInMBorGB) => "${sizeInMBorGB} freigeben";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Es kann vom Gerät gelöscht werden, um ${formattedSize} freizugeben', other: 'Sie können vom Gerät gelöscht werden, um ${formattedSize} freizugeben')}";
|
||||
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
static String m31(currentlyProcessing, totalCount) =>
|
||||
"Verarbeite ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} Objekt', other: '${count} Objekte')}";
|
||||
|
||||
static String m32(expiryTime) => "Link läuft am ${expiryTime} ab";
|
||||
static String m33(expiryTime) => "Link läuft am ${expiryTime} ab";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'keine Erinnerungsstücke', one: '${formattedCount} Erinnerung', other: '${formattedCount} Erinnerungsstücke')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Element verschieben', other: 'Elemente verschieben')}";
|
||||
|
||||
static String m35(albumName) => "Erfolgreich zu ${albumName} hinzugefügt";
|
||||
static String m36(albumName) => "Erfolgreich zu ${albumName} hinzugefügt";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Passwortstärke: ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Bitte kontaktiere den Support von ${providerName}, falls etwas abgebucht wurde";
|
||||
|
||||
static String m38(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Kostenlose Testversion gültig bis ${endDate}.\nSie können anschließend ein bezahltes Paket auswählen.";
|
||||
|
||||
static String m39(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}";
|
||||
static String m40(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "Bitte sende die Protokolle an ${toEmail}";
|
||||
static String m41(toEmail) => "Bitte sende die Protokolle an ${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Bewerte uns auf ${storeName}";
|
||||
static String m42(storeName) => "Bewerte uns auf ${storeName}";
|
||||
|
||||
static String m42(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Ihr beide erhaltet ${storageInGB} GB* kostenlos";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} wird aus diesem geteilten Album entfernt\n\nAlle von ihnen hinzugefügte Fotos werden ebenfalls aus dem Album entfernt";
|
||||
|
||||
static String m44(endDate) => "Erneuert am ${endDate}";
|
||||
static String m45(endDate) => "Erneuert am ${endDate}";
|
||||
|
||||
static String m45(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} Ergebnis gefunden', other: '${count} Ergebnisse gefunden')}";
|
||||
|
||||
static String m46(count) => "${count} ausgewählt";
|
||||
static String m47(count) => "${count} ausgewählt";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} ausgewählt (${yourCount} von Ihnen)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hier ist meine Verifizierungs-ID: ${verificationID} für ente.io.";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, kannst du bestätigen, dass dies deine ente.io Verifizierungs-ID ist: ${verificationID}";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente Weiterempfehlungs-Code: ${referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um ${referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io";
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"Ente Weiterempfehlungs-Code: ${referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um ${referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Teile mit bestimmten Personen', one: 'Teilen mit 1 Person', other: 'Teilen mit ${numberOfPeople} Personen')}";
|
||||
|
||||
static String m52(emailIDs) => "Geteilt mit ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Dieses ${fileType} wird von deinem Gerät gelöscht.";
|
||||
static String m53(emailIDs) => "Geteilt mit ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Dieses ${fileType} existiert auf ente.io und deinem Gerät.";
|
||||
"Dieses ${fileType} wird von deinem Gerät gelöscht.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Dieses ${fileType} wird auf ente.io gelöscht.";
|
||||
"Diese Datei ist sowohl in Ente als auch auf deinem Gerät.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(fileType) => "Diese Datei wird von Ente gelöscht.";
|
||||
|
||||
static String m57(
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} von ${totalAmount} ${totalStorageUnit} verwendet";
|
||||
|
||||
static String m58(id) =>
|
||||
"Ihr ${id} ist bereits mit einem anderen \'ente\'-Konto verknüpft.\nWenn Sie Ihre ${id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support\'";
|
||||
static String m59(id) =>
|
||||
"Ihr ${id} ist bereits mit einem anderen Ente-Konto verknüpft.\nWenn Sie Ihre ${id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support";
|
||||
|
||||
static String m59(endDate) => "Ihr Abo endet am ${endDate}";
|
||||
static String m60(endDate) => "Ihr Abo endet am ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} Erinnerungsstücke gesichert";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Diese erhalten auch ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "Dies ist ${email}s Verifizierungs-ID";
|
||||
static String m63(email) => "Dies ist ${email}s Verifizierungs-ID";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 Tag', other: '${count} Tage')}";
|
||||
|
||||
static String m64(endDate) => "Gültig bis ${endDate}";
|
||||
static String m65(endDate) => "Gültig bis ${endDate}";
|
||||
|
||||
static String m65(email) => "Verifiziere ${email}";
|
||||
static String m66(email) => "Verifiziere ${email}";
|
||||
|
||||
static String m66(email) =>
|
||||
static String m67(email) =>
|
||||
"Wir haben eine E-Mail an <green>${email}</green> gesendet";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: 'vor einem Jahr', other: 'vor ${count} Jahren')}";
|
||||
|
||||
static String m68(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Du hast ${storageSaved} erfolgreich freigegeben!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"aNewVersionOfEnteIsAvailable": MessageLookupByLibrary.simpleMessage(
|
||||
"Eine neuere Version von \'ente\' ist verfügbar."),
|
||||
"Eine neue Version von Ente ist verfügbar."),
|
||||
"about":
|
||||
MessageLookupByLibrary.simpleMessage("Allgemeine Informationen"),
|
||||
"account": MessageLookupByLibrary.simpleMessage("Konto"),
|
||||
@@ -227,7 +228,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Ich verstehe, dass ich meine Daten verlieren kann, wenn ich mein Passwort vergesse, da meine Daten <underline>Ende-zu-Ende-verschlüsselt</underline> sind."),
|
||||
"activeSessions":
|
||||
MessageLookupByLibrary.simpleMessage("Aktive Sitzungen"),
|
||||
"addAName": MessageLookupByLibrary.simpleMessage("Add a name"),
|
||||
"addAName":
|
||||
MessageLookupByLibrary.simpleMessage("Füge einen Namen hinzu"),
|
||||
"addANewEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Neue E-Mail-Adresse hinzufügen"),
|
||||
"addCollaborator":
|
||||
@@ -249,7 +251,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Auswahl hinzufügen"),
|
||||
"addToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Zum Album hinzufügen"),
|
||||
"addToEnte": MessageLookupByLibrary.simpleMessage("Zu ente hinzufügen"),
|
||||
"addToEnte": MessageLookupByLibrary.simpleMessage("Zu Ente hinzufügen"),
|
||||
"addToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Zum versteckten Album hinzufügen"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Album teilen"),
|
||||
@@ -367,7 +369,18 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Authentifizierung fehlgeschlagen, versuchen Sie es bitte erneut"),
|
||||
"authenticationSuccessful": MessageLookupByLibrary.simpleMessage(
|
||||
"Authentifizierung erfogreich!"),
|
||||
"autoCastDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Verfügbare Cast-Geräte werden hier angezeigt."),
|
||||
"autoCastiOSPermission": MessageLookupByLibrary.simpleMessage(
|
||||
"Stelle sicher, dass die Ente-App auf das lokale Netzwerk zugreifen darf. Das kannst du in den Einstellungen unter \"Datenschutz\"."),
|
||||
"autoLogoutMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Aufgrund technischer Störungen wurden Sie abgemeldet. Wir entschuldigen uns für die Unannehmlichkeiten."),
|
||||
"autoPair":
|
||||
MessageLookupByLibrary.simpleMessage("Automatisch verbinden"),
|
||||
"autoPairDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Automatisches Verbinden funktioniert nur mit Geräten, die Chromecast unterstützen."),
|
||||
"available": MessageLookupByLibrary.simpleMessage("Verfügbar"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Gesicherte Ordner"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Backup"),
|
||||
@@ -393,12 +406,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Du kannst nur Dateien entfernen, die dir gehören"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Abbrechen"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement kündigen"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Konnte geteilte Dateien nicht löschen"),
|
||||
"castIPMismatchBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Stelle sicher, dass du im selben Netzwerk bist wie der Fernseher."),
|
||||
"castIPMismatchTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Album konnte nicht auf den Bildschirm übertragen werden"),
|
||||
"castInstruction": MessageLookupByLibrary.simpleMessage(
|
||||
"Besuche cast.ente.io auf dem Gerät, das du verbinden möchtest.\n\nGib den unten angegebenen Code ein, um das Album auf deinem Fernseher abzuspielen."),
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Mittelpunkt"),
|
||||
@@ -421,7 +438,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Freien Speicher einlösen"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Mehr einlösen!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Eingelöst"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Unkategorisiert leeren"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -437,7 +454,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"clubByFileName":
|
||||
MessageLookupByLibrary.simpleMessage("Nach Dateiname gruppieren"),
|
||||
"clusteringProgress":
|
||||
MessageLookupByLibrary.simpleMessage("Clustering progress"),
|
||||
MessageLookupByLibrary.simpleMessage("Fortschritt beim Clustering"),
|
||||
"codeAppliedPageTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Code eingelöst"),
|
||||
"codeCopiedToClipboard": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -445,10 +462,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"codeUsedByYou":
|
||||
MessageLookupByLibrary.simpleMessage("Von dir benutzter Code"),
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Erstelle einen Link, um anderen zu ermöglichen, Fotos in deinem geteilten Album hinzuzufügen und zu sehen - ohne dass diese ein Konto von ente.io oder die App benötigen. Ideal, um Fotos von Events zu sammeln."),
|
||||
"Erstelle einen Link, mit dem andere Fotos in dem geteilten Album sehen und selbst welche hinzufügen können - ohne dass sie die ein Ente-Konto oder die App benötigen. Ideal um gemeinsam Fotos von Events zu sammeln."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Gemeinschaftlicher Link"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Bearbeiter"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -475,10 +492,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Wiederherstellungsschlüssel bestätigen"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Bestätigen Sie ihren Wiederherstellungsschlüssel"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"connectToDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Mit Gerät verbinden"),
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Support kontaktieren"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Kontakte"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Inhalte"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Weiter"),
|
||||
@@ -506,8 +525,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Konto erstellen"),
|
||||
"createAlbumActionHint": MessageLookupByLibrary.simpleMessage(
|
||||
"Drücke lange um Fotos auszuwählen und klicke + um ein Album zu erstellen"),
|
||||
"createCollaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Create collaborative link"),
|
||||
"createCollaborativeLink": MessageLookupByLibrary.simpleMessage(
|
||||
"Gemeinschaftlichen Link erstellen"),
|
||||
"createCollage":
|
||||
MessageLookupByLibrary.simpleMessage("Collage erstellen"),
|
||||
"createNewAccount":
|
||||
@@ -523,6 +542,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"currentUsageIs":
|
||||
MessageLookupByLibrary.simpleMessage("Aktuell genutzt werden "),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Benutzerdefiniert"),
|
||||
"customEndpoint": m15,
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Dunkel"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("Heute"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("Gestern"),
|
||||
@@ -545,7 +565,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Damit werden alle leeren Alben gelöscht. Dies ist nützlich, wenn du das Durcheinander in deiner Albenliste verringern möchtest."),
|
||||
"deleteAll": MessageLookupByLibrary.simpleMessage("Alle löschen"),
|
||||
"deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Dieses Konto ist mit anderen ente Apps verknüpft, sofern du diese benutzt.\\n\\nDeine hochgeladenen Daten werden zur permanenten Löschung freigegeben. Dies gilt für alle ente Apps."),
|
||||
"Dieses Konto ist mit anderen Ente-Apps verknüpft, falls du welche verwendest. Deine hochgeladenen Daten werden in allen Ente-Apps zur Löschung vorgemerkt und dein Konto wird endgültig gelöscht."),
|
||||
"deleteEmailRequest": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte sende eine E-Mail an <warning>account-deletion@ente.io</warning> von Deiner bei uns hinterlegten E-Mail-Adresse."),
|
||||
"deleteEmptyAlbums":
|
||||
@@ -557,12 +577,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"deleteFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Vom Gerät löschen"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Auf ente.io löschen"),
|
||||
"deleteItemCount": m14,
|
||||
MessageLookupByLibrary.simpleMessage("Von Ente löschen"),
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort löschen"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Fotos löschen"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Es fehlt eine zentrale Funktion, die ich benötige"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -582,11 +602,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"designedToOutlive":
|
||||
MessageLookupByLibrary.simpleMessage("Entwickelt um zu bewahren"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Details"),
|
||||
"developerSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Entwicklereinstellungen"),
|
||||
"developerSettingsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Bist du sicher, dass du Entwicklereinstellungen bearbeiten willst?"),
|
||||
"deviceCodeHint": MessageLookupByLibrary.simpleMessage("Code eingeben"),
|
||||
"deviceFilesAutoUploading": MessageLookupByLibrary.simpleMessage(
|
||||
"Dateien, die zu diesem Album hinzugefügt werden, werden automatisch zu ente hochgeladen."),
|
||||
"Dateien, die zu diesem Album hinzugefügt werden, werden automatisch zu Ente hochgeladen."),
|
||||
"deviceLockExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Das Sperren des Gerätes verhindern, solange \'ente\' im Vordergrund geöffnet ist und eine Sicherung läuft. \nDies wird für gewöhnlich nicht benötigt, kann aber dabei helfen große Transfers schneller durchzuführen."),
|
||||
"Verhindern, dass der Bildschirm gesperrt wird, während die App im Vordergrund ist und eine Sicherung läuft. Das ist normalerweise nicht notwendig, kann aber dabei helfen, große Uploads wie einen Erstimport schneller abzuschließen."),
|
||||
"deviceNotFound":
|
||||
MessageLookupByLibrary.simpleMessage("Gerät nicht gefunden"),
|
||||
"didYouKnow": MessageLookupByLibrary.simpleMessage("Schon gewusst?"),
|
||||
@@ -596,7 +620,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Zuschauer können weiterhin Screenshots oder mit anderen externen Programmen Kopien der Bilder machen."),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte beachten Sie:"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Zweiten Faktor (2FA) deaktivieren"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -619,9 +643,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Herunterladen fehlgeschlagen"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Wird heruntergeladen..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Bearbeiten"),
|
||||
"editLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort bearbeiten"),
|
||||
@@ -631,11 +655,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Änderungen gespeichert"),
|
||||
"editsToLocationWillOnlyBeSeenWithinEnte":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Änderungen des Standorts werden nur in ente sichtbar sein"),
|
||||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("zulässig"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-Mail"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("E-Mail-Verifizierung"),
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -651,15 +675,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"encryption": MessageLookupByLibrary.simpleMessage("Verschlüsselung"),
|
||||
"encryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("Verschlüsselungscode"),
|
||||
"endpointUpdatedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Endpunkt erfolgreich geändert"),
|
||||
"endtoendEncryptedByDefault": MessageLookupByLibrary.simpleMessage(
|
||||
"Automatisch Ende-zu-Ende-verschlüsselt"),
|
||||
"enteCanEncryptAndPreserveFilesOnlyIfYouGrant":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"ente kann Dateien nur verschlüsselt sichern, wenn du uns darauf Zugriff gewährst"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(
|
||||
"ente <i>benötigt die Erlaubnis</i>, deine Fotos aufzubewahren"),
|
||||
"Ente kann Dateien nur verschlüsseln und sichern, wenn du den Zugriff darauf gewährst"),
|
||||
"entePhotosPerm": MessageLookupByLibrary.simpleMessage(""),
|
||||
"enteSubscriptionPitch": MessageLookupByLibrary.simpleMessage(
|
||||
"ente sichert deine Erinnerungsstücke, sodass sie immer für dich verfügbar sind, auch wenn du dein Gerät verlieren solltest."),
|
||||
"Ente sichert deine Erinnerungen, sodass sie dir nie verloren gehen, selbst wenn du dein Gerät verlierst."),
|
||||
"enteSubscriptionShareWithFamily": MessageLookupByLibrary.simpleMessage(
|
||||
"Deine Familie kann zu deinem Abo hinzugefügt werden."),
|
||||
"enterAlbumName":
|
||||
@@ -677,7 +702,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"enterPasswordToEncrypt": MessageLookupByLibrary.simpleMessage(
|
||||
"Gib ein Passwort ein, mit dem wir deine Daten verschlüsseln können"),
|
||||
"enterPersonName":
|
||||
MessageLookupByLibrary.simpleMessage("Enter person name"),
|
||||
MessageLookupByLibrary.simpleMessage("Namen der Person eingeben"),
|
||||
"enterReferralCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Gib den Weiterempfehlungs-Code ein"),
|
||||
"enterThe6digitCodeFromnyourAuthenticatorApp":
|
||||
@@ -703,7 +728,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"exportYourData":
|
||||
MessageLookupByLibrary.simpleMessage("Daten exportieren"),
|
||||
"faceRecognition":
|
||||
MessageLookupByLibrary.simpleMessage("Face recognition"),
|
||||
MessageLookupByLibrary.simpleMessage("Gesichtserkennung"),
|
||||
"faces": MessageLookupByLibrary.simpleMessage("Gesichter"),
|
||||
"failedToApplyCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Der Code konnte nicht aktiviert werden"),
|
||||
@@ -722,7 +747,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"failedToVerifyPaymentStatus": MessageLookupByLibrary.simpleMessage(
|
||||
"Überprüfung des Zahlungsstatus fehlgeschlagen"),
|
||||
"familyPlanOverview": MessageLookupByLibrary.simpleMessage(
|
||||
"Fügen Sie 5 Familienmitglieder zu Ihrem bestehenden Abo hinzu, ohne extra zu bezahlen.\n\nJedes Mitglied erhält einen eigenen privaten Raum und kann die Dateien von anderen nicht sehen, wenn sie nicht freigegeben werden.\n\nFamilien-Abos sind für Kunden verfügbar, die ein kostenpflichtiges ente Abonnement haben.\n\nMelden Sie sich jetzt an, um loszulegen!"),
|
||||
"Füge kostenlos 5 Familienmitglieder zu deinem bestehenden Abo hinzu.\n\nJedes Mitglied bekommt seinen eigenen privaten Bereich und kann die Dateien der anderen nur sehen, wenn sie geteilt werden.\n\nFamilien-Abos stehen Nutzern mit einem Bezahltarif zur Verfügung.\n\nMelde dich jetzt an, um loszulegen!"),
|
||||
"familyPlanPortalTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"familyPlans": MessageLookupByLibrary.simpleMessage("Familientarif"),
|
||||
@@ -739,40 +764,42 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("Dateitypen"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Dateitypen und -namen"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Dateien gelöscht"),
|
||||
"filesSavedToGallery": MessageLookupByLibrary.simpleMessage(
|
||||
"Dateien in Galerie gespeichert"),
|
||||
"findPeopleByName": MessageLookupByLibrary.simpleMessage(
|
||||
"Find people quickly by searching by name"),
|
||||
"Finde Personen schnell nach Namen"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Spiegeln"),
|
||||
"forYourMemories":
|
||||
MessageLookupByLibrary.simpleMessage("Als Erinnerung"),
|
||||
"forgotPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Passwort vergessen"),
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("Found faces"),
|
||||
"foundFaces":
|
||||
MessageLookupByLibrary.simpleMessage("Gesichter gefunden"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Kostenlos hinzugefügter Speicherplatz"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Freier Speicherplatz nutzbar"),
|
||||
"freeTrial":
|
||||
MessageLookupByLibrary.simpleMessage("Kostenlose Testphase"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Gerätespeicher freiräumen"),
|
||||
"freeUpSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Speicherplatz freigeben"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Bis zu 1000 Erinnerungsstücke angezeigt in der Galerie"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Allgemein"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Generierung von Verschlüsselungscodes..."),
|
||||
"genericProgress": m30,
|
||||
"genericProgress": m31,
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Zu den Einstellungen"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
@@ -786,6 +813,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Wir tracken keine App-Installationen. Es würde uns jedoch helfen, wenn du uns mitteilst, wie du von uns erfahren hast!"),
|
||||
"hearUsWhereTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Wie hast du von Ente erfahren? (optional)"),
|
||||
"help": MessageLookupByLibrary.simpleMessage("Hilfe"),
|
||||
"hidden": MessageLookupByLibrary.simpleMessage("Versteckt"),
|
||||
"hide": MessageLookupByLibrary.simpleMessage("Ausblenden"),
|
||||
"hiding": MessageLookupByLibrary.simpleMessage("Verstecken..."),
|
||||
@@ -802,7 +830,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"iOSOkButton": MessageLookupByLibrary.simpleMessage("OK"),
|
||||
"ignoreUpdate": MessageLookupByLibrary.simpleMessage("Ignorieren"),
|
||||
"ignoredFolderUploadReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Einige Dateien in diesem Album werden beim Upload ignoriert, weil sie zuvor auf ente gelöscht wurden."),
|
||||
"Ein paar Dateien in diesem Album werden nicht hochgeladen, weil sie in der Vergangenheit schonmal aus Ente gelöscht wurden."),
|
||||
"importing": MessageLookupByLibrary.simpleMessage("Importiert...."),
|
||||
"incorrectCode": MessageLookupByLibrary.simpleMessage("Falscher Code"),
|
||||
"incorrectPasswordTitle":
|
||||
@@ -816,28 +844,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"indexedItems":
|
||||
MessageLookupByLibrary.simpleMessage("Indizierte Elemente"),
|
||||
"indexingIsPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Indexing is paused, will automatically resume when device is ready"),
|
||||
"Die Indizierung ist unterbrochen. Sie wird automatisch fortgesetzt, wenn das Gerät bereit ist."),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Unsicheres Gerät"),
|
||||
"installManually":
|
||||
MessageLookupByLibrary.simpleMessage("Manuell installieren"),
|
||||
"invalidEmailAddress":
|
||||
MessageLookupByLibrary.simpleMessage("Ungültige E-Mail-Adresse"),
|
||||
"invalidEndpoint":
|
||||
MessageLookupByLibrary.simpleMessage("Ungültiger Endpunkt"),
|
||||
"invalidEndpointMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Der eingegebene Endpunkt ist ungültig. Gib einen gültigen Endpunkt ein und versuch es nochmal."),
|
||||
"invalidKey":
|
||||
MessageLookupByLibrary.simpleMessage("Ungültiger Schlüssel"),
|
||||
"invalidRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Der von Ihnen eingegebene Wiederherstellungsschlüssel ist nicht gültig. Bitte stellen Sie sicher das aus 24 Wörtern zusammen gesetzt ist und jedes dieser Worte richtig geschrieben wurde.\n\nSollten Sie den Wiederherstellungscode eingegeben haben, stellen Sie bitte sicher, dass dieser 64 Worte lang ist und ebenfall richtig geschrieben wurde."),
|
||||
"invite": MessageLookupByLibrary.simpleMessage("Einladen"),
|
||||
"inviteToEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Zu ente einladen"),
|
||||
MessageLookupByLibrary.simpleMessage("Zu Ente einladen"),
|
||||
"inviteYourFriends":
|
||||
MessageLookupByLibrary.simpleMessage("Lade deine Freunde ein"),
|
||||
"inviteYourFriendsToEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Lade deine Freunde zu ente ein"),
|
||||
"Lade deine Freunde zu Ente ein"),
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Etwas ist schiefgelaufen. Bitte versuche es später noch einmal. Sollte der Fehler weiter bestehen, kontaktiere unser Supportteam."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Elemente zeigen die Anzahl der Tage bis zum dauerhaften Löschen an"),
|
||||
@@ -865,7 +897,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Geräte Limit"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Aktiviert"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Abgelaufen"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry":
|
||||
MessageLookupByLibrary.simpleMessage("Ablaufdatum des Links"),
|
||||
"linkHasExpired":
|
||||
@@ -917,7 +949,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Dies wird über Logs gesendet, um uns zu helfen, Ihr Problem zu beheben. Bitte beachten Sie, dass Dateinamen aufgenommen werden, um Probleme mit bestimmten Dateien zu beheben."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"Lange auf eine E-Mail drücken, um die Ende-zu-Ende-Verschlüsselung zu überprüfen."),
|
||||
"longpressOnAnItemToViewInFullscreen": MessageLookupByLibrary.simpleMessage(
|
||||
"Drücken Sie lange auf ein Element, um es im Vollbildmodus anzuzeigen"),
|
||||
"lostDevice": MessageLookupByLibrary.simpleMessage("Gerät verloren?"),
|
||||
@@ -933,12 +965,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"manageParticipants": MessageLookupByLibrary.simpleMessage("Verwalten"),
|
||||
"manageSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement verwalten"),
|
||||
"manualPairDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"\"Mit PIN verbinden\" funktioniert mit jedem Bildschirm, auf dem du dein Album sehen möchtest."),
|
||||
"map": MessageLookupByLibrary.simpleMessage("Karte"),
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Karten"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte beachten Sie, dass Machine Learning zu einem höheren Bandbreiten- und Batterieverbrauch führt, bis alle Elemente indiziert sind."),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobil, Web, Desktop"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Mittel"),
|
||||
@@ -947,12 +983,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Ändere deine Suchanfrage oder suche nach"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momente"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Monatlich"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Zum Album verschieben"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Zu verstecktem Album verschieben"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage(
|
||||
"In den Papierkorb verschoben"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -964,11 +1000,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Ente ist im Moment nicht erreichbar. Bitte überprüfen Sie Ihre Netzwerkeinstellungen. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support."),
|
||||
"never": MessageLookupByLibrary.simpleMessage("Niemals"),
|
||||
"newAlbum": MessageLookupByLibrary.simpleMessage("Neues Album"),
|
||||
"newToEnte": MessageLookupByLibrary.simpleMessage("Neu bei ente"),
|
||||
"newToEnte": MessageLookupByLibrary.simpleMessage("Neu bei Ente"),
|
||||
"newest": MessageLookupByLibrary.simpleMessage("Zuletzt"),
|
||||
"no": MessageLookupByLibrary.simpleMessage("Nein"),
|
||||
"noAlbumsSharedByYouYet": MessageLookupByLibrary.simpleMessage(
|
||||
"Noch keine Alben von dir geteilt"),
|
||||
"noDeviceFound":
|
||||
MessageLookupByLibrary.simpleMessage("Kein Gerät gefunden"),
|
||||
"noDeviceLimit": MessageLookupByLibrary.simpleMessage("Keins"),
|
||||
"noDeviceThatCanBeDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Du hast keine Dateien auf diesem Gerät, die gelöscht werden können"),
|
||||
@@ -1018,6 +1056,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"orPickAnExistingOne": MessageLookupByLibrary.simpleMessage(
|
||||
"Oder eine Vorherige auswählen"),
|
||||
"pair": MessageLookupByLibrary.simpleMessage("Koppeln"),
|
||||
"pairWithPin":
|
||||
MessageLookupByLibrary.simpleMessage("Mit PIN verbinden"),
|
||||
"pairingComplete": MessageLookupByLibrary.simpleMessage("Verbunden"),
|
||||
"passkey": MessageLookupByLibrary.simpleMessage("Passkey"),
|
||||
"passkeyAuthTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Passkey-Verifizierung"),
|
||||
@@ -1025,18 +1066,21 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Passwort erfolgreich geändert"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Passwort Sperre"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Wir speichern dieses Passwort nicht. Wenn du es vergisst, <underline>können wir deine Daten nicht entschlüsseln</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Zahlungsdetails"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Zahlung fehlgeschlagen"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Leider ist deine Zahlung fehlgeschlagen. Wende dich an unseren Support und wir helfen dir weiter!"),
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Ausstehende Elemente"),
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation anstehend"),
|
||||
"people": MessageLookupByLibrary.simpleMessage("Personen"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
"Leute, die deinen Code verwenden"),
|
||||
"permDeleteWarning": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1059,7 +1103,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Album anheften"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage(
|
||||
"Album auf dem Fernseher wiedergeben"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore Abo"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
@@ -1071,12 +1115,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte wenden Sie sich an den Support, falls das Problem weiterhin besteht"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte erteile die nötigen Berechtigungen"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte logge dich erneut ein"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte versuche es erneut"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
@@ -1112,7 +1156,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Ticket erstellen"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("App bewerten"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Bewerte uns"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Wiederherstellen"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Konto wiederherstellen"),
|
||||
@@ -1127,7 +1171,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Wir speichern diesen Schlüssel nicht. Bitte speichere diese Schlüssel aus 24 Wörtern an einem sicheren Ort."),
|
||||
"recoveryKeySuccessBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Sehr gut! Ihr Wiederherstellungsschlüssel ist gültig. Vielen Dank für die Verifizierung.\n\nBitte vergessen Sie nicht eine Kopie Ihres Wiederherstellungsschlüssels sicher aufzubewahren."),
|
||||
"Sehr gut! Dein Wiederherstellungsschlüssel ist gültig. Vielen Dank für die Verifizierung.\n\nBitte vergiss nicht eine Kopie des Wiederherstellungsschlüssels sicher aufzubewahren."),
|
||||
"recoveryKeyVerified": MessageLookupByLibrary.simpleMessage(
|
||||
"Wiederherstellungs-Schlüssel überprüft"),
|
||||
"recoveryKeyVerifyReason": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1145,7 +1189,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"1. Gib diesen Code an deine Freunde"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Sie schließen ein bezahltes Abo ab"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Weiterempfehlungen"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Einlösungen sind derzeit pausiert"),
|
||||
@@ -1171,9 +1215,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Link entfernen"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Teilnehmer entfernen"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel":
|
||||
MessageLookupByLibrary.simpleMessage("Remove person label"),
|
||||
MessageLookupByLibrary.simpleMessage("Personenetikett entfernen"),
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Öffentlichen Link entfernen"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1187,7 +1231,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("Datei umbenennen"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement erneuern"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||
"resendEmail":
|
||||
@@ -1223,7 +1267,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"scanThisBarcodeWithnyourAuthenticatorApp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Scanne diesen Code mit \ndeiner Authentifizierungs-App"),
|
||||
"search": MessageLookupByLibrary.simpleMessage("Search"),
|
||||
"search": MessageLookupByLibrary.simpleMessage("Suche"),
|
||||
"searchAlbumsEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("Alben"),
|
||||
"searchByAlbumNameHint":
|
||||
@@ -1235,7 +1279,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"searchDatesEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Suche nach Datum, Monat oder Jahr"),
|
||||
"searchFaceEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Finde alle Foto von einer Person"),
|
||||
"Personen werden hier angezeigt, sobald die Indizierung abgeschlossen ist"),
|
||||
"searchFileTypesAndNamesEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("Dateitypen und -namen"),
|
||||
"searchHint1": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1251,7 +1295,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können"),
|
||||
"searchResultCount": m45,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Sicherheit"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort auswählen"),
|
||||
@@ -1271,19 +1315,21 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectYourPlan":
|
||||
MessageLookupByLibrary.simpleMessage("Wähle dein Abo aus"),
|
||||
"selectedFilesAreNotOnEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Ausgewählte Dateien sind nicht auf ente"),
|
||||
"Ausgewählte Dateien sind nicht auf Ente"),
|
||||
"selectedFoldersWillBeEncryptedAndBackedUp":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ausgewählte Ordner werden verschlüsselt und gesichert"),
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Absenden"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-Mail senden"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Einladung senden"),
|
||||
"sendLink": MessageLookupByLibrary.simpleMessage("Link senden"),
|
||||
"serverEndpoint":
|
||||
MessageLookupByLibrary.simpleMessage("Server Endpunkt"),
|
||||
"sessionExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Sitzung abgelaufen"),
|
||||
"setAPassword": MessageLookupByLibrary.simpleMessage("Passwort setzen"),
|
||||
@@ -1302,27 +1348,27 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Teile jetzt ein Album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link teilen"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Teile mit ausgewählten Personen"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Lade ente herunter, damit wir einfach Fotos und Videos in höchster Qualität teilen können\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"Hol dir Ente, damit wir ganz einfach Fotos und Videos in Originalqualität teilen können\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Mit Nicht-Ente-Benutzern teilen"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Teile dein erstes Album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Erstelle gemeinsame Alben mit anderen ente Benutzern, einschließlich solchen im kostenlosen Tarif."),
|
||||
"Erstelle gemeinsam mit anderen Ente-Nutzern geteilte Alben, inkl. Nutzern ohne Bezahltarif."),
|
||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("Von mir geteilt"),
|
||||
"sharedByYou": MessageLookupByLibrary.simpleMessage("Von dir geteilt"),
|
||||
"sharedPhotoNotifications":
|
||||
MessageLookupByLibrary.simpleMessage("Neue geteilte Fotos"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Erhalte Benachrichtigungen, wenn jemand ein Foto zu einem gemeinsam genutzten Album hinzufügt, dem du angehörst"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Mit mir geteilt"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Mit dir geteilt"),
|
||||
@@ -1337,16 +1383,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Andere Geräte abmelden"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ich stimme den <u-terms>Nutzungsbedingungen</u-terms> und der <u-policy>Datenschutzerklärung</u-policy> zu"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Es wird aus allen Alben gelöscht."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Überspringen"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social Media"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Einige Elemente sind sowohl auf ente als auch auf Ihrem Gerät."),
|
||||
"Einige Elemente sind sowohl auf Ente als auch auf deinem Gerät."),
|
||||
"someOfTheFilesYouAreTryingToDeleteAre":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Einige der Dateien, die Sie löschen möchten, sind nur auf Ihrem Gerät verfügbar und können nicht wiederhergestellt werden, wenn sie gelöscht wurden"),
|
||||
@@ -1380,16 +1426,20 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"startBackup":
|
||||
MessageLookupByLibrary.simpleMessage("Sicherung starten"),
|
||||
"status": MessageLookupByLibrary.simpleMessage("Status"),
|
||||
"stopCastingBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Möchtest du die Übertragung beenden?"),
|
||||
"stopCastingTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Übertragung beenden"),
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Speicherplatz"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sie"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Speichergrenze überschritten"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Stark"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonnieren"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Sieht aus, als sei dein Abonnement abgelaufen. Bitte abonniere, um das Teilen zu aktivieren."),
|
||||
@@ -1406,7 +1456,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Verbesserung vorschlagen"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisierung angehalten"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchronisiere …"),
|
||||
@@ -1435,7 +1485,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Diese Elemente werden von deinem Gerät gelöscht."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Sie werden aus allen Alben gelöscht."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1451,7 +1501,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Diese E-Mail-Adresse wird bereits verwendet"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Dieses Bild hat keine Exif-Daten"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Dies ist deine Verifizierungs-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1462,16 +1512,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"toHideAPhotoOrVideo":
|
||||
MessageLookupByLibrary.simpleMessage("Foto oder Video verstecken"),
|
||||
"toResetVerifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Um Ihr Passwort zurückzusetzen, verifizieren Sie bitte zuerst Ihre E-Mail Adresse."),
|
||||
"Um dein Passwort zurückzusetzen, verifiziere bitte zuerst deine E-Mail Adresse."),
|
||||
"todaysLogs":
|
||||
MessageLookupByLibrary.simpleMessage("Heutiges Protokoll"),
|
||||
"total": MessageLookupByLibrary.simpleMessage("Gesamt"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Gesamtgröße"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Papierkorb"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Erneut versuchen"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Aktiviere die Sicherung, um automatisch neu hinzugefügte Dateien dieses Ordners auf ente hochzuladen."),
|
||||
"Aktiviere die Sicherung, um neue Dateien in diesem Ordner automatisch zu Ente hochzuladen."),
|
||||
"twitter": MessageLookupByLibrary.simpleMessage("Twitter"),
|
||||
"twoMonthsFreeOnYearlyPlans": MessageLookupByLibrary.simpleMessage(
|
||||
"2 Monate kostenlos beim jährlichen Bezahlen"),
|
||||
@@ -1514,16 +1564,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Bis zu 50% Rabatt bis zum 4. Dezember."),
|
||||
"usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Der verwendbare Speicherplatz ist von deinem aktuellen Abonnement eingeschränkt. Überschüssiger, beanspruchter Speicherplatz wird automatisch verwendbar werden, wenn du ein höheres Abonnement buchst."),
|
||||
"usePublicLinksForPeopleNotOnEnte":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Nutze öffentliche Links für Personen ohne ente.io Konto"),
|
||||
"usePublicLinksForPeopleNotOnEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Verwenden Sie öffentliche Links für Personen, die kein Ente-Konto haben"),
|
||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Wiederherstellungs-Schlüssel verwenden"),
|
||||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Ausgewähltes Foto verwenden"),
|
||||
"usedSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Belegter Speicherplatz"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut"),
|
||||
@@ -1532,7 +1581,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("E-Mail-Adresse verifizieren"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Passkey verifizieren"),
|
||||
@@ -1565,12 +1614,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Wir unterstützen keine Bearbeitung von Fotos und Alben, die du noch nicht besitzt"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Schwach"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Willkommen zurück!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Jährlich"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, kündigen"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1600,7 +1649,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Du kannst nicht mit dir selbst teilen"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Du hast keine archivierten Elemente."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Dein Benutzerkonto wurde gelöscht"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Deine Karte"),
|
||||
|
||||
263
mobile/lib/generated/intl/messages_en.dart
generated
@@ -41,176 +41,176 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Version: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} free";
|
||||
|
||||
static String m9(paymentProvider) =>
|
||||
"Please cancel your existing subscription from ${paymentProvider} first";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"${user} will not be able to add more photos to this album\n\nThey will still be able to remove existing photos added by them";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true': 'Your family has claimed ${storageAmountInGb} GB so far',
|
||||
'false': 'You have claimed ${storageAmountInGb} GB so far',
|
||||
'other': 'You have claimed ${storageAmountInGb} GB so far!',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) => "Collaborative link created for ${albumName}";
|
||||
static String m12(albumName) => "Collaborative link created for ${albumName}";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Please contact <green>${familyAdminEmail}</green> to manage your subscription";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Please contact us at support@ente.io to manage your ${provider} subscription.";
|
||||
|
||||
static String m69(endpoint) => "Connected to ${endpoint}";
|
||||
static String m15(endpoint) => "Connected to ${endpoint}";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: 'Delete ${count} item', other: 'Delete ${count} items')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Deleting ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"This will remove the public link for accessing \"${albumName}\".";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Please drop an email to ${supportEmail} from your registered email address";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"You have cleaned up ${Intl.plural(count, one: '${count} duplicate file', other: '${count} duplicate files')}, saving (${storageSaved}!)";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} files, ${formattedSize} each";
|
||||
|
||||
static String m20(newEmail) => "Email changed to ${newEmail}";
|
||||
static String m22(newEmail) => "Email changed to ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
static String m23(email) =>
|
||||
"${email} does not have an Ente account.\n\nSend them an invite to share photos.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} files')} on this device have been backed up safely";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} files')} in this album has been backed up safely";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB each time someone signs up for a paid plan and applies your code";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} free";
|
||||
static String m27(endDate) => "Free trial valid till ${endDate}";
|
||||
|
||||
static String m26(endDate) => "Free trial valid till ${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"You can still access ${Intl.plural(count, one: 'it', other: 'them')} on Ente as long as you have an active subscription";
|
||||
|
||||
static String m28(sizeInMBorGB) => "Free up ${sizeInMBorGB}";
|
||||
static String m29(sizeInMBorGB) => "Free up ${sizeInMBorGB}";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'It can be deleted from the device to free up ${formattedSize}', other: 'They can be deleted from the device to free up ${formattedSize}')}";
|
||||
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
static String m31(currentlyProcessing, totalCount) =>
|
||||
"Processing ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} item', other: '${count} items')}";
|
||||
|
||||
static String m32(expiryTime) => "Link will expire on ${expiryTime}";
|
||||
static String m33(expiryTime) => "Link will expire on ${expiryTime}";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'no memories', one: '${formattedCount} memory', other: '${formattedCount} memories')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Move item', other: 'Move items')}";
|
||||
|
||||
static String m35(albumName) => "Moved successfully to ${albumName}";
|
||||
static String m36(albumName) => "Moved successfully to ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Password strength: ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Please talk to ${providerName} support if you were charged";
|
||||
|
||||
static String m38(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Free trial valid till ${endDate}.\nYou can choose a paid plan afterwards.";
|
||||
|
||||
static String m39(toEmail) => "Please email us at ${toEmail}";
|
||||
static String m40(toEmail) => "Please email us at ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "Please send the logs to \n${toEmail}";
|
||||
static String m41(toEmail) => "Please send the logs to \n${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Rate us on ${storeName}";
|
||||
static String m42(storeName) => "Rate us on ${storeName}";
|
||||
|
||||
static String m42(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Both of you get ${storageInGB} GB* free";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} will be removed from this shared album\n\nAny photos added by them will also be removed from the album";
|
||||
|
||||
static String m44(endDate) => "Subscription renews on ${endDate}";
|
||||
static String m45(endDate) => "Subscription renews on ${endDate}";
|
||||
|
||||
static String m45(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} result found', other: '${count} results found')}";
|
||||
|
||||
static String m46(count) => "${count} selected";
|
||||
static String m47(count) => "${count} selected";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} selected (${yourCount} yours)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Here\'s my verification ID: ${verificationID} for ente.io.";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, can you confirm that this is your ente.io verification ID: ${verificationID}";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"Ente referral code: ${referralCode} \n\nApply it in Settings → General → Referrals to get ${referralStorageInGB} GB free after you signup for a paid plan\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}";
|
||||
|
||||
static String m52(emailIDs) => "Shared with ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"This ${fileType} will be deleted from your device.";
|
||||
static String m53(emailIDs) => "Shared with ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"This ${fileType} will be deleted from your device.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"This ${fileType} is in both Ente and your device.";
|
||||
|
||||
static String m55(fileType) => "This ${fileType} will be deleted from Ente.";
|
||||
static String m56(fileType) => "This ${fileType} will be deleted from Ente.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} of ${totalAmount} ${totalStorageUnit} used";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"Your ${id} is already linked to another Ente account.\nIf you would like to use your ${id} with this account, please contact our support\'\'";
|
||||
|
||||
static String m59(endDate) =>
|
||||
static String m60(endDate) =>
|
||||
"Your subscription will be cancelled on ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} memories preserved";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"They also get ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "This is ${email}\'s Verification ID";
|
||||
static String m63(email) => "This is ${email}\'s Verification ID";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 day', other: '${count} days')}";
|
||||
|
||||
static String m64(endDate) => "Valid till ${endDate}";
|
||||
static String m65(endDate) => "Valid till ${endDate}";
|
||||
|
||||
static String m65(email) => "Verify ${email}";
|
||||
static String m66(email) => "Verify ${email}";
|
||||
|
||||
static String m66(email) => "We have sent a mail to <green>${email}</green>";
|
||||
static String m67(email) => "We have sent a mail to <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} year ago', other: '${count} years ago')}";
|
||||
|
||||
static String m68(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"You have successfully freed up ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
@@ -368,6 +368,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"autoPairDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Auto pair works only with devices that support Chromecast."),
|
||||
"available": MessageLookupByLibrary.simpleMessage("Available"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Backed up folders"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Backup"),
|
||||
@@ -391,10 +392,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Can only remove files owned by you"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Cancel subscription"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles":
|
||||
MessageLookupByLibrary.simpleMessage("Cannot delete shared files"),
|
||||
"castIPMismatchBody": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -422,7 +423,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Claim free storage"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Claim more!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Claimed"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Clean Uncategorized"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -449,7 +450,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Create a link to allow people to add and view photos in your shared album without needing an Ente app or account. Great for collecting event photos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Collaborative link"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Collaborator"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -478,10 +479,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Confirm your recovery key"),
|
||||
"connectToDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Connect to device"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contact support"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Contents"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continue"),
|
||||
@@ -524,7 +525,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"currentUsageIs":
|
||||
MessageLookupByLibrary.simpleMessage("Current usage is "),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Custom"),
|
||||
"customEndpoint": m69,
|
||||
"customEndpoint": m15,
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Dark"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("Today"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("Yesterday"),
|
||||
@@ -559,11 +560,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Delete from device"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Delete from Ente"),
|
||||
"deleteItemCount": m14,
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Delete location"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Delete photos"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"It’s missing a key feature that I need"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -602,7 +603,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Viewers can still take screenshots or save a copy of your photos using external tools"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Please note"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor":
|
||||
MessageLookupByLibrary.simpleMessage("Disable two-factor"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -623,9 +624,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Download failed"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Downloading..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Edit"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
@@ -636,8 +637,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("eligible"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Email"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("Email verification"),
|
||||
"emailYourLogs":
|
||||
@@ -738,8 +739,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("File types and names"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted": MessageLookupByLibrary.simpleMessage("Files deleted"),
|
||||
"filesSavedToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("Files saved to gallery"),
|
||||
@@ -753,24 +754,25 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("Found faces"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Free storage claimed"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Free storage usable"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Free trial"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Free up device space"),
|
||||
"freeUpDeviceSpaceDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Save space on your device by clearing files that have been already backed up."),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Free up space"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Up to 1000 memories shown in gallery"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("General"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Generating encryption keys..."),
|
||||
"genericProgress": m30,
|
||||
"genericProgress": m31,
|
||||
"goToSettings": MessageLookupByLibrary.simpleMessage("Go to settings"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
"grantFullAccessPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -835,7 +837,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Items show the number of days remaining before permanent deletion"),
|
||||
@@ -860,7 +862,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Device limit"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Enabled"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Expired"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Link expiry"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Link has expired"),
|
||||
@@ -933,7 +935,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Maps"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Please note that machine learning will result in a higher bandwidth and battery usage until all items are indexed."),
|
||||
@@ -945,11 +947,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Modify your query, or try searching for"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Moments"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Monthly"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("Move to album"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Move to hidden album"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"),
|
||||
"movingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Moving files to album..."),
|
||||
@@ -1023,7 +1025,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Password changed successfully"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Password lock"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"We don\'t store this password, so if you forget, <underline>we cannot decrypt your data</underline>"),
|
||||
"paymentDetails":
|
||||
@@ -1031,7 +1033,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
|
||||
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Unfortunately your payment failed. Please contact support and we\'ll help you out!"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Pending items"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage("Pending sync"),
|
||||
"people": MessageLookupByLibrary.simpleMessage("People"),
|
||||
@@ -1056,7 +1058,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Pick center point"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Pin album"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage("Play album on TV"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore subscription"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
@@ -1068,12 +1070,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Please contact support if the problem persists"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Please grant permissions"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Please login again"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Please try again"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
@@ -1108,7 +1110,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recover"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recover account"),
|
||||
@@ -1139,7 +1141,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"1. Give this code to your friends"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. They sign up for a paid plan"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Referrals are currently paused"),
|
||||
@@ -1154,6 +1156,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"remove": MessageLookupByLibrary.simpleMessage("Remove"),
|
||||
"removeDuplicates":
|
||||
MessageLookupByLibrary.simpleMessage("Remove duplicates"),
|
||||
"removeDuplicatesDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Review and remove files that are exact duplicates."),
|
||||
"removeFromAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Remove from album"),
|
||||
"removeFromAlbumTitle":
|
||||
@@ -1163,7 +1167,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Remove participant"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel":
|
||||
MessageLookupByLibrary.simpleMessage("Remove person label"),
|
||||
"removePublicLink":
|
||||
@@ -1179,7 +1183,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("Rename file"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renew subscription"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
|
||||
@@ -1224,7 +1228,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"searchDatesEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Search by a date, month or year"),
|
||||
"searchFaceEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Persons will be shown here once indexing is done"),
|
||||
"People will be shown here once indexing is done"),
|
||||
"searchFileTypesAndNamesEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("File types and names"),
|
||||
"searchHint1":
|
||||
@@ -1240,7 +1244,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Group photos that are taken within some radius of a photo"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Invite people, and you\'ll see all photos shared by them here"),
|
||||
"searchResultCount": m45,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Security"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||
@@ -1267,8 +1271,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Selected items will be deleted from all albums and moved to trash."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Send"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
|
||||
@@ -1292,16 +1296,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Share an album now"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Share only with the people you want"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Download Ente so we can easily share original quality photos and videos\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("Share with non-Ente users"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Share your first album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1312,7 +1316,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("New shared photos"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Receive notifications when someone adds a photo to a shared album that you\'re a part of"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Shared with me"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Shared with you"),
|
||||
@@ -1326,11 +1330,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Sign out other devices"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"I agree to the <u-terms>terms of service</u-terms> and <u-policy>privacy policy</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"It will be deleted from all albums."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Skip"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
@@ -1372,13 +1376,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Storage"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Looks like your subscription has expired. Please subscribe to enable sharing."),
|
||||
@@ -1395,7 +1399,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Suggest features"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped": MessageLookupByLibrary.simpleMessage("Sync stopped"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Syncing..."),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("System"),
|
||||
@@ -1421,7 +1425,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"These items will be deleted from your device."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"They will be deleted from all albums."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1437,7 +1441,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"This email is already in use"),
|
||||
"thisImageHasNoExifData":
|
||||
MessageLookupByLibrary.simpleMessage("This image has no exif data"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"This is your Verification ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1453,7 +1457,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Total size"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Trash"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Try again"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Turn on backup to automatically upload files added to this device folder to Ente."),
|
||||
@@ -1505,7 +1509,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Use selected photo"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Used space"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verification failed, please try again"),
|
||||
@@ -1513,7 +1517,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Verification ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("Verify passkey"),
|
||||
"verifyPassword":
|
||||
@@ -1529,6 +1533,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"viewAll": MessageLookupByLibrary.simpleMessage("View all"),
|
||||
"viewAllExifData":
|
||||
MessageLookupByLibrary.simpleMessage("View all EXIF data"),
|
||||
"viewLargeFiles": MessageLookupByLibrary.simpleMessage("Large files"),
|
||||
"viewLargeFilesDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"View files that are consuming the most amount of storage"),
|
||||
"viewLogs": MessageLookupByLibrary.simpleMessage("View logs"),
|
||||
"viewRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("View recovery key"),
|
||||
@@ -1544,11 +1551,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"We don\'t support editing photos and albums that you don\'t own yet"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Weak"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welcome back!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Yes"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
|
||||
"yesConvertToViewer":
|
||||
@@ -1578,7 +1585,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"You cannot share with yourself"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"You don\'t have any archived items."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Your account has been deleted"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
||||
218
mobile/lib/generated/intl/messages_es.dart
generated
@@ -38,13 +38,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Versión: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m9(paymentProvider) =>
|
||||
"Por favor, cancele primero su suscripción existente de ${paymentProvider}";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"${user} no podrá añadir más fotos a este álbum\n\nTodavía podrán eliminar las fotos ya añadidas por ellos";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Su familia ha reclamado ${storageAmountInGb} GB hasta el momento',
|
||||
@@ -54,143 +54,140 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
'¡Tú has reclamado ${storageAmountInGb} GB hasta el momento!',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) =>
|
||||
static String m12(albumName) =>
|
||||
"Enlace colaborativo creado para ${albumName}";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Por favor contacta con <green>${familyAdminEmail}</green> para administrar tu suscripción";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Por favor, contáctenos en support@ente.io para gestionar su suscripción a ${provider}.";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Borrando ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"Esto eliminará el enlace público para acceder a \"${albumName}\".";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Por favor, envíe un email a ${supportEmail} desde su dirección de correo electrónico registrada";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"¡Has limpiado ${Intl.plural(count, one: '${count} archivo duplicado', other: '${count} archivos duplicados')}, ahorrando (${storageSaved}!)";
|
||||
|
||||
static String m20(newEmail) => "Correo cambiado a ${newEmail}";
|
||||
static String m22(newEmail) => "Correo cambiado a ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
static String m23(email) =>
|
||||
"${email} no tiene una cuenta ente.\n\nEnvíale una invitación para compartir fotos.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 archivo', other: '${formattedNumber} archivos')} en este dispositivo han sido respaldados de forma segura";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 archivo', other: '${formattedNumber} archivos')} en este álbum ha sido respaldado de forma segura";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB cada vez que alguien se registra en un plan de pago y aplica tu código";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} gratis";
|
||||
static String m27(endDate) => "Prueba gratuita válida hasta${endDate}";
|
||||
|
||||
static String m26(endDate) => "Prueba gratuita válida hasta${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"Aún puedes acceder ${Intl.plural(count, one: 'si', other: 'entonces')} en ente mientras mantengas una suscripción activa";
|
||||
|
||||
static String m28(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
static String m29(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Se puede eliminar del dispositivo para liberar ${formattedSize}', other: 'Se pueden eliminar del dispositivo para liberar ${formattedSize}')}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} elemento', other: '${count} elementos')}";
|
||||
|
||||
static String m32(expiryTime) => "El enlace caducará en ${expiryTime}";
|
||||
static String m33(expiryTime) => "El enlace caducará en ${expiryTime}";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'no recuerdos', one: '${formattedCount} recuerdo', other: '${formattedCount} recuerdos')}\n";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Mover elemento', other: 'Mover elementos')}";
|
||||
|
||||
static String m35(albumName) => "Movido exitosamente a ${albumName}";
|
||||
static String m36(albumName) => "Movido exitosamente a ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Seguridad de la contraseña : ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Por favor hable con el soporte de ${providerName} si se le cobró";
|
||||
|
||||
static String m39(toEmail) =>
|
||||
static String m40(toEmail) =>
|
||||
"Por favor, envíanos un correo electrónico a ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "Por favor, envíe los registros a ${toEmail}";
|
||||
static String m41(toEmail) => "Por favor, envíe los registros a ${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Califícanos en ${storeName}";
|
||||
static String m42(storeName) => "Califícanos en ${storeName}";
|
||||
|
||||
static String m42(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Ambos obtienen ${storageInGB} GB* gratis";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} será eliminado de este álbum compartido\n\nCualquier foto añadida por ellos también será eliminada del álbum";
|
||||
|
||||
static String m44(endDate) => "Se renueva el ${endDate}";
|
||||
static String m45(endDate) => "Se renueva el ${endDate}";
|
||||
|
||||
static String m46(count) => "${count} seleccionados";
|
||||
static String m47(count) => "${count} seleccionados";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} seleccionados (${yourCount} tuyos)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Aquí está mi ID de verificación: ${verificationID} para ente.io.";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hola, ¿puedes confirmar que esta es tu ID de verificación ente.io: ${verificationID}?";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente código de referencia: ${referralCode} \n\nAplicarlo en Ajustes → General → Referencias para obtener ${referralStorageInGB} GB gratis después de registrarse en un plan de pago\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Compartir con personas específicas', one: 'Compartido con 1 persona', other: 'Compartido con ${numberOfPeople} personas')}";
|
||||
|
||||
static String m52(emailIDs) => "Compartido con ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Este ${fileType} se eliminará de tu dispositivo.";
|
||||
static String m53(emailIDs) => "Compartido con ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Este ${fileType} se eliminará de tu dispositivo.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Este ${fileType} está tanto en ente como en tu dispositivo.";
|
||||
|
||||
static String m55(fileType) => "Este ${fileType} se eliminará de ente.";
|
||||
static String m56(fileType) => "Este ${fileType} se eliminará de ente.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usados";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"Su ${id} ya está vinculado a otra cuenta ente.\nSi desea utilizar su ${id} con esta cuenta, póngase en contacto con nuestro servicio de asistencia\'\'";
|
||||
|
||||
static String m59(endDate) => "Tu suscripción se cancelará el ${endDate}";
|
||||
static String m60(endDate) => "Tu suscripción se cancelará el ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} recuerdos conservados";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"También obtienen ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "Este es el ID de verificación de ${email}";
|
||||
static String m63(email) => "Este es el ID de verificación de ${email}";
|
||||
|
||||
static String m65(email) => "Verificar ${email}";
|
||||
static String m66(email) => "Verificar ${email}";
|
||||
|
||||
static String m66(email) =>
|
||||
static String m67(email) =>
|
||||
"Hemos enviado un correo a <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} hace un año', other: '${count} hace años')}";
|
||||
|
||||
static String m68(storageSaved) => "¡Has liberado ${storageSaved} con éxito!";
|
||||
static String m69(storageSaved) => "¡Has liberado ${storageSaved} con éxito!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
@@ -335,10 +332,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Sólo puede eliminar archivos de tu propiedad"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancelar"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Cancelar suscripción"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Punto central"),
|
||||
"changeEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Cambiar correo electrónico"),
|
||||
@@ -359,7 +356,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Reclamar almacenamiento gratis"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("¡Reclama más!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Reclamado"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Limpiar caché"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Click"),
|
||||
"clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -379,7 +376,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Crea un enlace para que la gente pueda añadir y ver fotos en tu álbum compartido sin necesidad de la aplicación ente o una cuenta. Genial para recolectar fotos de eventos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Enlace colaborativo"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Colaborador"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -404,10 +401,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Confirmar clave de recuperación"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Confirme su clave de recuperación"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contactar con soporte"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continuar"),
|
||||
"continueOnFreeTrial": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -482,7 +479,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Borrar la ubicación"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Borrar las fotos"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Falta una característica clave que necesito"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -514,7 +511,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Los espectadores todavía pueden tomar capturas de pantalla o guardar una copia de sus fotos usando herramientas externas"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor tenga en cuenta"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor":
|
||||
MessageLookupByLibrary.simpleMessage("Deshabilitar dos factores"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -535,8 +532,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Descarga fallida"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Descargando..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Editar"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
@@ -548,8 +545,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("elegible"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Correo electrónico"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage(
|
||||
"Envíe sus registros por correo electrónico"),
|
||||
"empty": MessageLookupByLibrary.simpleMessage("Vaciar"),
|
||||
@@ -642,8 +639,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileSavedToGallery": MessageLookupByLibrary.simpleMessage(
|
||||
"Archivo guardado en la galería"),
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Archivos eliminados"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Voltear"),
|
||||
@@ -654,18 +651,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("Found faces"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Almacenamiento gratuito reclamado"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Almacenamiento libre disponible"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Prueba gratuita"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage(
|
||||
"Liberar espacio del dispositivo"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Liberar espacio"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Hasta 1000 memorias mostradas en la galería"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("General"),
|
||||
@@ -713,7 +709,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Los artículos muestran el número de días restantes antes de ser borrados permanente"),
|
||||
@@ -742,7 +738,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Límite del dispositivo"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Habilitado"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Vencido"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Enlace vence"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("El enlace ha caducado"),
|
||||
@@ -811,7 +807,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Administrar tu suscripción"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Mercancías"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Celular, Web, Computadora"),
|
||||
@@ -820,11 +816,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensual"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("Mover al álbum"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Move to hidden album"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Movido a la papelera"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -874,13 +870,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Contraseña cambiada correctamente"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Bloqueo por contraseña"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"No almacenamos esta contraseña, así que si la olvidas, <underline>no podemos descifrar tus datos</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Detalles de pago"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Pago fallido"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronización pendiente"),
|
||||
"peopleUsingYourCode":
|
||||
@@ -907,12 +903,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor contacte a soporte técnico si el problema persiste"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor, concede permiso"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, vuelva a iniciar sesión"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, inténtalo nuevamente"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
@@ -946,7 +942,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Evalúa la aplicación"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Califícanos"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recuperar cuenta"),
|
||||
@@ -978,7 +974,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"1. Dale este código a tus amigos"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Se inscriben a un plan pagado"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referidos"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Las referencias están actualmente en pausa"),
|
||||
@@ -1003,7 +999,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Eliminar enlace"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Quitar participante"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel":
|
||||
MessageLookupByLibrary.simpleMessage("Remove person label"),
|
||||
"removePublicLink":
|
||||
@@ -1019,7 +1015,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("Renombrar archivo"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renovar suscripción"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Reportar un error"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Reportar error"),
|
||||
"resendEmail":
|
||||
@@ -1082,8 +1078,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Los archivos seleccionados serán eliminados de todos los álbumes y movidos a la papelera."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||
"sendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Enviar correo electrónico"),
|
||||
@@ -1108,32 +1104,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Compartir un álbum ahora"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartir enlace"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Comparte sólo con la gente que quieres"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Descarga ente para que podamos compartir fácilmente fotos y videos en su calidad original\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartir con usuarios no ente"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Comparte tu primer álbum"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Crear álbumes compartidos y colaborativos con otros usuarios ente, incluyendo usuarios en planes gratuitos."),
|
||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("Compartido por mí"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Compartido conmigo"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Compartiendo..."),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Estoy de acuerdo con los <u-terms>términos del servicio</u-terms> y <u-policy> la política de privacidad</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Se borrará de todos los álbumes."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Omitir"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
@@ -1168,13 +1164,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Almacenamiento"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familia"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Usted"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Límite de datos excedido"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Segura"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Suscribirse"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que su suscripción ha caducado. Por favor, suscríbase para habilitar el compartir."),
|
||||
@@ -1187,7 +1183,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Sugerir una característica"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Soporte"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronización detenida"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||
@@ -1215,7 +1211,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Estos elementos se eliminarán de tu dispositivo."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Se borrarán de todos los álbumes."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1231,7 +1227,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Este correo electrónico ya está en uso"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta imagen no tiene datos exif"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta es tu ID de verificación"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1301,7 +1297,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Verificar correo electrónico"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar contraseña"),
|
||||
@@ -1324,12 +1320,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"No admitimos la edición de fotos y álbunes que aún no son tuyos"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Poco segura"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("¡Bienvenido de nuevo!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Anualmente"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Sí"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sí, cancelar"),
|
||||
"yesConvertToViewer":
|
||||
@@ -1359,7 +1355,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"No puedes compartir contigo mismo"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"No tienes nada de elementos archivados."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Su cuenta ha sido eliminada"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
||||
246
mobile/lib/generated/intl/messages_fr.dart
generated
@@ -38,13 +38,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Version : ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} libre";
|
||||
|
||||
static String m9(paymentProvider) =>
|
||||
"Veuillez d\'abord annuler votre abonnement existant de ${paymentProvider}";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"${user} ne pourra pas ajouter plus de photos à cet album\n\nIl pourrait toujours supprimer les photos existantes ajoutées par eux";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Votre famille a demandé ${storageAmountInGb} GB jusqu\'à présent',
|
||||
@@ -54,158 +57,155 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
'Vous avez réclamé ${storageAmountInGb} GB jusqu\'à présent!',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) => "Lien collaboratif créé pour ${albumName}";
|
||||
static String m12(albumName) => "Lien collaboratif créé pour ${albumName}";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Veuillez contacter <green>${familyAdminEmail}</green> pour gérer votre abonnement";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Veuillez nous contacter à support@ente.io pour gérer votre abonnement ${provider}.";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: 'Supprimer le fichier', other: 'Supprimer ${count} fichiers')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Suppression de ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"Cela supprimera le lien public pour accéder à \"${albumName}\".";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Veuillez envoyer un e-mail à ${supportEmail} depuis votre adresse enregistrée";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"Vous avez nettoyé ${Intl.plural(count, one: '${count} fichier dupliqué', other: '${count} fichiers dupliqués')}, sauvegarde (${storageSaved}!)";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} fichiers, ${formattedSize} chacun";
|
||||
|
||||
static String m20(newEmail) => "L\'e-mail a été changé en ${newEmail}";
|
||||
static String m22(newEmail) => "L\'e-mail a été changé en ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
static String m23(email) =>
|
||||
"${email} n\'a pas de compte ente.\n\nEnvoyez une invitation pour partager des photos.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 fichier sur cet appareil a été sauvegardé en toute sécurité', other: '${formattedNumber} fichiers sur cet appareil ont été sauvegardés en toute sécurité')}";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 fichier dans cet album a été sauvegardé en toute sécurité', other: '${formattedNumber} fichiers dans cet album ont été sauvegardés en toute sécurité')}";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} Go chaque fois que quelqu\'un s\'inscrit à une offre payante et applique votre code";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} libre";
|
||||
static String m27(endDate) => "Essai gratuit valide jusqu’au ${endDate}";
|
||||
|
||||
static String m26(endDate) => "Essai gratuit valide jusqu’au ${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"Vous pouvez toujours ${Intl.plural(count, one: 'y', other: 'y')} accéder sur ente tant que vous avez un abonnement actif";
|
||||
|
||||
static String m28(sizeInMBorGB) => "Libérer ${sizeInMBorGB}";
|
||||
static String m29(sizeInMBorGB) => "Libérer ${sizeInMBorGB}";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Peut être supprimé de l\'appareil pour libérer ${formattedSize}', other: 'Peuvent être supprimés de l\'appareil pour libérer ${formattedSize}')}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} objet', other: '${count} objets')}";
|
||||
|
||||
static String m32(expiryTime) => "Le lien expirera le ${expiryTime}";
|
||||
static String m33(expiryTime) => "Le lien expirera le ${expiryTime}";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, one: '${formattedCount} mémoire', other: '${formattedCount} souvenirs')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Déplacez l\'objet', other: 'Déplacez des objets')}";
|
||||
|
||||
static String m35(albumName) => "Déplacé avec succès vers ${albumName}";
|
||||
static String m36(albumName) => "Déplacé avec succès vers ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Sécurité du mot de passe : ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Veuillez contacter le support ${providerName} si vous avez été facturé";
|
||||
|
||||
static String m38(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Essai gratuit valable jusqu\'à ${endDate}.\nVous pouvez choisir un plan payant par la suite.";
|
||||
|
||||
static String m39(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}";
|
||||
static String m40(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "Envoyez les logs à ${toEmail}";
|
||||
static String m41(toEmail) => "Envoyez les logs à ${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Notez-nous sur ${storeName}";
|
||||
static String m42(storeName) => "Notez-nous sur ${storeName}";
|
||||
|
||||
static String m42(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Vous recevez tous les deux ${storageInGB} GB* gratuits";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} sera retiré de cet album partagé\n\nToutes les photos ajoutées par eux seront également retirées de l\'album";
|
||||
|
||||
static String m44(endDate) => "Renouvellement le ${endDate}";
|
||||
static String m45(endDate) => "Renouvellement le ${endDate}";
|
||||
|
||||
static String m45(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} résultat trouvé', other: '${count} résultats trouvés')}";
|
||||
|
||||
static String m46(count) => "${count} sélectionné(s)";
|
||||
static String m47(count) => "${count} sélectionné(s)";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} sélectionné(s) (${yourCount} à vous)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Voici mon ID de vérification : ${verificationID} pour ente.io.";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hé, pouvez-vous confirmer qu\'il s\'agit de votre ID de vérification ente.io : ${verificationID}";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"code de parrainage ente : ${referralCode} \n\nAppliquez le dans Paramètres → Général → Références pour obtenir ${referralStorageInGB} Go gratuitement après votre inscription à un plan payant\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Partagez avec des personnes spécifiques', one: 'Partagé avec 1 personne', other: 'Partagé avec ${numberOfPeople} des gens')}";
|
||||
|
||||
static String m52(emailIDs) => "Partagé avec ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Elle ${fileType} sera supprimée de votre appareil.";
|
||||
static String m53(emailIDs) => "Partagé avec ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Elle ${fileType} sera supprimée de votre appareil.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Cette ${fileType} est à la fois sur ente et sur votre appareil.";
|
||||
|
||||
static String m55(fileType) => "Ce ${fileType} sera supprimé de ente.";
|
||||
static String m56(fileType) => "Ce ${fileType} sera supprimé de ente.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} Go";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} Go";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} sur ${totalAmount} ${totalStorageUnit} utilisé";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"Votre ${id} est déjà lié à un autre compte ente.\nSi vous souhaitez utiliser votre ${id} avec ce compte, veuillez contacter notre support";
|
||||
|
||||
static String m59(endDate) => "Votre abonnement sera annulé le ${endDate}";
|
||||
static String m60(endDate) => "Votre abonnement sera annulé le ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} souvenirs préservés";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Ils obtiennent aussi ${storageAmountInGB} Go";
|
||||
|
||||
static String m62(email) => "Ceci est l\'ID de vérification de ${email}";
|
||||
static String m63(email) => "Ceci est l\'ID de vérification de ${email}";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '0 jour', one: '1 jour', other: '${count} jours')}";
|
||||
|
||||
static String m64(endDate) => "Valable jusqu\'au ${endDate}";
|
||||
static String m65(endDate) => "Valable jusqu\'au ${endDate}";
|
||||
|
||||
static String m65(email) => "Vérifier ${email}";
|
||||
static String m66(email) => "Vérifier ${email}";
|
||||
|
||||
static String m66(email) =>
|
||||
static String m67(email) =>
|
||||
"Nous avons envoyé un e-mail à <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: 'il y a ${count} an', other: 'il y a ${count} ans')}";
|
||||
|
||||
static String m68(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Vous avez libéré ${storageSaved} avec succès !";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
@@ -362,6 +362,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"authenticationSuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("Authentification réussie!"),
|
||||
"available": MessageLookupByLibrary.simpleMessage("Disponible"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Dossiers sauvegardés"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Sauvegarde"),
|
||||
@@ -388,10 +389,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Vous ne pouvez supprimer que les fichiers que vous possédez"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annuler"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Annuler l\'abonnement"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Les fichiers partagés ne peuvent pas être supprimés"),
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Point central"),
|
||||
@@ -414,7 +415,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Réclamer le stockage gratuit"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Réclamez plus !"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Réclamée"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"clearCaches":
|
||||
MessageLookupByLibrary.simpleMessage("Nettoyer le cache"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Click"),
|
||||
@@ -437,7 +438,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Créez un lien pour permettre aux gens d\'ajouter et de voir des photos dans votre album partagé sans avoir besoin d\'une application ente ou d\'un compte. Idéal pour collecter des photos d\'événement."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Lien collaboratif"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Collaborateur"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -465,10 +466,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Confirmer la clé de récupération"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Confirmer la clé de récupération"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contacter l\'assistance"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Contenus"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continuer"),
|
||||
@@ -551,12 +552,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer de l\'appareil"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer de ente"),
|
||||
"deleteItemCount": m14,
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer la localisation"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer des photos"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Il manque une fonction clé dont j\'ai besoin"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -588,7 +589,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Les téléspectateurs peuvent toujours prendre des captures d\'écran ou enregistrer une copie de vos photos en utilisant des outils externes"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez remarquer"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Désactiver la double-authentification"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -609,9 +610,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Échec du téléchargement"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Téléchargement en cours..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Éditer"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
@@ -623,8 +624,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("éligible"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle": MessageLookupByLibrary.simpleMessage(
|
||||
"Vérification de l\'adresse e-mail"),
|
||||
"emailYourLogs":
|
||||
@@ -727,8 +728,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("Types de fichiers"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Types et noms de fichiers"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Fichiers supprimés"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Retourner"),
|
||||
@@ -739,19 +740,18 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("Found faces"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Stockage gratuit réclamé"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Stockage gratuit utilisable"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Essai gratuit"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage(
|
||||
"Libérer de l\'espace sur l\'appareil"),
|
||||
"freeUpSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Libérer de l\'espace"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Jusqu\'à 1000 souvenirs affichés dans la galerie"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Général"),
|
||||
@@ -820,7 +820,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Il semble qu\'une erreur s\'est produite. Veuillez réessayer après un certain temps. Si l\'erreur persiste, veuillez contacter notre équipe d\'assistance."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Les éléments montrent le nombre de jours restants avant la suppression définitive"),
|
||||
@@ -849,7 +849,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Limite d\'appareil"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Activé"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Expiré"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry":
|
||||
MessageLookupByLibrary.simpleMessage("Expiration du lien"),
|
||||
"linkHasExpired":
|
||||
@@ -918,7 +918,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Cartes"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Marchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Ordinateur"),
|
||||
@@ -929,12 +929,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Modifiez votre requête, ou essayez de rechercher"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Souvenirs"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensuel"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Déplacer vers l\'album"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Déplacer vers un album masqué"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Déplacé dans la corbeille"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -998,14 +998,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Le mot de passe a été modifié"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Mot de passe verrou"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nous ne stockons pas ce mot de passe, donc si vous l\'oubliez, <underline>nous ne pouvons pas déchiffrer vos données</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Détails de paiement"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Échec du paiement"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation en attente"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1028,7 +1028,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||
"Sélectionner le point central"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
@@ -1037,12 +1037,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Merci de contacter l\'assistance si cette erreur persiste"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Veuillez accorder la permission"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez réessayer"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
@@ -1078,7 +1078,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Évaluer l\'application"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Récupérer"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Récupérer un compte"),
|
||||
@@ -1109,7 +1109,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"1. Donnez ce code à vos amis"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Ils s\'inscrivent à une offre payante"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Parrainages"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Les recommandations sont actuellement en pause"),
|
||||
@@ -1135,7 +1135,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer le participant"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel":
|
||||
MessageLookupByLibrary.simpleMessage("Remove person label"),
|
||||
"removePublicLink":
|
||||
@@ -1153,7 +1153,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Renommer le fichier"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renouveler l’abonnement"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||
"resendEmail":
|
||||
@@ -1219,7 +1219,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Grouper les photos qui sont prises dans un certain angle d\'une photo"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Invitez des gens, et vous verrez ici toutes les photos qu\'ils partagent"),
|
||||
"searchResultCount": m45,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Sécurité"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||
@@ -1248,8 +1248,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Les éléments sélectionnés seront supprimés de tous les albums et déplacés dans la corbeille."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Envoyer"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Envoyer un e-mail"),
|
||||
"sendInvite":
|
||||
@@ -1275,16 +1275,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage(
|
||||
"Partagez un album maintenant"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Partager uniquement avec les personnes que vous voulez"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Téléchargez ente pour que nous puissions facilement partager des photos et des vidéos de qualité originale\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Partager avec des utilisateurs non-ente"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Partagez votre premier album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1295,7 +1295,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Nouvelles photos partagées"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Recevoir des notifications quand quelqu\'un ajoute une photo à un album partagé dont vous faites partie"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Partagés avec moi"),
|
||||
"sharedWithYou":
|
||||
@@ -1305,11 +1305,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Montrer les souvenirs"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"J\'accepte les <u-terms>conditions d\'utilisation</u-terms> et la <u-policy>politique de confidentialité</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Elle sera supprimée de tous les albums."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Ignorer"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Réseaux Sociaux"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
@@ -1349,14 +1349,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Stockage"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength":
|
||||
MessageLookupByLibrary.simpleMessage("Securité forte"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Il semble que votre abonnement ait expiré. Veuillez vous abonner pour activer le partage."),
|
||||
@@ -1373,7 +1373,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures": MessageLookupByLibrary.simpleMessage(
|
||||
"Suggérer des fonctionnalités"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation arrêtée ?"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1402,7 +1402,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ces éléments seront supprimés de votre appareil."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ils seront supprimés de tous les albums."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1418,7 +1418,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Cette adresse mail est déjà utilisé"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Cette image n\'a pas de données exif"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Ceci est votre ID de vérification"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1434,7 +1434,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Corbeille"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Réessayer"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Activez la sauvegarde pour télécharger automatiquement les fichiers ajoutés à ce dossier de l\'appareil sur ente."),
|
||||
@@ -1492,7 +1492,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage(
|
||||
"Utiliser la photo sélectionnée"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"La vérification a échouée, veuillez réessayer"),
|
||||
@@ -1501,7 +1501,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Vérifier l\'email"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"),
|
||||
@@ -1530,11 +1530,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Nous ne prenons pas en charge l\'édition des photos et des albums que vous ne possédez pas encore"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Securité Faible"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuel"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Oui"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Oui, annuler"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1565,7 +1565,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Vous ne pouvez pas partager avec vous-même"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Vous n\'avez aucun élément archivé."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Votre carte"),
|
||||
|
||||
242
mobile/lib/generated/intl/messages_it.dart
generated
@@ -38,13 +38,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Versione: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} liberi";
|
||||
|
||||
static String m9(paymentProvider) =>
|
||||
"Annulla prima il tuo abbonamento esistente da ${paymentProvider}";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"${user} non sarà più in grado di aggiungere altre foto a questo album\n\nSarà ancora in grado di rimuovere le foto esistenti aggiunte da lui o lei";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Il tuo piano famiglia ha già richiesto ${storageAmountInGb} GB finora',
|
||||
@@ -52,155 +55,152 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
'other': 'Hai già richiesto ${storageAmountInGb} GB finora!',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) => "Link collaborativo creato per ${albumName}";
|
||||
static String m12(albumName) => "Link collaborativo creato per ${albumName}";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Contatta <green>${familyAdminEmail}</green> per gestire il tuo abbonamento";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Scrivi all\'indirizzo support@ente.io per gestire il tuo abbonamento ${provider}.";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: 'Elimina ${count} elemento', other: 'Elimina ${count} elementi')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Eliminazione di ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"Questo rimuoverà il link pubblico per accedere a \"${albumName}\".";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Per favore invia un\'email a ${supportEmail} dall\'indirizzo email con cui ti sei registrato";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"Hai ripulito ${Intl.plural(count, one: '${count} doppione', other: '${count} doppioni')}, salvando (${storageSaved}!)";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} file, ${formattedSize} l\'uno";
|
||||
|
||||
static String m20(newEmail) => "Email cambiata in ${newEmail}";
|
||||
static String m22(newEmail) => "Email cambiata in ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
static String m23(email) =>
|
||||
"${email} non ha un account su ente.\n\nInvia un invito per condividere foto.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} file')} di quest\'album sono stati salvati in modo sicuro";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} file')} di quest\'album sono stati salvati in modo sicuro";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB ogni volta che qualcuno si iscrive a un piano a pagamento e applica il tuo codice";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} liberi";
|
||||
static String m27(endDate) => "La prova gratuita termina il ${endDate}";
|
||||
|
||||
static String m26(endDate) => "La prova gratuita termina il ${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"Puoi ancora accedere a ${Intl.plural(count, one: '', other: 'loro')} su ente finché hai un abbonamento attivo";
|
||||
|
||||
static String m28(sizeInMBorGB) => "Libera ${sizeInMBorGB}";
|
||||
static String m29(sizeInMBorGB) => "Libera ${sizeInMBorGB}";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Può essere cancellata per liberare ${formattedSize}', other: 'Possono essere cancellati per liberare ${formattedSize}')}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} elemento', other: '${count} elementi')}";
|
||||
|
||||
static String m32(expiryTime) => "Il link scadrà il ${expiryTime}";
|
||||
static String m33(expiryTime) => "Il link scadrà il ${expiryTime}";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, one: '${formattedCount} ricordo', other: '${formattedCount} ricordi')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Sposta elemento', other: 'Sposta elementi')}";
|
||||
|
||||
static String m35(albumName) => "Spostato con successo su ${albumName}";
|
||||
static String m36(albumName) => "Spostato con successo su ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Sicurezza password: ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Si prega di parlare con il supporto di ${providerName} se ti è stato addebitato qualcosa";
|
||||
|
||||
static String m38(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Prova gratuita valida fino al ${endDate}.\nPuoi scegliere un piano a pagamento in seguito.";
|
||||
|
||||
static String m39(toEmail) => "Per favore invia un\'email a ${toEmail}";
|
||||
static String m40(toEmail) => "Per favore invia un\'email a ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "Invia i log a \n${toEmail}";
|
||||
static String m41(toEmail) => "Invia i log a \n${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Valutaci su ${storeName}";
|
||||
static String m42(storeName) => "Valutaci su ${storeName}";
|
||||
|
||||
static String m42(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Ottenete entrambi ${storageInGB} GB* gratis";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} verrà rimosso da questo album condiviso\n\nQualsiasi foto aggiunta dall\'utente verrà rimossa dall\'album";
|
||||
|
||||
static String m44(endDate) => "Si rinnova il ${endDate}";
|
||||
static String m45(endDate) => "Si rinnova il ${endDate}";
|
||||
|
||||
static String m46(count) => "${count} selezionati";
|
||||
static String m47(count) => "${count} selezionati";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} selezionato (${yourCount} tuoi)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Ecco il mio ID di verifica: ${verificationID} per ente.io.";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, puoi confermare che questo è il tuo ID di verifica: ${verificationID} su ente.io";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente referral code: ${referralCode} \n\nApplicalo in Impostazioni → Generale → Referral per ottenere ${referralStorageInGB} GB gratis dopo la registrazione di un piano a pagamento\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Condividi con persone specifiche', one: 'Condividi con una persona', other: 'Condividi con ${numberOfPeople} persone')}";
|
||||
|
||||
static String m52(emailIDs) => "Condiviso con ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Questo ${fileType} verrà eliminato dal tuo dispositivo.";
|
||||
static String m53(emailIDs) => "Condiviso con ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Questo ${fileType} verrà eliminato dal tuo dispositivo.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Questo ${fileType} è sia su ente che sul tuo dispositivo.";
|
||||
|
||||
static String m55(fileType) => "Questo ${fileType} verrà eliminato su ente.";
|
||||
static String m56(fileType) => "Questo ${fileType} verrà eliminato su ente.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} di ${totalAmount} ${totalStorageUnit} utilizzati";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"Il tuo ${id} è già collegato ad un altro account ente.\nSe desideri utilizzare il tuo ${id} con questo account, contatta il nostro supporto\'\'";
|
||||
|
||||
static String m59(endDate) => "L\'abbonamento verrà cancellato il ${endDate}";
|
||||
static String m60(endDate) => "L\'abbonamento verrà cancellato il ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} ricordi conservati";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Anche loro riceveranno ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "Questo è l\'ID di verifica di ${email}";
|
||||
static String m63(email) => "Questo è l\'ID di verifica di ${email}";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 giorno', other: '${count} giorni')}";
|
||||
|
||||
static String m64(endDate) => "Valido fino al ${endDate}";
|
||||
static String m65(endDate) => "Valido fino al ${endDate}";
|
||||
|
||||
static String m65(email) => "Verifica ${email}";
|
||||
static String m66(email) => "Verifica ${email}";
|
||||
|
||||
static String m66(email) =>
|
||||
static String m67(email) =>
|
||||
"Abbiamo inviato una mail a <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} anno fa', other: '${count} anni fa')}";
|
||||
|
||||
static String m68(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Hai liberato con successo ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
@@ -353,6 +353,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"authenticationSuccessful":
|
||||
MessageLookupByLibrary.simpleMessage("Autenticazione riuscita!"),
|
||||
"available": MessageLookupByLibrary.simpleMessage("Disponibile"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Cartelle salvate"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Backup"),
|
||||
@@ -375,10 +376,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Puoi rimuovere solo i file di tua proprietà"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annulla"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Annulla abbonamento"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Impossibile eliminare i file condivisi"),
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Punto centrale"),
|
||||
@@ -401,7 +402,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Richiedi spazio gratuito"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Richiedine di più!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Riscattato"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Svuota cache"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Clic"),
|
||||
"clickOnTheOverflowMenu":
|
||||
@@ -423,7 +424,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Crea un link per consentire alle persone di aggiungere e visualizzare foto nel tuo album condiviso senza bisogno di un\'applicazione o di un account ente. Ottimo per raccogliere foto di un evento."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Link collaborativo"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Collaboratore"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -451,10 +452,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Conferma chiave di recupero"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Conferma la tua chiave di recupero"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contatta il supporto"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continua"),
|
||||
"continueOnFreeTrial":
|
||||
@@ -532,11 +533,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Elimina dal dispositivo"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Elimina da ente"),
|
||||
"deleteItemCount": m14,
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Elimina posizione"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Elimina foto"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Manca una caratteristica chiave di cui ho bisogno"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -568,7 +569,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"I visualizzatori possono scattare screenshot o salvare una copia delle foto utilizzando strumenti esterni"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Nota bene"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Disabilita autenticazione a due fattori"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -589,9 +590,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Scaricamento fallito"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Scaricamento in corso..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Modifica"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
@@ -602,8 +603,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("idoneo"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Email"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("Verifica Email"),
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -700,8 +701,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Aggiungi descrizione..."),
|
||||
"fileSavedToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("File salvato nella galleria"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted": MessageLookupByLibrary.simpleMessage("File eliminati"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Capovolgi"),
|
||||
"forYourMemories":
|
||||
@@ -711,18 +712,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("Found faces"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Spazio gratuito richiesto"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Spazio libero utilizzabile"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Prova gratuita"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Libera spazio"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Libera spazio"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Fino a 1000 ricordi mostrati nella galleria"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Generali"),
|
||||
@@ -789,7 +789,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Sembra che qualcosa sia andato storto. Riprova tra un po\'. Se l\'errore persiste, contatta il nostro team di supporto."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gli elementi mostrano il numero di giorni rimanenti prima della cancellazione permanente"),
|
||||
@@ -818,7 +818,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Limite dei dispositivi"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Attivato"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Scaduto"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Scadenza del link"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Il link è scaduto"),
|
||||
@@ -887,7 +887,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Mappe"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
|
||||
@@ -896,12 +896,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensile"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Sposta nell\'album"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Sposta in album nascosto"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Spostato nel cestino"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -965,14 +965,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Password modificata con successo"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Blocco con password"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Noi non memorizziamo la tua password, quindi se te la dimentichi, <underline>non possiamo decriptare i tuoi dati</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Dettagli di Pagamento"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Pagamento non riuscito"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione in sospeso"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -992,7 +992,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||
"Selezionare il punto centrale"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fissa l\'album"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abbonamento su PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
@@ -1001,12 +1001,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Riprova. Se il problema persiste, ti invitiamo a contattare l\'assistenza"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Concedi i permessi"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Effettua nuovamente l\'accesso"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1040,7 +1040,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Invia ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Valuta l\'app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Lascia una recensione"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recupera"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recupera account"),
|
||||
@@ -1072,7 +1072,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"1. Condividi questo codice con i tuoi amici"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Si iscrivono per un piano a pagamento"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Invita un Amico"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"I referral code sono attualmente in pausa"),
|
||||
@@ -1096,7 +1096,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Elimina link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Rimuovi partecipante"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel":
|
||||
MessageLookupByLibrary.simpleMessage("Remove person label"),
|
||||
"removePublicLink":
|
||||
@@ -1112,7 +1112,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("Rinomina file"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Rinnova abbonamento"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Rinvia email"),
|
||||
@@ -1178,8 +1178,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gli elementi selezionati verranno eliminati da tutti gli album e spostati nel cestino."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Invia"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Invia email"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Invita"),
|
||||
@@ -1203,16 +1203,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Condividi un album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Condividi link"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi solo con le persone che vuoi"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Scarica ente in modo da poter facilmente condividere foto e video senza perdita di qualità\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi con utenti che non hanno un account ente"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi il tuo primo album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1223,7 +1223,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Nuove foto condivise"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ricevi notifiche quando qualcuno aggiunge una foto a un album condiviso, di cui fai parte"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Condivisi con me"),
|
||||
"sharedWithYou":
|
||||
@@ -1233,11 +1233,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"showMemories": MessageLookupByLibrary.simpleMessage("Mostra ricordi"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Accetto i <u-terms>termini di servizio</u-terms> e la <u-policy>politica sulla privacy</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Verrà eliminato da tutti gli album."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Salta"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
@@ -1278,13 +1278,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storageBreakupFamily":
|
||||
MessageLookupByLibrary.simpleMessage("Famiglia"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Tu"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Limite d\'archiviazione superato"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Iscriviti"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Sembra che il tuo abbonamento sia scaduto. Iscriviti per abilitare la condivisione."),
|
||||
@@ -1301,7 +1301,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Suggerisci una funzionalità"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Assistenza"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione interrotta"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1330,7 +1330,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Questi file verranno eliminati dal tuo dispositivo."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Verranno eliminati da tutti gli album."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1347,7 +1347,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Questo indirizzo email è già registrato"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Questa immagine non ha dati EXIF"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Questo è il tuo ID di verifica"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1363,7 +1363,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"total": MessageLookupByLibrary.simpleMessage("totale"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Dimensioni totali"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Cestino"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Attiva il backup per caricare automaticamente i file aggiunti in questa cartella del dispositivo su ente."),
|
||||
@@ -1420,7 +1420,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Usa la foto selezionata"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Spazio utilizzato"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verifica fallita, per favore prova di nuovo"),
|
||||
@@ -1428,7 +1428,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("ID di verifica"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verifica email"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verifica password"),
|
||||
@@ -1455,11 +1455,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Non puoi modificare foto e album che non possiedi"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Debole"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bentornato/a!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuale"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Si"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sì, cancella"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1489,7 +1489,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Non puoi condividere con te stesso"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Non hai nulla di archiviato."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Il tuo account è stato eliminato"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
||||
254
mobile/lib/generated/intl/messages_nl.dart
generated
@@ -41,13 +41,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Versie: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} vrij";
|
||||
|
||||
static String m9(paymentProvider) =>
|
||||
"Annuleer eerst uw bestaande abonnement bij ${paymentProvider}";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"${user} zal geen foto\'s meer kunnen toevoegen aan dit album\n\nDe gebruiker zal nog steeds bestaande foto\'s kunnen verwijderen die door hen zijn toegevoegd";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Jouw familie heeft ${storageAmountInGb} GB geclaimd tot nu toe',
|
||||
@@ -55,166 +58,163 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
'other': 'Je hebt ${storageAmountInGb} GB geclaimd tot nu toe!',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) =>
|
||||
static String m12(albumName) =>
|
||||
"Gezamenlijke link aangemaakt voor ${albumName}";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Neem contact op met <green>${familyAdminEmail}</green> om uw abonnement te beheren";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Neem contact met ons op via support@ente.io om uw ${provider} abonnement te beheren.";
|
||||
|
||||
static String m69(endpoint) => "Verbonden met ${endpoint}";
|
||||
static String m15(endpoint) => "Verbonden met ${endpoint}";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: 'Verwijder ${count} bestand', other: 'Verwijder ${count} bestanden')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Verwijderen van ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"Dit verwijdert de openbare link voor toegang tot \"${albumName}\".";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Stuur een e-mail naar ${supportEmail} vanaf het door jou geregistreerde e-mailadres";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"Je hebt ${Intl.plural(count, one: '${count} dubbel bestand', other: '${count} dubbele bestanden')} opgeruimd, totaal (${storageSaved}!)";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} bestanden, elk ${formattedSize}";
|
||||
|
||||
static String m20(newEmail) => "E-mailadres gewijzigd naar ${newEmail}";
|
||||
static String m22(newEmail) => "E-mailadres gewijzigd naar ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
static String m23(email) =>
|
||||
"${email} heeft geen Ente account.\n\nStuur ze een uitnodiging om foto\'s te delen.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 bestand', other: '${formattedNumber} bestanden')} in dit album zijn veilig geback-upt";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 bestand', other: '${formattedNumber} bestanden')} in dit album is veilig geback-upt";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB telkens als iemand zich aanmeldt voor een betaald abonnement en je code toepast";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} vrij";
|
||||
static String m27(endDate) => "Gratis proefversie geldig tot ${endDate}";
|
||||
|
||||
static String m26(endDate) => "Gratis proefversie geldig tot ${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"Je hebt nog steeds toegang tot ${Intl.plural(count, one: 'het', other: 'ze')} op Ente zolang je een actief abonnement hebt";
|
||||
|
||||
static String m28(sizeInMBorGB) => "Maak ${sizeInMBorGB} vrij";
|
||||
static String m29(sizeInMBorGB) => "Maak ${sizeInMBorGB} vrij";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Het kan verwijderd worden van het apparaat om ${formattedSize} vrij te maken', other: 'Ze kunnen verwijderd worden van het apparaat om ${formattedSize} vrij te maken')}";
|
||||
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
static String m31(currentlyProcessing, totalCount) =>
|
||||
"Verwerken van ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} item', other: '${count} items')}";
|
||||
|
||||
static String m32(expiryTime) => "Link vervalt op ${expiryTime}";
|
||||
static String m33(expiryTime) => "Link vervalt op ${expiryTime}";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'geen herinneringen', one: '${formattedCount} herinnering', other: '${formattedCount} herinneringen')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Bestand verplaatsen', other: 'Bestanden verplaatsen')}";
|
||||
|
||||
static String m35(albumName) => "Succesvol verplaatst naar ${albumName}";
|
||||
static String m36(albumName) => "Succesvol verplaatst naar ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Wachtwoord sterkte: ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Praat met ${providerName} klantenservice als u in rekening bent gebracht";
|
||||
|
||||
static String m38(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Gratis proefperiode geldig tot ${endDate}.\nU kunt naderhand een betaald abonnement kiezen.";
|
||||
|
||||
static String m39(toEmail) => "Stuur ons een e-mail op ${toEmail}";
|
||||
static String m40(toEmail) => "Stuur ons een e-mail op ${toEmail}";
|
||||
|
||||
static String m40(toEmail) =>
|
||||
static String m41(toEmail) =>
|
||||
"Verstuur de logboeken alstublieft naar ${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Beoordeel ons op ${storeName}";
|
||||
static String m42(storeName) => "Beoordeel ons op ${storeName}";
|
||||
|
||||
static String m42(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"Jullie krijgen allebei ${storageInGB} GB* gratis";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} zal worden verwijderd uit dit gedeelde album\n\nAlle door hen toegevoegde foto\'s worden ook uit het album verwijderd";
|
||||
|
||||
static String m44(endDate) => "Wordt verlengd op ${endDate}";
|
||||
static String m45(endDate) => "Wordt verlengd op ${endDate}";
|
||||
|
||||
static String m45(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} resultaat gevonden', other: '${count} resultaten gevonden')}";
|
||||
|
||||
static String m46(count) => "${count} geselecteerd";
|
||||
static String m47(count) => "${count} geselecteerd";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} geselecteerd (${yourCount} van jou)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hier is mijn verificatie-ID: ${verificationID} voor ente.io.";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, kunt u bevestigen dat dit uw ente.io verificatie-ID is: ${verificationID}";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"Ente verwijzingscode: ${referralCode} \n\nPas het toe bij Instellingen → Algemeen → Verwijzingen om ${referralStorageInGB} GB gratis te krijgen nadat je je hebt aangemeld voor een betaald abonnement\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Deel met specifieke mensen', one: 'Gedeeld met 1 persoon', other: 'Gedeeld met ${numberOfPeople} mensen')}";
|
||||
|
||||
static String m52(emailIDs) => "Gedeeld met ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd van jouw apparaat.";
|
||||
static String m53(emailIDs) => "Gedeeld met ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Deze ${fileType} staat zowel in Ente als op jouw apparaat.";
|
||||
"Deze ${fileType} zal worden verwijderd van jouw apparaat.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Deze ${fileType} staat zowel in Ente als op jouw apparaat.";
|
||||
|
||||
static String m56(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd uit Ente.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} van ${totalAmount} ${totalStorageUnit} gebruikt";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"Jouw ${id} is al aan een ander Ente account gekoppeld.\nAls je jouw ${id} wilt gebruiken met dit account, neem dan contact op met onze klantenservice";
|
||||
|
||||
static String m59(endDate) => "Uw abonnement loopt af op ${endDate}";
|
||||
static String m60(endDate) => "Uw abonnement loopt af op ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} herinneringen bewaard";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Zij krijgen ook ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "Dit is de verificatie-ID van ${email}";
|
||||
static String m63(email) => "Dit is de verificatie-ID van ${email}";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 dag', other: '${count} dagen')}";
|
||||
|
||||
static String m64(endDate) => "Geldig tot ${endDate}";
|
||||
static String m65(endDate) => "Geldig tot ${endDate}";
|
||||
|
||||
static String m65(email) => "Verifieer ${email}";
|
||||
static String m66(email) => "Verifieer ${email}";
|
||||
|
||||
static String m66(email) =>
|
||||
static String m67(email) =>
|
||||
"We hebben een e-mail gestuurd naar <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} jaar geleden', other: '${count} jaar geleden')}";
|
||||
|
||||
static String m68(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Je hebt ${storageSaved} succesvol vrijgemaakt!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
@@ -377,6 +377,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"autoPairDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"Automatisch koppelen werkt alleen met apparaten die Chromecast ondersteunen."),
|
||||
"available": MessageLookupByLibrary.simpleMessage("Beschikbaar"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Back-up mappen"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Back-up"),
|
||||
@@ -401,10 +402,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Kan alleen bestanden verwijderen die jouw eigendom zijn"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annuleer"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement opzeggen"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Kan gedeelde bestanden niet verwijderen"),
|
||||
"castIPMismatchBody": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -432,7 +433,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Claim gratis opslag"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Claim meer!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Geclaimd"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Ongecategoriseerd opschonen"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -459,7 +460,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Maak een link waarmee mensen foto\'s in jouw gedeelde album kunnen toevoegen en bekijken zonder dat ze daarvoor een Ente app of account nodig hebben. Handig voor het verzamelen van foto\'s van evenementen."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Gezamenlijke link"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Samenwerker"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -489,10 +490,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Bevestig herstelsleutel"),
|
||||
"connectToDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Verbinding maken met apparaat"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contacteer klantenservice"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacten"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Inhoud"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Doorgaan"),
|
||||
@@ -536,7 +537,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"currentUsageIs":
|
||||
MessageLookupByLibrary.simpleMessage("Huidig gebruik is "),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Aangepast"),
|
||||
"customEndpoint": m69,
|
||||
"customEndpoint": m15,
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Donker"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("Vandaag"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("Gisteren"),
|
||||
@@ -572,12 +573,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder van apparaat"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder van Ente"),
|
||||
"deleteItemCount": m14,
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder locatie"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Foto\'s verwijderen"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Ik mis een belangrijke functie"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -617,7 +618,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Kijkers kunnen nog steeds screenshots maken of een kopie van je foto\'s opslaan met behulp van externe tools"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Let op"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Tweestapsverificatie uitschakelen"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -638,9 +639,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Download mislukt"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Downloaden..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Bewerken"),
|
||||
"editLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Locatie bewerken"),
|
||||
@@ -653,8 +654,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Bewerkte locatie wordt alleen gezien binnen Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("gerechtigd"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("E-mailverificatie"),
|
||||
"emailYourLogs":
|
||||
@@ -762,8 +763,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("Bestandstype"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Bestandstypen en namen"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Bestanden verwijderd"),
|
||||
"filesSavedToGallery": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -776,24 +777,23 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("Found faces"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Gratis opslag geclaimd"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Gratis opslag bruikbaar"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Gratis proefversie"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Apparaatruimte vrijmaken"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Ruimte vrijmaken"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Tot 1000 herinneringen getoond in de galerij"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Algemeen"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Encryptiesleutels genereren..."),
|
||||
"genericProgress": m30,
|
||||
"genericProgress": m31,
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Ga naar instellingen"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
@@ -861,7 +861,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Bestanden tonen het aantal resterende dagen voordat ze permanent worden verwijderd"),
|
||||
@@ -888,7 +888,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Apparaat limiet"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Ingeschakeld"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Verlopen"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Vervaldatum"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Link is vervallen"),
|
||||
@@ -963,7 +963,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Kaarten"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobiel, Web, Desktop"),
|
||||
@@ -973,12 +973,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Pas je zoekopdracht aan of zoek naar"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momenten"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Maandelijks"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Verplaats naar album"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Verplaatsen naar verborgen album"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Naar prullenbak verplaatst"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1056,7 +1056,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Wachtwoord succesvol aangepast"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Wachtwoord slot"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Wij slaan dit wachtwoord niet op, dus als je het vergeet, kunnen <underline>we je gegevens niet ontsleutelen</underline>"),
|
||||
"paymentDetails":
|
||||
@@ -1065,7 +1065,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Betaling mislukt"),
|
||||
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Helaas is je betaling mislukt. Neem contact op met support zodat we je kunnen helpen!"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Bestanden in behandeling"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1093,7 +1093,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"),
|
||||
"playOnTv":
|
||||
MessageLookupByLibrary.simpleMessage("Album afspelen op TV"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore abonnement"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
@@ -1105,12 +1105,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Neem contact op met klantenservice als het probleem aanhoudt"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Geef alstublieft toestemming"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Log opnieuw in"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Probeer het nog eens"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
@@ -1145,7 +1145,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Beoordeel ons"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Herstellen"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Account herstellen"),
|
||||
@@ -1176,7 +1176,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"1. Geef deze code aan je vrienden"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Ze registreren voor een betaald plan"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referenties"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Verwijzingen zijn momenteel gepauzeerd"),
|
||||
@@ -1202,7 +1202,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Verwijder link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Deelnemer verwijderen"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder publieke link"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1218,7 +1218,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Bestandsnaam wijzigen"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement verlengen"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Een fout melden"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fout melden"),
|
||||
"resendEmail":
|
||||
@@ -1281,7 +1281,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Foto\'s groeperen die in een bepaalde straal van een foto worden genomen"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Nodig mensen uit, en je ziet alle foto\'s die door hen worden gedeeld hier"),
|
||||
"searchResultCount": m45,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Beveiliging"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Selecteer een locatie"),
|
||||
@@ -1308,8 +1308,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Geselecteerde bestanden worden verwijderd uit alle albums en verplaatst naar de prullenbak."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Verzenden"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-mail versturen"),
|
||||
"sendInvite":
|
||||
@@ -1335,16 +1335,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Deel nu een album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link delen"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Deel alleen met de mensen die u wilt"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Download Ente zodat we gemakkelijk foto\'s en video\'s in originele kwaliteit kunnen delen\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Delen met niet-Ente gebruikers"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Deel jouw eerste album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1355,7 +1355,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Nieuwe gedeelde foto\'s"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ontvang meldingen wanneer iemand een foto toevoegt aan een gedeeld album waar je deel van uitmaakt"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Gedeeld met mij"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Gedeeld met jou"),
|
||||
@@ -1370,11 +1370,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Log uit op andere apparaten"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ik ga akkoord met de <u-terms>gebruiksvoorwaarden</u-terms> en <u-policy>privacybeleid</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Het wordt uit alle albums verwijderd."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Overslaan"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Sociale media"),
|
||||
"someItemsAreInBothEnteAndYourDevice": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1416,13 +1416,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Opslagruimte"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Jij"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Opslaglimiet overschreden"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Sterk"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonneer"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Het lijkt erop dat je abonnement is verlopen. Abonneer om delen mogelijk te maken."),
|
||||
@@ -1439,7 +1439,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Features voorstellen"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Ondersteuning"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisatie gestopt"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchroniseren..."),
|
||||
@@ -1467,7 +1467,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Deze bestanden zullen worden verwijderd van uw apparaat."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ze zullen uit alle albums worden verwijderd."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1483,7 +1483,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Dit e-mailadres is al in gebruik"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Deze foto heeft geen exif gegevens"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Dit is uw verificatie-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1500,7 +1500,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"total": MessageLookupByLibrary.simpleMessage("totaal"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Totale grootte"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Prullenbak"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Probeer opnieuw"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Schakel back-up in om bestanden die toegevoegd zijn aan deze map op dit apparaat automatisch te uploaden."),
|
||||
@@ -1555,7 +1555,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Gebruik geselecteerde foto"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Gebruikte ruimte"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verificatie mislukt, probeer het opnieuw"),
|
||||
@@ -1563,7 +1563,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Verificatie ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Bevestig e-mail"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Bevestig passkey"),
|
||||
@@ -1596,11 +1596,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"We ondersteunen het bewerken van foto\'s en albums waar je niet de eigenaar van bent nog niet"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Zwak"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welkom terug!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Jaarlijks"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, opzeggen"),
|
||||
"yesConvertToViewer":
|
||||
@@ -1630,7 +1630,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Je kunt niet met jezelf delen"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"U heeft geen gearchiveerde bestanden."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Je account is verwijderd"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Jouw kaart"),
|
||||
|
||||
4
mobile/lib/generated/intl/messages_pl.dart
generated
@@ -26,7 +26,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Siła hasła: ${passwordStrengthValue}";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
@@ -156,7 +156,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"password": MessageLookupByLibrary.simpleMessage("Hasło"),
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Hasło zostało pomyślnie zmienione"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nie przechowujemy tego hasła, więc jeśli go zapomnisz, <underline>nie będziemy w stanie odszyfrować Twoich danych</underline>"),
|
||||
"pleaseTryAgain":
|
||||
|
||||
256
mobile/lib/generated/intl/messages_pt.dart
generated
@@ -41,13 +41,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "Versão: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) =>
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} livre";
|
||||
|
||||
static String m9(paymentProvider) =>
|
||||
"Por favor, cancele sua assinatura existente do ${paymentProvider} primeiro";
|
||||
|
||||
static String m9(user) =>
|
||||
static String m10(user) =>
|
||||
"${user} Não poderá adicionar mais fotos a este álbum\n\nEles ainda poderão remover as fotos existentes adicionadas por eles";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Sua família reeinvindicou ${storageAmountInGb} GB até agora',
|
||||
@@ -55,162 +58,159 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
'other': 'Você reeinvindicou ${storageAmountInGb} GB até agora',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) => "Link colaborativo criado para ${albumName}";
|
||||
static String m12(albumName) => "Link colaborativo criado para ${albumName}";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"Entre em contato com <green>${familyAdminEmail}</green> para gerenciar sua assinatura";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"Entre em contato conosco pelo e-mail support@ente.io para gerenciar sua assinatura ${provider}.";
|
||||
|
||||
static String m69(endpoint) => "Conectado a ${endpoint}";
|
||||
static String m15(endpoint) => "Conectado a ${endpoint}";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: 'Excluir ${count} item', other: 'Excluir ${count} itens')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"Excluindo ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m16(albumName) =>
|
||||
static String m18(albumName) =>
|
||||
"Isso removerá o link público para acessar \"${albumName}\".";
|
||||
|
||||
static String m17(supportEmail) =>
|
||||
static String m19(supportEmail) =>
|
||||
"Por favor, envie um e-mail para ${supportEmail} a partir do seu endereço de e-mail registrado";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"Você limpou ${Intl.plural(count, one: '${count} arquivo duplicado', other: '${count} arquivos duplicados')}, salvando (${storageSaved}!)";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} Arquivos, ${formattedSize} cada";
|
||||
|
||||
static String m20(newEmail) => "E-mail alterado para ${newEmail}";
|
||||
static String m22(newEmail) => "E-mail alterado para ${newEmail}";
|
||||
|
||||
static String m21(email) =>
|
||||
static String m23(email) =>
|
||||
"${email} não possui uma conta Ente.\n\nEnvie um convite para compartilhar fotos.";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 arquivo', other: '${formattedNumber} arquivos')} neste dispositivo teve um backup seguro";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 arquivo', other: '${formattedNumber} arquivos')} neste álbum teve um backup seguro";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB cada vez que alguém se inscrever para um plano pago e aplica o seu código";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} livre";
|
||||
static String m27(endDate) => "Teste gratuito acaba em ${endDate}";
|
||||
|
||||
static String m26(endDate) => "Teste gratuito acaba em ${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"Você ainda pode acessar ${Intl.plural(count, one: 'ele', other: 'eles')} no Ente contanto que você tenha uma assinatura ativa";
|
||||
|
||||
static String m28(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
static String m29(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Pode ser excluído do dispositivo para liberar ${formattedSize}', other: 'Eles podem ser excluídos do dispositivo para liberar ${formattedSize}')}";
|
||||
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
static String m31(currentlyProcessing, totalCount) =>
|
||||
"Processando ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} item', other: '${count} items')}";
|
||||
|
||||
static String m32(expiryTime) => "O link irá expirar em ${expiryTime}";
|
||||
static String m33(expiryTime) => "O link irá expirar em ${expiryTime}";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'no memories', one: '${formattedCount} memory', other: '${formattedCount} memories')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: 'Mover item', other: 'Mover itens')}";
|
||||
|
||||
static String m35(albumName) => "Movido com sucesso para ${albumName}";
|
||||
static String m36(albumName) => "Movido com sucesso para ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
static String m37(passwordStrengthValue) =>
|
||||
"Segurança da senha: ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) =>
|
||||
static String m38(providerName) =>
|
||||
"Por favor, fale com o suporte ${providerName} se você foi cobrado";
|
||||
|
||||
static String m38(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Teste gratuito válido até ${endDate}.\nVocê pode escolher um plano pago depois.";
|
||||
|
||||
static String m39(toEmail) =>
|
||||
static String m40(toEmail) =>
|
||||
"Por favor, envie-nos um e-mail para ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "Por favor, envie os logs para \n${toEmail}";
|
||||
static String m41(toEmail) => "Por favor, envie os logs para \n${toEmail}";
|
||||
|
||||
static String m41(storeName) => "Avalie-nos em ${storeName}";
|
||||
static String m42(storeName) => "Avalie-nos em ${storeName}";
|
||||
|
||||
static String m42(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis";
|
||||
static String m43(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} será removido deste álbum compartilhado\n\nQuaisquer fotos adicionadas por eles também serão removidas do álbum";
|
||||
|
||||
static String m44(endDate) => "Renovação de assinatura em ${endDate}";
|
||||
static String m45(endDate) => "Renovação de assinatura em ${endDate}";
|
||||
|
||||
static String m45(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} resultado encontrado', other: '${count} resultado encontrado')}";
|
||||
|
||||
static String m46(count) => "${count} Selecionados";
|
||||
static String m47(count) => "${count} Selecionados";
|
||||
|
||||
static String m47(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} Selecionado (${yourCount} seus)";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Aqui está meu ID de verificação para o Ente.io: ${verificationID}";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Ei, você pode confirmar que este é seu ID de verificação do Ente.io? ${verificationID}";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"Código de referência do ente: ${referralCode} \n\nAplique em Configurações → Geral → Indicações para obter ${referralStorageInGB} GB gratuitamente após a sua inscrição em um plano pago\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Compartilhe com pessoas específicas', one: 'Compartilhado com 1 pessoa', other: 'Compartilhado com ${numberOfPeople} pessoas')}";
|
||||
|
||||
static String m52(emailIDs) => "Compartilhado com ${emailIDs}";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Este ${fileType} será excluído do seu dispositivo.";
|
||||
static String m53(emailIDs) => "Compartilhado com ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Este ${fileType} será excluído do seu dispositivo.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Este ${fileType} está tanto no Ente quanto no seu dispositivo.";
|
||||
|
||||
static String m55(fileType) => "Este ${fileType} será excluído do Ente.";
|
||||
static String m56(fileType) => "Este ${fileType} será excluído do Ente.";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usado";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"Seu ${id} já está vinculado a outra conta Ente.\nSe você gostaria de usar seu ${id} com esta conta, por favor contate nosso suporte\'\'";
|
||||
|
||||
static String m59(endDate) => "Sua assinatura será cancelada em ${endDate}";
|
||||
static String m60(endDate) => "Sua assinatura será cancelada em ${endDate}";
|
||||
|
||||
static String m60(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} memórias preservadas";
|
||||
|
||||
static String m61(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Eles também recebem ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "Este é o ID de verificação de ${email}";
|
||||
static String m63(email) => "Este é o ID de verificação de ${email}";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 dia', other: '${count} dias')}";
|
||||
|
||||
static String m64(endDate) => "Válido até ${endDate}";
|
||||
static String m65(endDate) => "Válido até ${endDate}";
|
||||
|
||||
static String m65(email) => "Verificar ${email}";
|
||||
static String m66(email) => "Verificar ${email}";
|
||||
|
||||
static String m66(email) => "Enviamos um e-mail à <green>${email}</green>";
|
||||
static String m67(email) => "Enviamos um e-mail à <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} anos atrás', other: '${count} anos atrás')}";
|
||||
|
||||
static String m68(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Você liberou ${storageSaved} com sucesso!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
@@ -370,11 +370,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Você verá dispositivos disponíveis para transmitir aqui."),
|
||||
"autoCastiOSPermission": MessageLookupByLibrary.simpleMessage(
|
||||
"Certifique-se de que as permissões de Rede local estão ativadas para o aplicativo de Fotos Ente, em Configurações."),
|
||||
"autoLogoutMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Devido a erros técnicos, você foi desconectado. Pedimos desculpas pelo inconveniente."),
|
||||
"autoPair":
|
||||
MessageLookupByLibrary.simpleMessage("Pareamento automático"),
|
||||
"autoPairDesc": MessageLookupByLibrary.simpleMessage(
|
||||
"O pareamento automático funciona apenas com dispositivos que suportam o Chromecast."),
|
||||
"available": MessageLookupByLibrary.simpleMessage("Disponível"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders":
|
||||
MessageLookupByLibrary.simpleMessage("Backup de pastas concluído"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("Backup"),
|
||||
@@ -400,10 +403,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Só é possível remover arquivos de sua propriedade"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancelar"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Cancelar assinatura"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Não é possível excluir arquivos compartilhados"),
|
||||
"castIPMismatchBody": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -431,7 +434,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Reivindicar armazenamento gratuito"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Reivindique mais!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Reivindicado"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Limpar Sem Categoria"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -458,7 +461,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Crie um link para permitir que as pessoas adicionem e vejam fotos no seu álbum compartilhado sem a necessidade do aplicativo ou uma conta Ente. Ótimo para colecionar fotos de eventos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Link Colaborativo"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Colaborador"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
@@ -487,10 +490,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Confirme sua chave de recuperação"),
|
||||
"connectToDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Conectar ao dispositivo"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contate o suporte"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contatos"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Conteúdos"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continuar"),
|
||||
@@ -533,7 +536,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"currentUsageIs":
|
||||
MessageLookupByLibrary.simpleMessage("O uso atual é "),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("Personalizado"),
|
||||
"customEndpoint": m69,
|
||||
"customEndpoint": m15,
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("Escuro"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("Hoje"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("Ontem"),
|
||||
@@ -569,10 +572,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Excluir do dispositivo"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Excluir do Ente"),
|
||||
"deleteItemCount": m14,
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation": MessageLookupByLibrary.simpleMessage("Excluir Local"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Excluir fotos"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Está faltando um recurso-chave que eu preciso"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -611,7 +614,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Os espectadores ainda podem tirar screenshots ou salvar uma cópia de suas fotos usando ferramentas externas"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Observe"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Desativar autenticação de dois fatores"),
|
||||
"disablingTwofactorAuthentication":
|
||||
@@ -635,9 +638,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Falha no download"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Fazendo download..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Editar"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Editar local"),
|
||||
"editLocationTagTitle":
|
||||
@@ -648,8 +651,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Edições para local só serão vistas dentro do Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("elegível"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("Verificação de e-mail"),
|
||||
"emailYourLogs":
|
||||
@@ -754,8 +757,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("Tipos de arquivo"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Tipos de arquivo e nomes"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Arquivos excluídos"),
|
||||
"filesSavedToGallery":
|
||||
@@ -771,24 +774,23 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Rostos encontrados"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Armazenamento gratuito reivindicado"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Armazenamento livre utilizável"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Teste gratuito"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage(
|
||||
"Liberar espaço no dispositivo"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Liberar espaço"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Até 1000 memórias mostradas na galeria"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Geral"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Gerando chaves de criptografia..."),
|
||||
"genericProgress": m30,
|
||||
"genericProgress": m31,
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Ir para Configurações"),
|
||||
"googlePlayId":
|
||||
@@ -857,7 +859,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que algo deu errado. Por favor, tente novamente mais tarde. Se o erro persistir, entre em contato com nossa equipe de suporte."),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Os itens mostram o número de dias restantes antes da exclusão permanente"),
|
||||
@@ -885,7 +887,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Limite do dispositivo"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Ativado"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Expirado"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Expiração do link"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("O link expirou"),
|
||||
@@ -961,7 +963,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"maps": MessageLookupByLibrary.simpleMessage("Mapas"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Produtos"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, note que isso resultará em uma largura de banda maior e uso de bateria até que todos os itens sejam indexados."),
|
||||
@@ -973,11 +975,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Modifique sua consulta ou tente procurar por"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momentos"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensal"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("Mover para álbum"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Mover para álbum oculto"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Movido para a lixeira"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1055,7 +1057,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Senha alterada com sucesso"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Bloqueio de senha"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nós não salvamos essa senha, se você esquecer <underline> nós não poderemos descriptografar seus dados</underline>"),
|
||||
"paymentDetails":
|
||||
@@ -1064,7 +1066,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Falha no pagamento"),
|
||||
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Infelizmente o seu pagamento falhou. Entre em contato com o suporte e nós ajudaremos você!"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Itens pendentes"),
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronização pendente"),
|
||||
@@ -1091,7 +1093,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fixar álbum"),
|
||||
"playOnTv":
|
||||
MessageLookupByLibrary.simpleMessage("Reproduzir álbum na TV"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Assinatura da PlayStore"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
@@ -1103,12 +1105,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, contate o suporte se o problema persistir"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, conceda as permissões"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, faça login novamente"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor, tente novamente"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
@@ -1145,7 +1147,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Avalie o aplicativo"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Avalie-nos"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recuperar conta"),
|
||||
@@ -1177,7 +1179,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Envie esse código aos seus amigos"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Eles se inscreveram para um plano pago"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referências"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Referências estão atualmente pausadas"),
|
||||
@@ -1201,7 +1203,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("Remover link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Remover participante"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel":
|
||||
MessageLookupByLibrary.simpleMessage("Remover etiqueta da pessoa"),
|
||||
"removePublicLink":
|
||||
@@ -1217,7 +1219,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("Renomear arquivo"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renovar assinatura"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug":
|
||||
MessageLookupByLibrary.simpleMessage("Reportar um problema"),
|
||||
"reportBug":
|
||||
@@ -1283,7 +1285,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Fotos de grupo que estão sendo tiradas em algum raio da foto"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Convide pessoas e você verá todas as fotos compartilhadas por elas aqui"),
|
||||
"searchResultCount": m45,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Segurança"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Selecionar um local"),
|
||||
@@ -1311,8 +1313,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Os itens selecionados serão excluídos de todos os álbuns e movidos para a lixeira."),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Enviar e-mail"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Enviar convite"),
|
||||
@@ -1338,16 +1340,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Compartilhar um álbum agora"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartilhar link"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar apenas com as pessoas que você quiser"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Baixe o Ente para que possamos compartilhar facilmente fotos e vídeos de qualidade original\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar com usuários não-Ente"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar seu primeiro álbum"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1360,7 +1362,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Novas fotos compartilhadas"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Receber notificações quando alguém adicionar uma foto em um álbum compartilhado que você faz parte"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Compartilhado comigo"),
|
||||
"sharedWithYou":
|
||||
@@ -1376,11 +1378,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Encerrar sessão em outros dispositivos"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Eu concordo com os <u-terms>termos de serviço</u-terms> e a <u-policy>política de privacidade</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Ele será excluído de todos os álbuns."),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Pular"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Redes sociais"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
@@ -1425,13 +1427,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Armazenamento"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Família"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Você"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Limite de armazenamento excedido"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Assinar"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que sua assinatura expirou. Por favor inscreva-se para ativar o compartilhamento."),
|
||||
@@ -1448,7 +1450,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Sugerir recurso"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Suporte"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronização interrompida"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||
@@ -1475,7 +1477,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Estes itens serão excluídos do seu dispositivo."),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ele será excluído de todos os álbuns."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1491,7 +1493,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("Este e-mail já está em uso"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta imagem não tem dados exif"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Este é o seu ID de verificação"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1507,7 +1509,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Tamanho total"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Lixeira"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Tente novamente"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Ative o backup para enviar automaticamente arquivos adicionados a esta pasta do dispositivo para o Ente."),
|
||||
@@ -1560,7 +1562,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Utilizar foto selecionada"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Espaço em uso"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Falha na verificação, por favor, tente novamente"),
|
||||
@@ -1568,7 +1570,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("ID de Verificação"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verificar e-mail"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar chave de acesso"),
|
||||
@@ -1601,12 +1603,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Não suportamos a edição de fotos e álbuns que você ainda não possui"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Fraca"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Bem-vindo de volta!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Anual"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Sim"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sim, cancelar"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1637,7 +1639,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"Você não pode compartilhar consigo mesmo"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Você não tem nenhum item arquivado."),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Sua conta foi excluída"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Seu mapa"),
|
||||
|
||||
261
mobile/lib/generated/intl/messages_zh.dart
generated
@@ -41,160 +41,160 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
|
||||
static String m7(versionValue) => "版本: ${versionValue}";
|
||||
|
||||
static String m8(paymentProvider) => "请先取消您现有的订阅 ${paymentProvider}";
|
||||
static String m8(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} 空闲";
|
||||
|
||||
static String m9(user) => "${user} 将无法添加更多照片到此相册\n\n他们仍然能够删除他们添加的现有照片";
|
||||
static String m9(paymentProvider) => "请先取消您现有的订阅 ${paymentProvider}";
|
||||
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(user) => "${user} 将无法添加更多照片到此相册\n\n他们仍然能够删除他们添加的现有照片";
|
||||
|
||||
static String m11(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true': '到目前为止,您的家庭已经领取了 ${storageAmountInGb} GB',
|
||||
'false': '到目前为止,您已经领取了 ${storageAmountInGb} GB',
|
||||
'other': '到目前为止,您已经领取了${storageAmountInGb} GB',
|
||||
})}";
|
||||
|
||||
static String m11(albumName) => "为 ${albumName} 创建了协作链接";
|
||||
static String m12(albumName) => "为 ${albumName} 创建了协作链接";
|
||||
|
||||
static String m12(familyAdminEmail) =>
|
||||
static String m13(familyAdminEmail) =>
|
||||
"请联系 <green>${familyAdminEmail}</green> 来管理您的订阅";
|
||||
|
||||
static String m13(provider) =>
|
||||
static String m14(provider) =>
|
||||
"请通过support@ente.io 用英语联系我们来管理您的 ${provider} 订阅。";
|
||||
|
||||
static String m69(endpoint) => "已连接至 ${endpoint}";
|
||||
static String m15(endpoint) => "已连接至 ${endpoint}";
|
||||
|
||||
static String m14(count) =>
|
||||
static String m16(count) =>
|
||||
"${Intl.plural(count, one: '删除 ${count} 个项目', other: '删除 ${count} 个项目')}";
|
||||
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
static String m17(currentlyDeleting, totalCount) =>
|
||||
"正在删除 ${currentlyDeleting} /共 ${totalCount}";
|
||||
|
||||
static String m16(albumName) => "这将删除用于访问\"${albumName}\"的公开链接。";
|
||||
static String m18(albumName) => "这将删除用于访问\"${albumName}\"的公开链接。";
|
||||
|
||||
static String m17(supportEmail) => "请从您注册的邮箱发送一封邮件到 ${supportEmail}";
|
||||
static String m19(supportEmail) => "请从您注册的邮箱发送一封邮件到 ${supportEmail}";
|
||||
|
||||
static String m18(count, storageSaved) =>
|
||||
static String m20(count, storageSaved) =>
|
||||
"您已经清理了 ${Intl.plural(count, other: '${count} 个重复文件')}, 释放了 (${storageSaved}!)";
|
||||
|
||||
static String m19(count, formattedSize) =>
|
||||
static String m21(count, formattedSize) =>
|
||||
"${count} 个文件,每个文件 ${formattedSize}";
|
||||
|
||||
static String m20(newEmail) => "电子邮件已更改为 ${newEmail}";
|
||||
static String m22(newEmail) => "电子邮件已更改为 ${newEmail}";
|
||||
|
||||
static String m21(email) => "${email} 没有 Ente 帐户。\n\n向他们发出共享照片的邀请。";
|
||||
static String m23(email) => "${email} 没有 Ente 帐户。\n\n向他们发出共享照片的邀请。";
|
||||
|
||||
static String m22(count, formattedNumber) =>
|
||||
static String m24(count, formattedNumber) =>
|
||||
"此设备上的 ${Intl.plural(count, one: '1 个文件', other: '${formattedNumber} 个文件')} 已安全备份";
|
||||
|
||||
static String m23(count, formattedNumber) =>
|
||||
static String m25(count, formattedNumber) =>
|
||||
"此相册中的 ${Intl.plural(count, one: '1 个文件', other: '${formattedNumber} 个文件')} 已安全备份";
|
||||
|
||||
static String m24(storageAmountInGB) =>
|
||||
static String m26(storageAmountInGB) =>
|
||||
"每当有人使用您的代码注册付费计划时您将获得${storageAmountInGB} GB";
|
||||
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} 空闲";
|
||||
static String m27(endDate) => "免费试用有效期至 ${endDate}";
|
||||
|
||||
static String m26(endDate) => "免费试用有效期至 ${endDate}";
|
||||
|
||||
static String m27(count) =>
|
||||
static String m28(count) =>
|
||||
"只要您有有效的订阅,您仍然可以在 Ente 上访问 ${Intl.plural(count, one: '它', other: '它们')}";
|
||||
|
||||
static String m28(sizeInMBorGB) => "释放 ${sizeInMBorGB}";
|
||||
static String m29(sizeInMBorGB) => "释放 ${sizeInMBorGB}";
|
||||
|
||||
static String m29(count, formattedSize) =>
|
||||
static String m30(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: '它可以从设备中删除以释放 ${formattedSize}', other: '它们可以从设备中删除以释放 ${formattedSize}')}";
|
||||
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
static String m31(currentlyProcessing, totalCount) =>
|
||||
"正在处理 ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m31(count) =>
|
||||
static String m32(count) =>
|
||||
"${Intl.plural(count, one: '${count} 个项目', other: '${count} 个项目')}";
|
||||
|
||||
static String m32(expiryTime) => "链接将在 ${expiryTime} 过期";
|
||||
static String m33(expiryTime) => "链接将在 ${expiryTime} 过期";
|
||||
|
||||
static String m33(count, formattedCount) =>
|
||||
static String m34(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: '没有回忆', one: '${formattedCount} 个回忆', other: '${formattedCount} 个回忆')}";
|
||||
|
||||
static String m34(count) =>
|
||||
static String m35(count) =>
|
||||
"${Intl.plural(count, one: '移动一个项目', other: '移动一些项目')}";
|
||||
|
||||
static String m35(albumName) => "成功移动到 ${albumName}";
|
||||
static String m36(albumName) => "成功移动到 ${albumName}";
|
||||
|
||||
static String m36(passwordStrengthValue) => "密码强度: ${passwordStrengthValue}";
|
||||
static String m37(passwordStrengthValue) => "密码强度: ${passwordStrengthValue}";
|
||||
|
||||
static String m37(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天";
|
||||
static String m38(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天";
|
||||
|
||||
static String m38(endDate) => "免费试用有效期至 ${endDate}。\n在此之后您可以选择付费计划。";
|
||||
static String m39(endDate) => "免费试用有效期至 ${endDate}。\n在此之后您可以选择付费计划。";
|
||||
|
||||
static String m39(toEmail) => "请给我们发送电子邮件至 ${toEmail}";
|
||||
static String m40(toEmail) => "请给我们发送电子邮件至 ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "请将日志发送至 \n${toEmail}";
|
||||
static String m41(toEmail) => "请将日志发送至 \n${toEmail}";
|
||||
|
||||
static String m41(storeName) => "在 ${storeName} 上给我们评分";
|
||||
static String m42(storeName) => "在 ${storeName} 上给我们评分";
|
||||
|
||||
static String m42(storageInGB) => "3. 你和朋友都将免费获得 ${storageInGB} GB*";
|
||||
static String m43(storageInGB) => "3. 你和朋友都将免费获得 ${storageInGB} GB*";
|
||||
|
||||
static String m43(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} 将从这个共享相册中删除\n\nTA们添加的任何照片也将从相册中删除";
|
||||
|
||||
static String m44(endDate) => "在 ${endDate} 前续费";
|
||||
static String m45(endDate) => "在 ${endDate} 前续费";
|
||||
|
||||
static String m45(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, other: '已找到 ${count} 个结果')}";
|
||||
|
||||
static String m46(count) => "已选择 ${count} 个";
|
||||
static String m47(count) => "已选择 ${count} 个";
|
||||
|
||||
static String m47(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)";
|
||||
static String m48(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)";
|
||||
|
||||
static String m48(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。";
|
||||
static String m49(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"嘿,你能确认这是你的 ente.io 验证 ID吗:${verificationID}";
|
||||
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"Ente 推荐代码:${referralCode}\n\n在 \"设置\"→\"通用\"→\"推荐 \"中应用它,即可在注册付费计划后免费获得 ${referralStorageInGB} GB 存储空间\n\nhttps://ente.io";
|
||||
|
||||
static String m51(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: '与特定人员共享', one: '与 1 人共享', other: '与 ${numberOfPeople} 人共享')}";
|
||||
|
||||
static String m52(emailIDs) => "与 ${emailIDs} 共享";
|
||||
static String m53(emailIDs) => "与 ${emailIDs} 共享";
|
||||
|
||||
static String m53(fileType) => "此 ${fileType} 将从您的设备中删除。";
|
||||
static String m54(fileType) => "此 ${fileType} 将从您的设备中删除。";
|
||||
|
||||
static String m54(fileType) => "${fileType} 已同时存在于 Ente 和您的设备中。";
|
||||
static String m55(fileType) => "${fileType} 已同时存在于 Ente 和您的设备中。";
|
||||
|
||||
static String m55(fileType) => "${fileType} 将从 Ente 中删除。";
|
||||
static String m56(fileType) => "${fileType} 将从 Ente 中删除。";
|
||||
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m57(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"已使用 ${usedAmount} ${usedStorageUnit} / ${totalAmount} ${totalStorageUnit}";
|
||||
|
||||
static String m58(id) =>
|
||||
static String m59(id) =>
|
||||
"您的 ${id} 已链接到另一个 Ente 账户。\n如果您想在此账户中使用您的 ${id} ,请联系我们的支持人员";
|
||||
|
||||
static String m59(endDate) => "您的订阅将于 ${endDate} 取消";
|
||||
static String m60(endDate) => "您的订阅将于 ${endDate} 取消";
|
||||
|
||||
static String m60(completed, total) => "已保存的回忆 ${completed}/共 ${total}";
|
||||
static String m61(completed, total) => "已保存的回忆 ${completed}/共 ${total}";
|
||||
|
||||
static String m61(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB";
|
||||
static String m62(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB";
|
||||
|
||||
static String m62(email) => "这是 ${email} 的验证ID";
|
||||
static String m63(email) => "这是 ${email} 的验证ID";
|
||||
|
||||
static String m63(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1天', other: '${count} 天')}";
|
||||
|
||||
static String m64(endDate) => "有效期至 ${endDate}";
|
||||
static String m65(endDate) => "有效期至 ${endDate}";
|
||||
|
||||
static String m65(email) => "验证 ${email}";
|
||||
static String m66(email) => "验证 ${email}";
|
||||
|
||||
static String m66(email) => "我们已经发送邮件到 <green>${email}</green>";
|
||||
static String m67(email) => "我们已经发送邮件到 <green>${email}</green>";
|
||||
|
||||
static String m67(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} 年前', other: '${count} 年前')}";
|
||||
|
||||
static String m68(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||
static String m69(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
@@ -325,10 +325,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("您将在此处看到可用的 Cast 设备。"),
|
||||
"autoCastiOSPermission": MessageLookupByLibrary.simpleMessage(
|
||||
"请确保已在“设置”中为 Ente Photos 应用打开本地网络权限。"),
|
||||
"autoLogoutMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"由于技术故障,您已退出登录。对于由此造成的不便,我们深表歉意。"),
|
||||
"autoPair": MessageLookupByLibrary.simpleMessage("自动配对"),
|
||||
"autoPairDesc":
|
||||
MessageLookupByLibrary.simpleMessage("自动配对仅适用于支持 Chromecast 的设备。"),
|
||||
"available": MessageLookupByLibrary.simpleMessage("可用"),
|
||||
"availableStorageSpace": m8,
|
||||
"backedUpFolders": MessageLookupByLibrary.simpleMessage("已备份的文件夹"),
|
||||
"backup": MessageLookupByLibrary.simpleMessage("备份"),
|
||||
"backupFailed": MessageLookupByLibrary.simpleMessage("备份失败"),
|
||||
@@ -347,9 +350,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"canOnlyRemoveFilesOwnedByYou":
|
||||
MessageLookupByLibrary.simpleMessage("只能删除您拥有的文件"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelOtherSubscription": m9,
|
||||
"cancelSubscription": MessageLookupByLibrary.simpleMessage("取消订阅"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m10,
|
||||
"cannotDeleteSharedFiles":
|
||||
MessageLookupByLibrary.simpleMessage("无法删除共享文件"),
|
||||
"castIPMismatchBody":
|
||||
@@ -371,7 +374,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"claimFreeStorage": MessageLookupByLibrary.simpleMessage("领取免费存储"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("领取更多!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("已领取"),
|
||||
"claimedStorageSoFar": m10,
|
||||
"claimedStorageSoFar": m11,
|
||||
"cleanUncategorized": MessageLookupByLibrary.simpleMessage("清除未分类的"),
|
||||
"cleanUncategorizedDescription":
|
||||
MessageLookupByLibrary.simpleMessage("从“未分类”中删除其他相册中存在的所有文件"),
|
||||
@@ -391,7 +394,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"创建一个链接来让他人无需 Ente 应用程序或账户即可在您的共享相册中添加和查看照片。非常适合收集活动照片。"),
|
||||
"collaborativeLink": MessageLookupByLibrary.simpleMessage("协作链接"),
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborativeLinkCreatedFor": m12,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("协作者"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("协作者可以将照片和视频添加到共享相册中。"),
|
||||
@@ -413,9 +416,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"confirmYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("确认您的恢复密钥"),
|
||||
"connectToDevice": MessageLookupByLibrary.simpleMessage("连接到设备"),
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactFamilyAdmin": m13,
|
||||
"contactSupport": MessageLookupByLibrary.simpleMessage("联系支持"),
|
||||
"contactToManageSubscription": m13,
|
||||
"contactToManageSubscription": m14,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("联系人"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("内容"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("继续"),
|
||||
@@ -447,7 +450,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("可用的关键更新"),
|
||||
"currentUsageIs": MessageLookupByLibrary.simpleMessage("当前用量 "),
|
||||
"custom": MessageLookupByLibrary.simpleMessage("自定义"),
|
||||
"customEndpoint": m69,
|
||||
"customEndpoint": m15,
|
||||
"darkTheme": MessageLookupByLibrary.simpleMessage("深色"),
|
||||
"dayToday": MessageLookupByLibrary.simpleMessage("今天"),
|
||||
"dayYesterday": MessageLookupByLibrary.simpleMessage("昨天"),
|
||||
@@ -476,10 +479,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"deleteFromBoth": MessageLookupByLibrary.simpleMessage("同时从两者中删除"),
|
||||
"deleteFromDevice": MessageLookupByLibrary.simpleMessage("从设备中删除"),
|
||||
"deleteFromEnte": MessageLookupByLibrary.simpleMessage("从 Ente 中删除"),
|
||||
"deleteItemCount": m14,
|
||||
"deleteItemCount": m16,
|
||||
"deleteLocation": MessageLookupByLibrary.simpleMessage("删除位置"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("删除照片"),
|
||||
"deleteProgress": m15,
|
||||
"deleteProgress": m17,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage("找不到我想要的功能"),
|
||||
"deleteReason2":
|
||||
MessageLookupByLibrary.simpleMessage("应用或某个功能没有按我的预期运行"),
|
||||
@@ -510,7 +513,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("查看者仍然可以使用外部工具截图或保存您的照片副本"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("请注意"),
|
||||
"disableLinkMessage": m16,
|
||||
"disableLinkMessage": m18,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage("禁用双重认证"),
|
||||
"disablingTwofactorAuthentication":
|
||||
MessageLookupByLibrary.simpleMessage("正在禁用双重认证..."),
|
||||
@@ -527,9 +530,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"download": MessageLookupByLibrary.simpleMessage("下载"),
|
||||
"downloadFailed": MessageLookupByLibrary.simpleMessage("下載失敗"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("正在下载..."),
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"dropSupportEmail": m19,
|
||||
"duplicateFileCountWithStorageSaved": m20,
|
||||
"duplicateItemsGroup": m21,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("编辑"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("编辑位置"),
|
||||
"editLocationTagTitle": MessageLookupByLibrary.simpleMessage("编辑位置"),
|
||||
@@ -538,8 +541,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("对位置的编辑只能在 Ente 内看到"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("符合资格"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("电子邮件地址"),
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailChangedTo": m22,
|
||||
"emailNoEnteAccount": m23,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("电子邮件验证"),
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage("通过电子邮件发送您的日志"),
|
||||
@@ -620,8 +623,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"fileSavedToGallery": MessageLookupByLibrary.simpleMessage("文件已保存到相册"),
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("文件类型"),
|
||||
"fileTypesAndNames": MessageLookupByLibrary.simpleMessage("文件类型和名称"),
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesBackedUpFromDevice": m24,
|
||||
"filesBackedUpInAlbum": m25,
|
||||
"filesDeleted": MessageLookupByLibrary.simpleMessage("文件已删除"),
|
||||
"filesSavedToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("多个文件已保存到相册"),
|
||||
@@ -631,22 +634,23 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"forgotPassword": MessageLookupByLibrary.simpleMessage("忘记密码"),
|
||||
"foundFaces": MessageLookupByLibrary.simpleMessage("已找到的人脸"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage("已领取的免费存储"),
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageOnReferralSuccess": m26,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage("可用的免费存储"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("免费试用"),
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeTrialValidTill": m27,
|
||||
"freeUpAccessPostDelete": m28,
|
||||
"freeUpAmount": m29,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("释放设备空间"),
|
||||
"freeUpDeviceSpaceDesc":
|
||||
MessageLookupByLibrary.simpleMessage("通过清除已备份的文件来节省设备空间。"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("释放空间"),
|
||||
"freeUpSpaceSaving": m29,
|
||||
"freeUpSpaceSaving": m30,
|
||||
"galleryMemoryLimitInfo":
|
||||
MessageLookupByLibrary.simpleMessage("在图库中显示最多1000个回忆"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("通用"),
|
||||
"generatingEncryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("正在生成加密密钥..."),
|
||||
"genericProgress": m30,
|
||||
"genericProgress": m31,
|
||||
"goToSettings": MessageLookupByLibrary.simpleMessage("前往设置"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
"grantFullAccessPrompt":
|
||||
@@ -703,7 +707,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"看起来出了点问题。 请稍后重试。 如果错误仍然存在,请联系我们的支持团队。"),
|
||||
"itemCount": m31,
|
||||
"itemCount": m32,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("项目显示永久删除前剩余的天数"),
|
||||
"itemsWillBeRemovedFromAlbum":
|
||||
@@ -726,7 +730,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("设备限制"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("已启用"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("已过期"),
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiresOn": m33,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("链接过期"),
|
||||
"linkHasExpired": MessageLookupByLibrary.simpleMessage("链接已过期"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("永不"),
|
||||
@@ -788,7 +792,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"maps": MessageLookupByLibrary.simpleMessage("地图"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m33,
|
||||
"memoryCount": m34,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("商品"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"请注意,机器学习将使用更高的带宽和更多的电量,直到所有项目都被索引为止。"),
|
||||
@@ -799,10 +803,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("修改您的查询,或尝试搜索"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("瞬间"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("每月"),
|
||||
"moveItem": m34,
|
||||
"moveItem": m35,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("移动到相册"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage("移至隐藏相册"),
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedSuccessfullyTo": m36,
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage("已移至回收站"),
|
||||
"movingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("正在将文件移动到相册..."),
|
||||
@@ -867,14 +871,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("密码修改成功"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("密码锁"),
|
||||
"passwordStrength": m36,
|
||||
"passwordStrength": m37,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"我们不储存这个密码,所以如果忘记, <underline>我们将无法解密您的数据</underline>"),
|
||||
"paymentDetails": MessageLookupByLibrary.simpleMessage("付款明细"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("支付失败"),
|
||||
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"不幸的是,您的付款失败。请联系支持人员,我们将为您提供帮助!"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedTalkToProvider": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("待处理项目"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage("正在等待同步"),
|
||||
"people": MessageLookupByLibrary.simpleMessage("人物"),
|
||||
@@ -893,7 +897,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage("选择中心点"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("置顶相册"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage("在电视上播放相册"),
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore 订阅"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
@@ -903,10 +907,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"请用英语联系 support@ente.io ,我们将乐意提供帮助!"),
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage("如果问题仍然存在,请联系支持"),
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("请授予权限"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("请重新登录"),
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("请重试"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
MessageLookupByLibrary.simpleMessage("请验证您输入的代码"),
|
||||
@@ -932,7 +936,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("提升工单"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("为此应用评分"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("给我们评分"),
|
||||
"rateUsOnStore": m41,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("恢复账户"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||
@@ -957,7 +961,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("把我们推荐给你的朋友然后获得延长一倍的订阅计划"),
|
||||
"referralStep1": MessageLookupByLibrary.simpleMessage("1. 将此代码提供给您的朋友"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage("2. 他们注册一个付费计划"),
|
||||
"referralStep3": m42,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("推荐"),
|
||||
"referralsAreCurrentlyPaused":
|
||||
MessageLookupByLibrary.simpleMessage("推荐已暂停"),
|
||||
@@ -970,13 +974,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"remoteVideos": MessageLookupByLibrary.simpleMessage("云端视频"),
|
||||
"remove": MessageLookupByLibrary.simpleMessage("移除"),
|
||||
"removeDuplicates": MessageLookupByLibrary.simpleMessage("移除重复内容"),
|
||||
"removeDuplicatesDesc":
|
||||
MessageLookupByLibrary.simpleMessage("检查并删除完全重复的文件。"),
|
||||
"removeFromAlbum": MessageLookupByLibrary.simpleMessage("从相册中移除"),
|
||||
"removeFromAlbumTitle":
|
||||
MessageLookupByLibrary.simpleMessage("要从相册中移除吗?"),
|
||||
"removeFromFavorite": MessageLookupByLibrary.simpleMessage("从收藏中移除"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
||||
"removeParticipant": MessageLookupByLibrary.simpleMessage("移除参与者"),
|
||||
"removeParticipantBody": m43,
|
||||
"removeParticipantBody": m44,
|
||||
"removePersonLabel": MessageLookupByLibrary.simpleMessage("移除人物标签"),
|
||||
"removePublicLink": MessageLookupByLibrary.simpleMessage("删除公开链接"),
|
||||
"removeShareItemsWarning":
|
||||
@@ -988,7 +994,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"renameAlbum": MessageLookupByLibrary.simpleMessage("重命名相册"),
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("重命名文件"),
|
||||
"renewSubscription": MessageLookupByLibrary.simpleMessage("续费订阅"),
|
||||
"renewsOn": m44,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("重新发送电子邮件"),
|
||||
@@ -1036,7 +1042,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("在照片的一定半径内拍摄的几组照片"),
|
||||
"searchPeopleEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("邀请他人,您将在此看到他们分享的所有照片"),
|
||||
"searchResultCount": m45,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("安全"),
|
||||
"selectALocation": MessageLookupByLibrary.simpleMessage("选择一个位置"),
|
||||
"selectALocationFirst":
|
||||
@@ -1056,8 +1062,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("所选文件夹将被加密并备份"),
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage("所选项目将从所有相册中删除并移动到回收站。"),
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("发送"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("发送电子邮件"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("发送邀请"),
|
||||
@@ -1077,16 +1083,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("打开相册并点击右上角的分享按钮进行分享"),
|
||||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("立即分享相册"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("分享链接"),
|
||||
"shareMyVerificationID": m48,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant":
|
||||
MessageLookupByLibrary.simpleMessage("仅与您想要的人分享"),
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte":
|
||||
MessageLookupByLibrary.simpleMessage("下载 Ente,让我们轻松共享高质量的原始照片和视频"),
|
||||
"shareTextReferralCode": m50,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("与非 Ente 用户共享"),
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("分享您的第一个相册"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
@@ -1097,7 +1103,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("新共享的照片"),
|
||||
"sharedPhotoNotificationsExplanation":
|
||||
MessageLookupByLibrary.simpleMessage("当有人将照片添加到您所属的共享相册时收到通知"),
|
||||
"sharedWith": m52,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("与我共享"),
|
||||
"sharedWithYou": MessageLookupByLibrary.simpleMessage("已与您共享"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("正在分享..."),
|
||||
@@ -1109,11 +1115,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"signOutOtherDevices": MessageLookupByLibrary.simpleMessage("登出其他设备"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"我同意 <u-terms>服务条款</u-terms> 和 <u-policy>隐私政策</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight":
|
||||
MessageLookupByLibrary.simpleMessage("它将从所有相册中删除。"),
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("跳过"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("社交"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
@@ -1146,12 +1152,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"storage": MessageLookupByLibrary.simpleMessage("存储空间"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("家庭"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("您"),
|
||||
"storageInGB": m56,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage("已超出存储限制"),
|
||||
"storageUsageInfo": m57,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("强"),
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("订阅"),
|
||||
"subscribeToEnableSharing":
|
||||
MessageLookupByLibrary.simpleMessage("您的订阅似乎已过期。请订阅以启用分享。"),
|
||||
@@ -1164,7 +1170,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"successfullyUnhid": MessageLookupByLibrary.simpleMessage("已成功取消隐藏"),
|
||||
"suggestFeatures": MessageLookupByLibrary.simpleMessage("建议新功能"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("支持"),
|
||||
"syncProgress": m60,
|
||||
"syncProgress": m61,
|
||||
"syncStopped": MessageLookupByLibrary.simpleMessage("同步已停止"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("正在同步···"),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("适应系统"),
|
||||
@@ -1187,7 +1193,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"theme": MessageLookupByLibrary.simpleMessage("主题"),
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage("这些项目将从您的设备中删除。"),
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("他们将从所有相册中删除。"),
|
||||
"thisActionCannotBeUndone":
|
||||
@@ -1201,7 +1207,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("这个邮箱地址已经被使用"),
|
||||
"thisImageHasNoExifData":
|
||||
MessageLookupByLibrary.simpleMessage("此图像没有Exif 数据"),
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("这是您的验证 ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
@@ -1215,7 +1221,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"total": MessageLookupByLibrary.simpleMessage("总计"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("总大小"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("回收站"),
|
||||
"trashDaysLeft": m63,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("请再试一次"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"打开备份可自动上传添加到此设备文件夹的文件至 Ente。"),
|
||||
@@ -1258,13 +1264,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage("使用恢复密钥"),
|
||||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage("使用所选照片"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("已用空间"),
|
||||
"validTill": m64,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("验证失败,请重试"),
|
||||
"verificationId": MessageLookupByLibrary.simpleMessage("验证 ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("验证"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("验证电子邮件"),
|
||||
"verifyEmailID": m65,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("验证"),
|
||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("验证通行密钥"),
|
||||
"verifyPassword": MessageLookupByLibrary.simpleMessage("验证密码"),
|
||||
@@ -1277,6 +1283,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"viewAddOnButton": MessageLookupByLibrary.simpleMessage("查看附加组件"),
|
||||
"viewAll": MessageLookupByLibrary.simpleMessage("查看全部"),
|
||||
"viewAllExifData": MessageLookupByLibrary.simpleMessage("查看所有 EXIF 数据"),
|
||||
"viewLargeFiles": MessageLookupByLibrary.simpleMessage("大文件"),
|
||||
"viewLargeFilesDesc":
|
||||
MessageLookupByLibrary.simpleMessage("查看占用存储空间最多的文件"),
|
||||
"viewLogs": MessageLookupByLibrary.simpleMessage("查看日志"),
|
||||
"viewRecoveryKey": MessageLookupByLibrary.simpleMessage("查看恢复密钥"),
|
||||
"viewer": MessageLookupByLibrary.simpleMessage("查看者"),
|
||||
@@ -1288,11 +1297,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"weAreOpenSource": MessageLookupByLibrary.simpleMessage("我们是开源的 !"),
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage("我们不支持编辑您尚未拥有的照片和相册"),
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("弱"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("欢迎回来!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("每年"),
|
||||
"yearsAgo": m67,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("是"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("是的,取消"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage("是的,转换为查看者"),
|
||||
@@ -1318,7 +1327,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("莫开玩笑,您不能与自己分享"),
|
||||
"youDontHaveAnyArchivedItems":
|
||||
MessageLookupByLibrary.simpleMessage("您没有任何存档的项目。"),
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("您的账户已删除"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("您的地图"),
|
||||
|
||||
48
mobile/lib/generated/l10n.dart
generated
@@ -3432,6 +3432,16 @@ class S {
|
||||
);
|
||||
}
|
||||
|
||||
/// `Save space on your device by clearing files that have been already backed up.`
|
||||
String get freeUpDeviceSpaceDesc {
|
||||
return Intl.message(
|
||||
'Save space on your device by clearing files that have been already backed up.',
|
||||
name: 'freeUpDeviceSpaceDesc',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `✨ All clear`
|
||||
String get allClear {
|
||||
return Intl.message(
|
||||
@@ -3462,6 +3472,36 @@ class S {
|
||||
);
|
||||
}
|
||||
|
||||
/// `Review and remove files that are exact duplicates.`
|
||||
String get removeDuplicatesDesc {
|
||||
return Intl.message(
|
||||
'Review and remove files that are exact duplicates.',
|
||||
name: 'removeDuplicatesDesc',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Large files`
|
||||
String get viewLargeFiles {
|
||||
return Intl.message(
|
||||
'Large files',
|
||||
name: 'viewLargeFiles',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `View files that are consuming the most amount of storage`
|
||||
String get viewLargeFilesDesc {
|
||||
return Intl.message(
|
||||
'View files that are consuming the most amount of storage',
|
||||
name: 'viewLargeFilesDesc',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `✨ No duplicates`
|
||||
String get noDuplicates {
|
||||
return Intl.message(
|
||||
@@ -6969,10 +7009,10 @@ class S {
|
||||
);
|
||||
}
|
||||
|
||||
/// `Persons will be shown here once indexing is done`
|
||||
/// `People will be shown here once indexing is done`
|
||||
String get searchFaceEmptySection {
|
||||
return Intl.message(
|
||||
'Persons will be shown here once indexing is done',
|
||||
'People will be shown here once indexing is done',
|
||||
name: 'searchFaceEmptySection',
|
||||
desc: '',
|
||||
args: [],
|
||||
@@ -7402,10 +7442,10 @@ class S {
|
||||
}
|
||||
|
||||
/// `{freeAmount} {storageUnit} free`
|
||||
String freeStorageSpace(Object freeAmount, Object storageUnit) {
|
||||
String availableStorageSpace(Object freeAmount, Object storageUnit) {
|
||||
return Intl.message(
|
||||
'$freeAmount $storageUnit free',
|
||||
name: 'freeStorageSpace',
|
||||
name: 'availableStorageSpace',
|
||||
desc: '',
|
||||
args: [freeAmount, storageUnit],
|
||||
);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"sendEmail": "E-Mail senden",
|
||||
"deleteRequestSLAText": "Deine Anfrage wird innerhalb von 72 Stunden bearbeitet.",
|
||||
"deleteEmailRequest": "Bitte sende eine E-Mail an <warning>account-deletion@ente.io</warning> von Deiner bei uns hinterlegten E-Mail-Adresse.",
|
||||
"entePhotosPerm": "ente <i>benötigt die Erlaubnis</i>, deine Fotos aufzubewahren",
|
||||
"entePhotosPerm": "",
|
||||
"ok": "Ok",
|
||||
"createAccount": "Konto erstellen",
|
||||
"createNewAccount": "Neues Konto erstellen",
|
||||
@@ -48,7 +48,7 @@
|
||||
"sorry": "Entschuldigung",
|
||||
"noRecoveryKeyNoDecryption": "Aufgrund unseres Ende-zu-Ende-Verschlüsselungsprotokolls können deine Daten nicht ohne dein Passwort oder deinen Wiederherstellungs-Schlüssel entschlüsselt werden",
|
||||
"verifyEmail": "E-Mail-Adresse verifizieren",
|
||||
"toResetVerifyEmail": "Um Ihr Passwort zurückzusetzen, verifizieren Sie bitte zuerst Ihre E-Mail Adresse.",
|
||||
"toResetVerifyEmail": "Um dein Passwort zurückzusetzen, verifiziere bitte zuerst deine E-Mail Adresse.",
|
||||
"checkInboxAndSpamFolder": "Bitte überprüfe deinen E-Mail-Posteingang (und Spam), um die Verifizierung abzuschließen",
|
||||
"tapToEnterCode": "Antippen, um den Code einzugeben",
|
||||
"resendEmail": "E-Mail erneut senden",
|
||||
@@ -143,7 +143,7 @@
|
||||
"lostDevice": "Gerät verloren?",
|
||||
"verifyingRecoveryKey": "Wiederherstellungs-Schlüssel wird überprüft...",
|
||||
"recoveryKeyVerified": "Wiederherstellungs-Schlüssel überprüft",
|
||||
"recoveryKeySuccessBody": "Sehr gut! Ihr Wiederherstellungsschlüssel ist gültig. Vielen Dank für die Verifizierung.\n\nBitte vergessen Sie nicht eine Kopie Ihres Wiederherstellungsschlüssels sicher aufzubewahren.",
|
||||
"recoveryKeySuccessBody": "Sehr gut! Dein Wiederherstellungsschlüssel ist gültig. Vielen Dank für die Verifizierung.\n\nBitte vergiss nicht eine Kopie des Wiederherstellungsschlüssels sicher aufzubewahren.",
|
||||
"invalidRecoveryKey": "Der von Ihnen eingegebene Wiederherstellungsschlüssel ist nicht gültig. Bitte stellen Sie sicher das aus 24 Wörtern zusammen gesetzt ist und jedes dieser Worte richtig geschrieben wurde.\n\nSollten Sie den Wiederherstellungscode eingegeben haben, stellen Sie bitte sicher, dass dieser 64 Worte lang ist und ebenfall richtig geschrieben wurde.",
|
||||
"invalidKey": "Ungültiger Schlüssel",
|
||||
"tryAgain": "Erneut versuchen",
|
||||
@@ -225,7 +225,7 @@
|
||||
},
|
||||
"description": "Number of participants in an album, including the album owner."
|
||||
},
|
||||
"collabLinkSectionDescription": "Erstelle einen Link, um anderen zu ermöglichen, Fotos in deinem geteilten Album hinzuzufügen und zu sehen - ohne dass diese ein Konto von ente.io oder die App benötigen. Ideal, um Fotos von Events zu sammeln.",
|
||||
"collabLinkSectionDescription": "Erstelle einen Link, mit dem andere Fotos in dem geteilten Album sehen und selbst welche hinzufügen können - ohne dass sie die ein Ente-Konto oder die App benötigen. Ideal um gemeinsam Fotos von Events zu sammeln.",
|
||||
"collectPhotos": "Fotos sammeln",
|
||||
"collaborativeLink": "Gemeinschaftlicher Link",
|
||||
"shareWithNonenteUsers": "Mit Nicht-Ente-Benutzern teilen",
|
||||
@@ -235,7 +235,7 @@
|
||||
"linkHasExpired": "Link ist abgelaufen",
|
||||
"publicLinkEnabled": "Öffentlicher Link aktiviert",
|
||||
"shareALink": "Einen Link teilen",
|
||||
"sharedAlbumSectionDescription": "Erstelle gemeinsame Alben mit anderen ente Benutzern, einschließlich solchen im kostenlosen Tarif.",
|
||||
"sharedAlbumSectionDescription": "Erstelle gemeinsam mit anderen Ente-Nutzern geteilte Alben, inkl. Nutzern ohne Bezahltarif.",
|
||||
"shareWithPeopleSectionTitle": "{numberOfPeople, plural, =0 {Teile mit bestimmten Personen} =1 {Teilen mit 1 Person} other {Teilen mit {numberOfPeople} Personen}}",
|
||||
"@shareWithPeopleSectionTitle": {
|
||||
"placeholders": {
|
||||
@@ -259,12 +259,12 @@
|
||||
},
|
||||
"verificationId": "Verifizierungs-ID",
|
||||
"verifyEmailID": "Verifiziere {email}",
|
||||
"emailNoEnteAccount": "{email} hat kein Ente-Konto.\n\nSenden Sie eine Einladung, um Fotos zu teilen.",
|
||||
"emailNoEnteAccount": "{email} hat kein Ente-Konto.\n\nSende eine Einladung, um Fotos zu teilen.",
|
||||
"shareMyVerificationID": "Hier ist meine Verifizierungs-ID: {verificationID} für ente.io.",
|
||||
"shareTextConfirmOthersVerificationID": "Hey, kannst du bestätigen, dass dies deine ente.io Verifizierungs-ID ist: {verificationID}",
|
||||
"somethingWentWrong": "Irgendetwas ging schief",
|
||||
"sendInvite": "Einladung senden",
|
||||
"shareTextRecommendUsingEnte": "Lade ente herunter, damit wir einfach Fotos und Videos in höchster Qualität teilen können\n\nhttps://ente.io",
|
||||
"shareTextRecommendUsingEnte": "Hol dir Ente, damit wir ganz einfach Fotos und Videos in Originalqualität teilen können\n\nhttps://ente.io",
|
||||
"done": "Fertig",
|
||||
"applyCodeTitle": "Code nutzen",
|
||||
"enterCodeDescription": "Gib den Code deines Freundes ein, damit sie beide kostenlosen Speicherplatz erhalten",
|
||||
@@ -281,7 +281,7 @@
|
||||
"claimMore": "Mehr einlösen!",
|
||||
"theyAlsoGetXGb": "Diese erhalten auch {storageAmountInGB} GB",
|
||||
"freeStorageOnReferralSuccess": "{storageAmountInGB} GB jedes Mal, wenn sich jemand mit deinem Code für einen bezahlten Tarif anmeldet",
|
||||
"shareTextReferralCode": "ente Weiterempfehlungs-Code: {referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um {referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io",
|
||||
"shareTextReferralCode": "Ente Weiterempfehlungs-Code: {referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um {referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io",
|
||||
"claimFreeStorage": "Freien Speicher einlösen",
|
||||
"inviteYourFriends": "Lade deine Freunde ein",
|
||||
"failedToFetchReferralDetails": "Die Weiterempfehlungs-Details können nicht abgerufen werden. Bitte versuche es später erneut.",
|
||||
@@ -304,6 +304,7 @@
|
||||
}
|
||||
},
|
||||
"faq": "Häufig gestellte Fragen",
|
||||
"help": "Hilfe",
|
||||
"oopsSomethingWentWrong": "Ups. Leider ist ein Fehler aufgetreten",
|
||||
"peopleUsingYourCode": "Leute, die deinen Code verwenden",
|
||||
"eligible": "zulässig",
|
||||
@@ -333,7 +334,7 @@
|
||||
"removeParticipantBody": "{userEmail} wird aus diesem geteilten Album entfernt\n\nAlle von ihnen hinzugefügte Fotos werden ebenfalls aus dem Album entfernt",
|
||||
"keepPhotos": "Fotos behalten",
|
||||
"deletePhotos": "Fotos löschen",
|
||||
"inviteToEnte": "Zu ente einladen",
|
||||
"inviteToEnte": "Zu Ente einladen",
|
||||
"removePublicLink": "Öffentlichen Link entfernen",
|
||||
"disableLinkMessage": "Der öffentliche Link zum Zugriff auf \"{albumName}\" wird entfernt.",
|
||||
"sharing": "Teilt...",
|
||||
@@ -349,10 +350,10 @@
|
||||
"videoSmallCase": "Video",
|
||||
"photoSmallCase": "Foto",
|
||||
"singleFileDeleteHighlight": "Es wird aus allen Alben gelöscht.",
|
||||
"singleFileInBothLocalAndRemote": "Dieses {fileType} existiert auf ente.io und deinem Gerät.",
|
||||
"singleFileInRemoteOnly": "Dieses {fileType} wird auf ente.io gelöscht.",
|
||||
"singleFileInBothLocalAndRemote": "Diese Datei ist sowohl in Ente als auch auf deinem Gerät.",
|
||||
"singleFileInRemoteOnly": "Diese Datei wird von Ente gelöscht.",
|
||||
"singleFileDeleteFromDevice": "Dieses {fileType} wird von deinem Gerät gelöscht.",
|
||||
"deleteFromEnte": "Auf ente.io löschen",
|
||||
"deleteFromEnte": "Von Ente löschen",
|
||||
"yesDelete": "Ja, löschen",
|
||||
"movedToTrash": "In den Papierkorb verschoben",
|
||||
"deleteFromDevice": "Vom Gerät löschen",
|
||||
@@ -408,7 +409,7 @@
|
||||
"manageDeviceStorage": "Gerätespeicher verwalten",
|
||||
"machineLearning": "Maschinelles Lernen",
|
||||
"magicSearch": "Magische Suche",
|
||||
"magicSearchDescription": "Bitte beachten Sie, dass dies mehr Bandbreite nutzt und zu einem höheren Akkuverbrauch führt, bis alle Elemente indiziert sind.",
|
||||
"mlIndexingDescription": "Bitte beachten Sie, dass Machine Learning zu einem höheren Bandbreiten- und Batterieverbrauch führt, bis alle Elemente indiziert sind.",
|
||||
"loadingModel": "Lade Modelle herunter...",
|
||||
"waitingForWifi": "Warte auf WLAN...",
|
||||
"status": "Status",
|
||||
@@ -444,7 +445,7 @@
|
||||
"backupOverMobileData": "Über mobile Daten sichern",
|
||||
"backupVideos": "Videos sichern",
|
||||
"disableAutoLock": "Automatische Sperre deaktivieren",
|
||||
"deviceLockExplanation": "Das Sperren des Gerätes verhindern, solange 'ente' im Vordergrund geöffnet ist und eine Sicherung läuft. \nDies wird für gewöhnlich nicht benötigt, kann aber dabei helfen große Transfers schneller durchzuführen.",
|
||||
"deviceLockExplanation": "Verhindern, dass der Bildschirm gesperrt wird, während die App im Vordergrund ist und eine Sicherung läuft. Das ist normalerweise nicht notwendig, kann aber dabei helfen, große Uploads wie einen Erstimport schneller abzuschließen.",
|
||||
"about": "Allgemeine Informationen",
|
||||
"weAreOpenSource": "Unser Quellcode ist offen einsehbar!",
|
||||
"privacy": "Datenschutz",
|
||||
@@ -464,7 +465,7 @@
|
||||
"authToInitiateAccountDeletion": "Bitte authentifizieren, um die Löschung des Kontos einzuleiten",
|
||||
"areYouSureYouWantToLogout": "Sind sie sicher, dass Sie sich abmelden wollen?",
|
||||
"yesLogout": "Ja, ausloggen",
|
||||
"aNewVersionOfEnteIsAvailable": "Eine neuere Version von 'ente' ist verfügbar.",
|
||||
"aNewVersionOfEnteIsAvailable": "Eine neue Version von Ente ist verfügbar.",
|
||||
"update": "Updaten",
|
||||
"installManually": "Manuell installieren",
|
||||
"criticalUpdateAvailable": "Kritisches Update ist verfügbar!",
|
||||
@@ -553,11 +554,11 @@
|
||||
"systemTheme": "System",
|
||||
"freeTrial": "Kostenlose Testphase",
|
||||
"selectYourPlan": "Wähle dein Abo aus",
|
||||
"enteSubscriptionPitch": "ente sichert deine Erinnerungsstücke, sodass sie immer für dich verfügbar sind, auch wenn du dein Gerät verlieren solltest.",
|
||||
"enteSubscriptionPitch": "Ente sichert deine Erinnerungen, sodass sie dir nie verloren gehen, selbst wenn du dein Gerät verlierst.",
|
||||
"enteSubscriptionShareWithFamily": "Deine Familie kann zu deinem Abo hinzugefügt werden.",
|
||||
"currentUsageIs": "Aktuell genutzt werden ",
|
||||
"@currentUsageIs": {
|
||||
"description": "This text is followed by storage usaged",
|
||||
"description": "This text is followed by storage usage",
|
||||
"examples": {
|
||||
"0": "Current usage is 1.2 GB"
|
||||
},
|
||||
@@ -619,7 +620,7 @@
|
||||
"appleId": "Apple ID",
|
||||
"playstoreSubscription": "PlayStore Abo",
|
||||
"appstoreSubscription": "AppStore Abo",
|
||||
"subAlreadyLinkedErrMessage": "Ihr {id} ist bereits mit einem anderen 'ente'-Konto verknüpft.\nWenn Sie Ihre {id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support'",
|
||||
"subAlreadyLinkedErrMessage": "Ihr {id} ist bereits mit einem anderen Ente-Konto verknüpft.\nWenn Sie Ihre {id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support",
|
||||
"visitWebToManage": "Bitte rufen Sie \"web.ente.io\" auf um ihr Abo zu verwalten",
|
||||
"couldNotUpdateSubscription": "Abo konnte nicht aktualisiert werden",
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp": "Bitte kontaktieren Sie uns über support@ente.io wo wir Ihnen gerne weiterhelfen.",
|
||||
@@ -640,7 +641,7 @@
|
||||
"thankYou": "Vielen Dank",
|
||||
"failedToVerifyPaymentStatus": "Überprüfung des Zahlungsstatus fehlgeschlagen",
|
||||
"pleaseWaitForSometimeBeforeRetrying": "Bitte warte kurz, bevor du es erneut versuchst",
|
||||
"paymentFailedWithReason": "Leider ist deine Zahlung aus folgendem Grund fehlgeschlagen: {reason}",
|
||||
"paymentFailedMessage": "Leider ist deine Zahlung fehlgeschlagen. Wende dich an unseren Support und wir helfen dir weiter!",
|
||||
"youAreOnAFamilyPlan": "Du bist im Familien-Tarif!",
|
||||
"contactFamilyAdmin": "Bitte kontaktiere <green>{familyAdminEmail}</green> um dein Abo zu verwalten",
|
||||
"leaveFamily": "Familienabo verlassen",
|
||||
@@ -664,9 +665,9 @@
|
||||
"everywhere": "überall",
|
||||
"androidIosWebDesktop": "Android, iOS, Web, Desktop",
|
||||
"mobileWebDesktop": "Mobil, Web, Desktop",
|
||||
"newToEnte": "Neu bei ente",
|
||||
"newToEnte": "Neu bei Ente",
|
||||
"pleaseLoginAgain": "Bitte logge dich erneut ein",
|
||||
"devAccountChanged": "Das Entwicklerkonto, das wir verwenden, um ente im App Store zu veröffentlichen, hat sich geändert. Aus diesem Grund musst du dich erneut anmelden.\n\nWir entschuldigen uns für die Unannehmlichkeiten, aber das war unvermeidlich.",
|
||||
"autoLogoutMessage": "Aufgrund technischer Störungen wurden Sie abgemeldet. Wir entschuldigen uns für die Unannehmlichkeiten.",
|
||||
"yourSubscriptionHasExpired": "Dein Abonnement ist abgelaufen",
|
||||
"storageLimitExceeded": "Speichergrenze überschritten",
|
||||
"upgrade": "Upgrade",
|
||||
@@ -677,12 +678,12 @@
|
||||
},
|
||||
"backupFailed": "Sicherung fehlgeschlagen",
|
||||
"couldNotBackUpTryLater": "Deine Daten konnten nicht gesichert werden.\nWir versuchen es später erneut.",
|
||||
"enteCanEncryptAndPreserveFilesOnlyIfYouGrant": "ente kann Dateien nur verschlüsselt sichern, wenn du uns darauf Zugriff gewährst",
|
||||
"enteCanEncryptAndPreserveFilesOnlyIfYouGrant": "Ente kann Dateien nur verschlüsseln und sichern, wenn du den Zugriff darauf gewährst",
|
||||
"pleaseGrantPermissions": "Bitte erteile die nötigen Berechtigungen",
|
||||
"grantPermission": "Zugriff gewähren",
|
||||
"privateSharing": "Privates Teilen",
|
||||
"shareOnlyWithThePeopleYouWant": "Teile mit ausgewählten Personen",
|
||||
"usePublicLinksForPeopleNotOnEnte": "Nutze öffentliche Links für Personen ohne ente.io Konto",
|
||||
"usePublicLinksForPeopleNotOnEnte": "Verwenden Sie öffentliche Links für Personen, die kein Ente-Konto haben",
|
||||
"allowPeopleToAddPhotos": "Erlaube anderen das Hinzufügen von Fotos",
|
||||
"shareAnAlbumNow": "Teile jetzt ein Album",
|
||||
"collectEventPhotos": "Gemeinsam Event-Fotos sammeln",
|
||||
@@ -694,7 +695,7 @@
|
||||
},
|
||||
"onDevice": "Auf dem Gerät",
|
||||
"@onEnte": {
|
||||
"description": "The text displayed above albums backed up to ente",
|
||||
"description": "The text displayed above albums backed up to Ente",
|
||||
"type": "text"
|
||||
},
|
||||
"onEnte": "Auf <branding>ente</branding>",
|
||||
@@ -740,7 +741,7 @@
|
||||
"saveCollage": "Collage speichern",
|
||||
"collageSaved": "Collage in Galerie gespeichert",
|
||||
"collageLayout": "Layout",
|
||||
"addToEnte": "Zu ente hinzufügen",
|
||||
"addToEnte": "Zu Ente hinzufügen",
|
||||
"addToAlbum": "Zum Album hinzufügen",
|
||||
"delete": "Löschen",
|
||||
"hide": "Ausblenden",
|
||||
@@ -805,10 +806,10 @@
|
||||
"photosAddedByYouWillBeRemovedFromTheAlbum": "Von dir hinzugefügte Fotos werden vom Album entfernt",
|
||||
"youveNoFilesInThisAlbumThatCanBeDeleted": "Du hast keine Dateien in diesem Album, die gelöscht werden können",
|
||||
"youDontHaveAnyArchivedItems": "Du hast keine archivierten Elemente.",
|
||||
"ignoredFolderUploadReason": "Einige Dateien in diesem Album werden beim Upload ignoriert, weil sie zuvor auf ente gelöscht wurden.",
|
||||
"ignoredFolderUploadReason": "Ein paar Dateien in diesem Album werden nicht hochgeladen, weil sie in der Vergangenheit schonmal aus Ente gelöscht wurden.",
|
||||
"resetIgnoredFiles": "Ignorierte Dateien zurücksetzen",
|
||||
"deviceFilesAutoUploading": "Dateien, die zu diesem Album hinzugefügt werden, werden automatisch zu ente hochgeladen.",
|
||||
"turnOnBackupForAutoUpload": "Aktiviere die Sicherung, um automatisch neu hinzugefügte Dateien dieses Ordners auf ente hochzuladen.",
|
||||
"deviceFilesAutoUploading": "Dateien, die zu diesem Album hinzugefügt werden, werden automatisch zu Ente hochgeladen.",
|
||||
"turnOnBackupForAutoUpload": "Aktiviere die Sicherung, um neue Dateien in diesem Ordner automatisch zu Ente hochzuladen.",
|
||||
"noHiddenPhotosOrVideos": "Keine versteckten Fotos oder Videos",
|
||||
"toHideAPhotoOrVideo": "Foto oder Video verstecken",
|
||||
"openTheItem": "• Element öffnen",
|
||||
@@ -834,6 +835,7 @@
|
||||
"close": "Schließen",
|
||||
"setAs": "Festlegen als",
|
||||
"fileSavedToGallery": "Datei in Galerie gespeichert",
|
||||
"filesSavedToGallery": "Dateien in Galerie gespeichert",
|
||||
"fileFailedToSaveToGallery": "Fehler beim Speichern der Datei in der Galerie",
|
||||
"download": "Herunterladen",
|
||||
"pressAndHoldToPlayVideo": "Gedrückt halten, um Video abzuspielen",
|
||||
@@ -885,7 +887,7 @@
|
||||
"@freeUpSpaceSaving": {
|
||||
"description": "Text to tell user how much space they can free up by deleting items from the device"
|
||||
},
|
||||
"freeUpAccessPostDelete": "Sie können immer noch {count, plural, one {darauf} other {auf sie}} auf ente zugreifen, solange Sie ein aktives Abonnement haben",
|
||||
"freeUpAccessPostDelete": "Du kannst immernoch über Ente {count, plural, one {darauf} other {auf sie}} zugreifen, solange du ein aktives Abo hast",
|
||||
"@freeUpAccessPostDelete": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
@@ -936,7 +938,7 @@
|
||||
"renameFile": "Datei umbenennen",
|
||||
"enterFileName": "Dateinamen eingeben",
|
||||
"filesDeleted": "Dateien gelöscht",
|
||||
"selectedFilesAreNotOnEnte": "Ausgewählte Dateien sind nicht auf ente",
|
||||
"selectedFilesAreNotOnEnte": "Ausgewählte Dateien sind nicht auf Ente",
|
||||
"thisActionCannotBeUndone": "Diese Aktion kann nicht rückgängig gemacht werden",
|
||||
"emptyTrash": "Papierkorb leeren?",
|
||||
"permDeleteWarning": "Alle Elemente im Papierkorb werden dauerhaft gelöscht\n\nDiese Aktion kann nicht rückgängig gemacht werden",
|
||||
@@ -945,7 +947,7 @@
|
||||
"permanentlyDeleteFromDevice": "Endgültig vom Gerät löschen?",
|
||||
"someOfTheFilesYouAreTryingToDeleteAre": "Einige der Dateien, die Sie löschen möchten, sind nur auf Ihrem Gerät verfügbar und können nicht wiederhergestellt werden, wenn sie gelöscht wurden",
|
||||
"theyWillBeDeletedFromAllAlbums": "Sie werden aus allen Alben gelöscht.",
|
||||
"someItemsAreInBothEnteAndYourDevice": "Einige Elemente sind sowohl auf ente als auch auf Ihrem Gerät.",
|
||||
"someItemsAreInBothEnteAndYourDevice": "Einige Elemente sind sowohl auf Ente als auch auf deinem Gerät.",
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved": "Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben.",
|
||||
"theseItemsWillBeDeletedFromYourDevice": "Diese Elemente werden von deinem Gerät gelöscht.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Etwas ist schiefgelaufen. Bitte versuche es später noch einmal. Sollte der Fehler weiter bestehen, kontaktiere unser Supportteam.",
|
||||
@@ -985,7 +987,7 @@
|
||||
"fileTypesAndNames": "Dateitypen und -namen",
|
||||
"location": "Standort",
|
||||
"moments": "Momente",
|
||||
"searchFaceEmptySection": "Finde alle Foto von einer Person",
|
||||
"searchFaceEmptySection": "Personen werden hier angezeigt, sobald die Indizierung abgeschlossen ist",
|
||||
"searchDatesEmptySection": "Suche nach Datum, Monat oder Jahr",
|
||||
"searchLocationEmptySection": "Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden",
|
||||
"searchPeopleEmptySection": "Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können",
|
||||
@@ -1040,7 +1042,7 @@
|
||||
"@storageUsageInfo": {
|
||||
"description": "Example: 1.2 GB of 2 GB used or 100 GB or 2TB used"
|
||||
},
|
||||
"freeStorageSpace": "{freeAmount} {storageUnit} kostenlos",
|
||||
"availableStorageSpace": "{freeAmount} {storageUnit} frei",
|
||||
"appVersion": "Version: {versionValue}",
|
||||
"verifyIDLabel": "Überprüfen",
|
||||
"fileInfoAddDescHint": "Beschreibung hinzufügen …",
|
||||
@@ -1051,7 +1053,7 @@
|
||||
},
|
||||
"setRadius": "Radius festlegen",
|
||||
"familyPlanPortalTitle": "Familie",
|
||||
"familyPlanOverview": "Fügen Sie 5 Familienmitglieder zu Ihrem bestehenden Abo hinzu, ohne extra zu bezahlen.\n\nJedes Mitglied erhält einen eigenen privaten Raum und kann die Dateien von anderen nicht sehen, wenn sie nicht freigegeben werden.\n\nFamilien-Abos sind für Kunden verfügbar, die ein kostenpflichtiges ente Abonnement haben.\n\nMelden Sie sich jetzt an, um loszulegen!",
|
||||
"familyPlanOverview": "Füge kostenlos 5 Familienmitglieder zu deinem bestehenden Abo hinzu.\n\nJedes Mitglied bekommt seinen eigenen privaten Bereich und kann die Dateien der anderen nur sehen, wenn sie geteilt werden.\n\nFamilien-Abos stehen Nutzern mit einem Bezahltarif zur Verfügung.\n\nMelde dich jetzt an, um loszulegen!",
|
||||
"androidBiometricHint": "Identität verifizieren",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -1129,7 +1131,7 @@
|
||||
"noAlbumsSharedByYouYet": "Noch keine Alben von dir geteilt",
|
||||
"sharedWithYou": "Mit dir geteilt",
|
||||
"sharedByYou": "Von dir geteilt",
|
||||
"inviteYourFriendsToEnte": "Lade deine Freunde zu ente ein",
|
||||
"inviteYourFriendsToEnte": "Lade deine Freunde zu Ente ein",
|
||||
"failedToDownloadVideo": "Herunterladen des Videos fehlgeschlagen",
|
||||
"hiding": "Verstecken...",
|
||||
"unhiding": "Einblenden...",
|
||||
@@ -1139,7 +1141,7 @@
|
||||
"addToHiddenAlbum": "Zum versteckten Album hinzufügen",
|
||||
"moveToHiddenAlbum": "Zu verstecktem Album verschieben",
|
||||
"fileTypes": "Dateitypen",
|
||||
"deleteConfirmDialogBody": "Dieses Konto ist mit anderen ente Apps verknüpft, sofern du diese benutzt.\\n\\nDeine hochgeladenen Daten werden zur permanenten Löschung freigegeben. Dies gilt für alle ente Apps.",
|
||||
"deleteConfirmDialogBody": "Dieses Konto ist mit anderen Ente-Apps verknüpft, falls du welche verwendest. Deine hochgeladenen Daten werden in allen Ente-Apps zur Löschung vorgemerkt und dein Konto wird endgültig gelöscht.",
|
||||
"hearUsWhereTitle": "Wie hast du von Ente erfahren? (optional)",
|
||||
"hearUsExplanation": "Wir tracken keine App-Installationen. Es würde uns jedoch helfen, wenn du uns mitteilst, wie du von uns erfahren hast!",
|
||||
"viewAddOnButton": "Zeige Add-ons",
|
||||
@@ -1169,6 +1171,7 @@
|
||||
}
|
||||
},
|
||||
"faces": "Gesichter",
|
||||
"people": "Personen",
|
||||
"contents": "Inhalte",
|
||||
"addNew": "Hinzufügen",
|
||||
"@addNew": {
|
||||
@@ -1185,10 +1188,8 @@
|
||||
"selectALocation": "Standort auswählen",
|
||||
"selectALocationFirst": "Wähle zuerst einen Standort",
|
||||
"changeLocationOfSelectedItems": "Standort der gewählten Elemente ändern?",
|
||||
"editsToLocationWillOnlyBeSeenWithinEnte": "Änderungen des Standorts werden nur in ente sichtbar sein",
|
||||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"cleanUncategorized": "Unkategorisiert leeren",
|
||||
"addAName": "Add a name",
|
||||
"findPeopleByName": "Find people quickly by searching by name",
|
||||
"cleanUncategorizedDescription": "Entferne alle Dateien von \"Unkategorisiert\" die in anderen Alben vorhanden sind",
|
||||
"waitingForVerification": "Warte auf Bestätigung...",
|
||||
"passkey": "Passkey",
|
||||
@@ -1202,16 +1203,37 @@
|
||||
"joinDiscord": "Discord beitreten",
|
||||
"locations": "Orte",
|
||||
"descriptions": "Beschreibungen",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
|
||||
"createCollaborativeLink": "Create collaborative link",
|
||||
"search": "Search",
|
||||
"enterPersonName": "Enter person name",
|
||||
"removePersonLabel": "Remove person label",
|
||||
"faceRecognition": "Face recognition",
|
||||
"faceRecognitionIndexingDescription": "Please note that this will result in a higher bandwidth and battery usage until all items are indexed.",
|
||||
"foundFaces": "Found faces",
|
||||
"clusteringProgress": "Clustering progress",
|
||||
"indexingIsPaused": "Indexing is paused, will automatically resume when device is ready"
|
||||
"addAName": "Füge einen Namen hinzu",
|
||||
"findPeopleByName": "Finde Personen schnell nach Namen",
|
||||
"addViewers": "{count, plural, one {Betrachter} other {Betrachter}} hinzufügen",
|
||||
"addCollaborators": "{count, plural, one {Teilnehmer} other {Teilnehmer}} hinzufügen",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Lange auf eine E-Mail drücken, um die Ende-zu-Ende-Verschlüsselung zu überprüfen.",
|
||||
"developerSettingsWarning": "Bist du sicher, dass du Entwicklereinstellungen bearbeiten willst?",
|
||||
"developerSettings": "Entwicklereinstellungen",
|
||||
"serverEndpoint": "Server Endpunkt",
|
||||
"invalidEndpoint": "Ungültiger Endpunkt",
|
||||
"invalidEndpointMessage": "Der eingegebene Endpunkt ist ungültig. Gib einen gültigen Endpunkt ein und versuch es nochmal.",
|
||||
"endpointUpdatedMessage": "Endpunkt erfolgreich geändert",
|
||||
"customEndpoint": "Verbunden mit {endpoint}",
|
||||
"createCollaborativeLink": "Gemeinschaftlichen Link erstellen",
|
||||
"search": "Suche",
|
||||
"enterPersonName": "Namen der Person eingeben",
|
||||
"removePersonLabel": "Personenetikett entfernen",
|
||||
"autoPairDesc": "Automatisches Verbinden funktioniert nur mit Geräten, die Chromecast unterstützen.",
|
||||
"manualPairDesc": "\"Mit PIN verbinden\" funktioniert mit jedem Bildschirm, auf dem du dein Album sehen möchtest.",
|
||||
"connectToDevice": "Mit Gerät verbinden",
|
||||
"autoCastDialogBody": "Verfügbare Cast-Geräte werden hier angezeigt.",
|
||||
"autoCastiOSPermission": "Stelle sicher, dass die Ente-App auf das lokale Netzwerk zugreifen darf. Das kannst du in den Einstellungen unter \"Datenschutz\".",
|
||||
"noDeviceFound": "Kein Gerät gefunden",
|
||||
"stopCastingTitle": "Übertragung beenden",
|
||||
"stopCastingBody": "Möchtest du die Übertragung beenden?",
|
||||
"castIPMismatchTitle": "Album konnte nicht auf den Bildschirm übertragen werden",
|
||||
"castIPMismatchBody": "Stelle sicher, dass du im selben Netzwerk bist wie der Fernseher.",
|
||||
"pairingComplete": "Verbunden",
|
||||
"autoPair": "Automatisch verbinden",
|
||||
"pairWithPin": "Mit PIN verbinden",
|
||||
"faceRecognition": "Gesichtserkennung",
|
||||
"foundFaces": "Gesichter gefunden",
|
||||
"clusteringProgress": "Fortschritt beim Clustering",
|
||||
"indexingIsPaused": "Die Indizierung ist unterbrochen. Sie wird automatisch fortgesetzt, wenn das Gerät bereit ist."
|
||||
}
|
||||